【原创】TI C2833x介绍---ePWM(12)
0赞ePWM动作限定子模块AQ除了两个控制寄存器之外,还有软件强制寄存器AQSFRC、连续软件强制寄存器AQCSFRC。名字里只有一个“连续”的差别,那它们都是实际功能有什么区别呢?先看寄存器内容:
软件强制寄存器AQSFR各位的含义是:
15~8 |
保留 |
保留 |
7~6 |
RLDCSF |
AQCSFRC当前寄存器从映射寄存器中加载数据 00:在CTR=0时加载 01:在CTR=PRD时加载 10:即在CTR=0时加载,也在CTR=PRD时加载 11:立即模式 |
5 |
OTSFB |
对输出B的一次性强制事件 0:写0无反应,读则始终返回0 1:发起一次软件强制事件 注:当一次写操作完成后,此位将自动清零 |
4~3 |
ACTSFB |
定义当输出B的软件强制事件发生时,EPWMxB的状态变化 00:无动作 01:置位低电平 10:置位高电平 11:翻转当前状态 注:与计数器的方向无关 |
2 |
OTSFA |
对输出A的一次性强制事件 0:写0无反应,读则始终返回0 1:发起一次软件强制事件 注:当一次写操作完成后,此位将自动清零 |
1~0 |
ACTSFA |
定义当输出A的软件强制事件发生时,EPWMxA的状态变化 00:无动作 01:置位低电平 10:置位高电平 11:翻转当前状态 注:与计数器的方向无关 |
而连续软件强制寄存器AQCSFRC各位的含义是:
15~4 |
保留 |
保留 |
3~2 |
CSFB |
输出B的连续软件强制触发控制 在立即模式下,强制动作发生在下个TBCLK的边沿;在映射模式下,强制动作发生在装载后的下个TBCLK边沿,可用AQSFRC[RLDCSF]位控制是否使用映射模式 00:无动作 01:连续强制EPWMxB为低电平 10:连续强制EPWMxB为高电平 10:软件强制禁止,无动作 |
1~0 |
CSFA |
输出A的连续软件强制触发控制 在立即模式下,强制动作发生在下个TBCLK的边沿;在映射模式下,强制动作发生在装载后的下个TBCLK边沿,可用AQSFRC[RLDCSF]位控制是否使用映射模式 00:无动作 01:连续强制EPWMxA为低电平 10:连续强制EPWMxA为高电平 10:软件强制禁止,无动作 |
可以看出,AQSFR在特定时间发生时,对PWM管脚的状态变化是一次性的,而AQCSFRC是连续强制的。几年前使用ePWM的时候,一开始没有注意到“连续”这个词,结果怎么也无法根据特定事件来连续保持强制的ePWM管脚状态。