理论教育 APWM模式的工作原理和应用

APWM模式的工作原理和应用

时间:2023-06-15 理论教育 版权反馈
【摘要】:通过影子寄存器APRD和ACMP可以实现双缓冲。随着写入操作或CTR=PRD事件触发,影子寄存器的值就会立即传送到捕寄存器1和捕寄存器中。在APWM模式下,向捕获寄存器写入值,相应地也把同样的值写入到影子寄存器中。初始化时,必须写入激活的周期寄存器和比较寄存器,同时这些初始值也会写入到影子寄存器中。在以后的运行中更新比较器的数据时,仅仅更新影子寄存器即可。在APWM模式下的PWM波形如图8-7所示。

APWM模式的工作原理和应用

2个32位的数字比较器可以与时间标记计数器比较。

当捕获寄存器(CAP1/CAP2)不用捕获模式时,即在APWM模式,捕寄存器(CAP1/CAP2)的值用于周期值和比较值。

通过影子寄存器APRD和ACMP(CAP3/CAP4)可以实现双缓冲。随着写入操作或CTR=PRD事件触发,影子寄存器的值就会立即传送到捕寄存器1(CAP1)和捕寄存器(CAP2)中。

在APWM模式下,向捕获寄存器(CAP1/CAP2)写入值,相应地也把同样的值写入到影子寄存器(CAP3/CAP4)中。这种模式就像立即模式一样,向捕获寄存器(CAP3/CAP4)写入会唤醒影子寄存器模式。

初始化时,必须写入激活的周期寄存器和比较寄存器,同时这些初始值也会写入到影子寄存器中。在以后的运行中更新比较器的数据时,仅仅更新影子寄存器即可。在APWM模式下的PWM波形如图8-7所示。

978-7-111-57271-8-Chapter08-6.jpg

图8-6 捕获模块的中断

978-7-111-57271-8-Chapter08-7.jpg

图8-7 在APWM模式运行的PWM波形

在APWM模式下,要激活高电平输出(APWMPOL=0)需按下述编程方式实现:

CMP=0x0000 0000 持续输出低电平(0%占空比

CMP=0x0000 0001 输出高电平1个时钟周期

CMP=0x0000 0002 输出高电平2个时钟周期(www.daowen.com)

CMP=PERIOD 输出高电平超过1个时钟周期(<100%占空比)

CMP=PERIOD+1 全周期输出高电平(100%占空比)

CMP>PERIOD+1 全周期输出高电平

在APWM模式下,要激活低电平输出(APWMPOL=1)需要下述编程方式实现:

CMP=0x0000 0000 持续输出高电平(0%占空比)

CMP=0x0000 0001 输出低电平1个时钟周期

CMP=0x0000 0002 输出低电平2个时钟周期

CMP=PERIOD 输出低电平超过1个时钟周期(<100%占空比)

CMP=PERIOD+1 全周期输出低电平(100%占空比)

CMP>PERIOD+1 全周期输出低电平

例,对于信号上升沿触发计数器的时间测量方法。图8-8所示为捕获模块工作在连续捕获模式下的例子。在该图中,没有复位且捕获事件不满足边沿要求时,时间标记计数器(TSCTR)增计数,这样就能测出信号周期。

在捕获事件中,时间标记计数器(TSCTR)的内容首先被捕获,随后Mod4计数器进入下一个状态。当时间标记计数器(TSCTR)达到0xFFFF FFFF时,计数器变为0x0000 0000,然后置位CTROVF标志位,接着中断产生;捕获的时间标记此时是有效的,第4个事件发生后,CEVT4触发中断,CPU很容易从捕获寄存器中读取数据。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈