TMS302X281x的事件管理器
TMS302X281x的事件管理器为用户提供了众多的功能,使其在电机控制、变频器、逆变器等应用场合中显得特别有用,X281x的事件管理器模块包括通用定时器、全比较/PWM单元、捕获单元以及正交编码脉冲电路
X281x系列DSP具有两个事件管理器模块EvA和EvB,事件管理器的英文名为Event Manager,简称Ev;这两个事件管理器具有完全相同的功能,只是各个单元的名称因为EvA和EvB而有所区别
通用定时器
每个事件管理器都有两个16位通用定时器;EvA具有通用定时器T1和通用定时器T2,EvB具有通用定时器T3和通用定时器T4;每个通用定时器都可以独立使用,也可以两两配合使用,如T1和T2或者T3和T4可以同步,通用定时器的作用主要有下面三个:
- 计时
- 使用定时器产生PWM波,从而控制电机等
- 给事件管理器的其它子模块提供基准时钟,如比较单元,PWM输出
上面这张定时器框图所提供的信息很多,下面以T1为例:
- 和T1相关的常用寄存器:16位的T1周期寄存器T1PR;16位的T1比较寄存器T1CMPR;16位的T1计数寄存器T1CNT;16位的T1控制寄存器T1CON;16位的通用定时器控制寄存器GPTCONA
- 定时器T1常见的输入信号:来自CPU的内部时钟HSPCLK,之前进行过详细的讲解与配置;来自外部时钟输入TCLKINA,最大频率为器件自身时钟频率的1/4,如果按照SYSCLKOUT=150MHz配置的话,也就是不能超过37.5MHz;定时器计数方向输入TDIRA,用于定时器工作于何种计数方式;复位信号RESET
- 定时器T1的输出信号:定时器的比较输出T1PWM_T1CMP,可以输出PWM波;送给ADC模块的ADC转换启动信号;下溢、上溢、比较和周期匹配信号
T1PR是T1的周期寄存器,用于存放T1设置的定时器周期值;T1CMPR是T1的比较寄存器,用于存放T1设置的比较值,通常这两个寄存器在初始化配置的时候就进行了赋值操作,此后就成了T1的一个参考标准。T1CNT是T1的计数器寄存器,其值随着时钟脉冲不断增加或者减少,每过一个定时器时钟脉冲,T1CNT的值就会增加或者减少1.CPu会实时地将T1CNT和T1CMPR、T1PR的值进行比较从而产生一些事件如T1CNT的值和T1CMPR的值相等时就会产生周期匹配事件,进而产生比较中断或者PWM波等;当T1CNT的值和T1PR的值相等时就会产生周期匹配事件。除了上面这些,还有几个阴影寄存器,其作用可以简单理解为使用户可以在一个定时器周期的任何时刻向T1CMPR和T1PR写入新的值,具体可以查看定时器控制寄存器的TCLD位定义