1.pwm定义及应用条件
pwm:脉冲宽度调制
应用条件:具有惯性的系统,例如LED灯,电机等,因为具有惯性的系统当高低电平发生变化后的响应比较缓慢(个人理解),例如通过pwm控制LED等的快速开关,即可达到呼吸灯的效果,控制电机快速开关即可使电机稳定在一定的转速。
2.pwm的参数
频率=1/Ts 占空比=Ton/Ts 分辨率=占空比变化步距
3.与pwm有关的单片机寄存器
CNT:计数器,用于记录定时器的记录值
CCR:捕获/比较寄存器(Capture/Compare Register),用于设置PWM信号的占空比。具体来说,CCR值决定了PWM信号高电平的时间长度,从而影响电机的速度和扭矩。
当定时器的计数器(CNT)值与CCR值进行比较时,可以根据比较结果来改变输出引脚的电平状态,实现PWM波形的输出。例如,在PWM模式1中,当CNT值小于CCR值时,输出为高电平(有效电平);当CNT值大于或等于CCR值时,输出为低电平(无效电平)。这样,通过调整CCR的值,就可以调整PWM信号的占空比,进而控制电机的速度。
ARR:自动重装载寄存器,当CNT的值达到ARR所设定的值时,CNT会重置为0并重新开始记数。
PSC:预分频器,用于降低输入时钟频率,通过设置PSC寄存器,可以得到CK_CNT的频率,例如,若内部时钟频率为72MHz,PSC的值设为7199,那么CK_CNT的频率的频率为(72MHz / (7200)) = 10kHz。
如图所示,CNT为蓝色线,CCR设定为30,ARR设定为99,随时间变化,第一段CNT<CCR,输出高电平;当CNT大于30后,输出低电平。pwm的周期对应CNT的溢出更新周期,也就是从0到99。
PWM频率: Freq = CK_PSC / (PSC + 1) / (ARR + 1)
PWM占空比: Duty = CCR / (ARR + 1) = 30/100=30%
PWM分辨率: Reso = 1 / (ARR + 1) = 1/100=1%
REF:参考信号,用于控制PWM波形的输出,REF信号的产生过程如下:
- 定时器的计数器(CNT)不断计数,并且与捕获比较寄存器(CCR)的值进行比较。
- 当CNT的值小于CCR时,输出为低电平;当CNT的值大于或等于CCR时,输出为高电平。
- 当CNT的值达到自动重装载寄存器(ARR)的值时,CNT会重置为0,重新开始计数,这个过程会产生一个周期性的PWM波形。
- 输出模式控制器(Output Mode Controller)会根据CNT与CCR的比较结果改变输出OC1REF的高低电平,这个OC1REF就是REF信号。