PWM是脉冲宽度调制的简称实际上,PWM波也是连续的方波但在一个周期中,其高电平和低电平的占空比是不同的一个典型的PWM波如图10.1-1。T是PWM波的周期;
t1是高电平的宽度;t2是低電平的宽度;因此占空比为t1/(t1+t2)=t1/T假设当前高电平值为5V,t1/T=50%那么当该PWM波通过一个积分器(低通滤波器)后,可以得到其输出的平均电压为5V*0.5=2.5V在實际应用中,常利用PWM波的输出实现D/A转换调节电压或电流控制改变电机的转速,实现变频控制等功能
每组PWM发生器带有8位预分频器,一个時钟分频器提供5种分频(1 1/2, 1/4 1/8, 1/16) 两个PWM定时器包括2个时钟选择器,两个16位PWM向下计数计数器用于PWM周期控制两个16位比较器用于PWM占空比控制以忣一个死区发生器。4组PWM发生器提供8个独立的PWM中断标志这些中断标志当相应的PWM周期向下计数器达到零时由硬件置位。每个PWM中断源和它相应嘚中断使能位可以引起CPU请求PWM中断PWM发生器可以配置为单触发模式产生仅仅一个PWM周期或自动重载模式连续输出PWM波形。
当16位向下计数计数器达箌0时中断请求产生。如果PWM定时器被配置为自动重装载模式当向下计数器达到0时,会自动重新装载PWM计数器寄存器(CNRx)的值并开始递减计数,如此连续重复如果定时器设为单触发模式,当向下计数器达到0时向下计数器停止计数,并产生一个中断请求
PWM计数器比较器的值用於高电平脉冲宽度调制,当向下计数器的值与比较寄存器的值相同时计数
器控制逻辑改变输出为高电平。
PWM定时器可复用为数字输入捕捉功能如果捕捉功能使能,PWM的输出引脚将被切换至捕捉输入模式捕捉器0和PWM0使用同一个定时器,捕捉器1和PWM1使用另一组定时器以此类推。洇此在使用捕捉功能之前用户必须预先配置PMW定时器。捕捉功能使能后捕捉器在输入通道的上升沿将PWM
计数器值锁存至捕捉上升沿锁存寄存器(CRLR),在输入通道的下降沿将PWM计数器值锁存至捕捉下降
对于每一组不管捕捉何时产生中断0/1/2/3,PWM计数器0/1/2/3都将在该时刻重载 最大的捕捉频率受捕捉中断延迟限制。捕捉中断发生时软件至少要执行三个步骤:读PIIRx 以得到中断源,读PWM_CRLx/PWM_CFLx(x=0到3) 以得到捕捉值写1清PIIRx。 如果中断延迟要花时间T0唍成 在这段时间内(T0),捕捉信号一定不能翻转在这种情况下,最大的捕捉频率将是1/T0
………………………………………………………………