paradoxfx

【原创】TI C2833x介绍---ePWM(12)

0
阅读(4992)

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管脚状态。