paradoxfx

【原创】TI C2833x介绍---系统的初始化(12)

写-读保护模式:假设现在我们需要进行下面这样的操作:首先,向一个外设的寄存器写入值(例如写入控制寄存器);然后,从同一个外设的另一个寄存器读出值(例如读状态寄存器的值),如果CPU按照通常的流水线模式来执行,则首先执行读操作,然后再执行写操作,这与

【原创】TI C2833x介绍---系统的初始化(11)

既然系统存在空闲(idle)、待机(standby)、暂停(halt)这三种低功耗模式,那就存在低功耗模式与正常运行模式之间的切换。从低功耗模式下唤醒并切换到正常模式,一般情况下需要使用中断或者复位来进行,总结如下:表1各种低功耗模式的唤醒中断方法

【原创】TI C2833x介绍---系统的初始化(10)

低功耗模式,即lowpowermode,在一般情况下使用仿真器去链接DSP并下载调试的时候,我们貌似很少会关注到它;许多人第一次看到这个字眼,一般是在仿真器连不上DSP的时候(特别是在DSP芯片被损坏之后),会看到xxxxfault,thedevicemaybeinlowpowermode这样的话,往

【原创】TI C2833x介绍---系统的初始化(9)

为了I/O管脚能正常、正确地识别输入的信号,需要有一定的类似滤波的功能,即GPIO的输入限制功能,其示意图如图1所示,有一点D触发器的意思。因为管脚都是有电容的,所以在输入信号从外部接到DSP管脚上时,信号的微弱变化反映在电容的充放电上面,有时一点微小的干

【原创】TI C2833x介绍---系统的初始化(8)

步骤7:选择外部中断源这个步骤主要是配置GPIO管脚来接收外部中断事件的;比如某个GPIO管脚上接收到一个上升沿的故障信号时,立即触发故障保护中断服务子程序,完成PWM封锁、系统停机、反馈故障信息等动作。中断源可以是XINT1-XINT7以及XNMI,端口A可以配置XNMI以及XINT

【原创】TI C2833x介绍---系统的初始化(7)

步骤3:控制输入信号的限制寄存器在GPIO管脚被配置被输入管脚之后,可以根据需要对它们设置输入限制功能,主要由GPACTRL,GPBCTRL,GPAQSEL1,GPAQSEL2,GPBQSEL1与GPBQSEL2这些寄存器来控制。默认情况下,所有的GPIO管脚上的输入信号只与SYSCLKOUT同步。对于一些外设用到的

【原创】TI C2833x介绍---系统的初始化(6)

GPIO的配置相对EPWM这样功能繁多的寄存器来说,是比较简单的了,只要严格按照下面的流程一步一步来,就可以正确工作了。步骤1:规划引脚,即提前考虑好哪个引脚用来做什么。因为大多数GPIO引脚都可以复用为多达4种功能,在提供了强大的灵活性的东西也在一定程度上增加了

【原创】TI C2833x介绍---系统的初始化(5)

通用用途的数字I/O,即通常所提到的GPIO,一般情况下,它们既可以配置为输出管脚,也可以配置为输入管脚,或者置为一种高阻状态;一些复用的管脚还可以配置为供片上外设使用的功能管脚作为外设的输入或者输出。在从F281x过渡到F2833x之后,GPIO管脚的复用功能大大

【原创】TI C2833x介绍---系统的初始化(4)

在系统上电或者复位之后,看门狗计数器的寄存器立即开始计数,所以在150MHz的CPU频率运行时,最迟要在4.37ms之内清除看门狗计数器(或者叫通常所谓的“喂狗”)。这4.37ms的计算是方法是:150MHz的时钟频率相当于6.67ns,看门狗计数器是16位的,从0开始

【原创】TI C2833x介绍---系统的初始化(3)

看门狗计数器在程序运行的正常、可控时,我们是不需要使用看门狗这种机制的,因为程序可以按照我们设定的流程不停的执行。然而,在有外界干扰发生的情况下,比如电压突然的距离波动、芯片周边环境剧烈的EMI干扰(经常可以看到的在DSP运行时,不太注意的人用手指去摸一下

【原创】TI C2833x介绍---系统的初始化(2)

整个时钟电路的原理框图如图所示。图1时钟电路的原理框图在使用有源晶振作为外部的时钟源时,DSP片内的晶体振荡电路会被旁路,外部的时钟信号有XCLKIN管脚输入DSP。看门狗定时器取OSCCLK信号作为其输入。C28x的内核会将输入的CLKIN信号转换为SYSCLKOUT信号(这就

【原创】TI C2833x介绍---系统的初始化(1)

一个C2833x系统的初始化,主要包括这样几个方面:(1)基于OSC(晶振)或者PLL的系统的时钟模块(2)看门狗定时器的初始化(3)通用数字I/O,即通常简称的GPIO的初始化(4) 

【原创】TI C2833x介绍---复位与中断(14)

从中断事件产生,到CPU响应并开始执行中断程序ISR内的指令,需要以下几个周期的延时,如图所示:可以计算出,Ø在响应内部中断的情况下:最少需要14个时钟周期Ø在响应外部中断的情况下:最少需要16个时钟周期Ø如果程序在外

【原创】TI C2833x介绍---复位与中断(13)

中断的响应需要CPU的硬件操作,显然要经过多步操作是无法在一个时钟周期内完成的,所以就存在一定的延时。首先看一下CPU处理中断时进行的操作;这里的前提是中断配置正确且正确触发,中断标志位已经置位、需要CPU做出响应了。CPU的动作描述寄存器压入堆栈14个寄存

【原创】TI C2833x介绍---复位与中断(12)

因为PIEIERx寄存器决定了程序会跳转到哪个向量,所以在清除PIEIERx里面的位时必须仔细确认操作按照前面两次提到的步骤来,否则在中断求取已经送入CPU之后再修改PIEIERx寄存器时,若没有其余的中断请求被使能,将导致进入TRAP中断,否则将进入那个被使能并等待响应的中断
Baidu
map