脉宽调制(PWM)开关驱动

脉宽调制(PWM)开关驱动

对于某些依赖于输入的有效驱动电压来控制执行效果的执行器,广泛地使用PWM开关驱动。PWM(Pulse Width Modulation)是脉宽调制的英文缩写。它使用一个固定幅值且频率保持一定的脉冲输出,通过调节脉宽的方式调节高电位时段在整个时间区段中的比例(称为占空比),使输出电压的有效值得到改变。这种驱动控制在硬件实现上非常简单,最适于数字电路的输出驱动。实际应用这种驱动方式时,必须注意选取的工作频率应与被驱动元件的惯性大小相适应。基本的原则是:惯性较小的元件,应选取较高的工作频率。工作频率如果足够高,被驱动元件由于运动惯性,全完无法跟随电流瞬间改变而运动,只能按电流有效值表达出的平均驱动力而运动。

pwm的频率:

是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);也就是说一秒钟PWM有多少个周期

单位:Hz

表示方式:50Hz 100Hz

pwm的周期:

T=1/f

周期=1/频率

50Hz = 20ms 一个周期

如果频率为50Hz ,也就是说一个周期是20ms 那么一秒钟就有 50次PWM周期

占空比:是一个脉冲周期内,高电平的时间与整个周期时间的比例

单位:% (0%-100%)

表示方式:20%

脉宽调制(PWM)开关驱动_第1张图片

参考学习链接:pwm一个时间单位_详解PWM原理、频率与占空比

脉宽调制(PWM)开关驱动_第2张图片

PWM模块结构组成和特点

MC9S12DG128单片机内置的PWM模块框图如下图所示:

脉宽调制(PWM)开关驱动_第3张图片

MC9S12DG128的PWM模块具有8路8位独立PWM通道,通过相应设置也可以变为4个16位PWM通道,每个PWM通道由独立运行的8位脉冲计数器PWMCNT、两个比较寄存器PWMPER和PWMDTY等组成。通过对各寄存器的参数设置,确定PWM波形的输出周期和占空比,另外还可以通过极性寄存器PWMPOL和对齐方式选择寄存器PWMCAE设置PWM波形输入的极性和对齐方式。

PWM模块具有以下基本特征:
1.具有可编程周期和占空比的8个独立PWM通道;
2.每个PWM通道具有独立的计数器;
3.每个通道可编程允许/禁止PWM功能;
4.每个通道可软件选择PWM脉冲极性;
5.具有双缓冲的周期和占空比寄存器,当到达有效周期终点(PWM到达0)或通道禁止时,修改值生效;
6.每个通道可编程中心对齐或左对齐输出;
7.8个8位通道或4个16位通道PWM分辨率;
8.4个时钟源(A、B、SA和SB)提供宽频带频率;
9.可编程的时钟选择逻辑;
10.紧急关闭;

PWM模块寄存器及设置

MC9S12DG128的PWM模块共有37个寄存器。

PWM允许寄存器

PWM允许寄存器(PWM Enable Register,PWME)中的每个控制位对应相应的PWM通道,可以通过设置相应的控制位启动或者停止PWM信号输出。当任意一个PWMEx位被置位(PWMEx=1)时,相应的PWM信号产生输出。但是,由于PWMEx需要与时钟源同步,直到PWM模块时钟的下一个周期到来,才能输出正确的PWM波形。

当处于级联模式时,8个8位PWM通道通过两两级联构成4个16位的PWM通道,此时PWME1、PWME3、PWME5和PWME7对应控制4个16位PWM通道,而其他控制位无效。

脉宽调制(PWM)开关驱动_第4张图片

PWM极性寄存器

每个PWM通道波形开始的极性由PWMPOL寄存器中的相应PPOLx位决定,如果极性选择位是1,周期开始时PWM通道输出高电平,当通道计数器数值等于占空比计数值时翻转为低电平;相反,如果极性选择位是0,周期开始时PWM通道输出低电平,当通道计数器数值等于占空比计数值时翻转为高电平,PWM极性寄存器(PWM Polarity Register,PWMPOL)如图所示。

脉宽调制(PWM)开关驱动_第5张图片

读:任何时刻;写:任何时刻。
注意:PPOLx寄存器的位可以在任何时刻写入。如果正在产生PWM信号时改变极性,在转换过程中可能截短或延长输出脉冲。
PPOLx:PWM通道x输出波形极性。

  1. 1=PWM通道x在周期开始时输出高电平,当到达占空比计数值时翻转为低电平;
  2. 0=PWM通道x在周期开始时输出低电平,当到达占空比计数值时翻转为高电平;

PWM时钟选择寄存器

每一个PWM通道可以选择两个时钟作为该通道的时钟源。PWM时钟选择寄存器(PWM Clock Select Register,PWMCLK)如图所示。

脉宽调制(PWM)开关驱动_第6张图片

读:任何时刻;写:任何时刻。
注意:PCLKx寄存器的位可以在任何时刻写入。如果正在产生PWM信号时改变极性,在转换过程中可能截短或延长输出脉冲。

PCLK7、PCLK6、PCLK3、PCLK2:PWM通道7、6、3、2时钟选择位。

  1. 1表示Clock SB作为相应通道时钟源;
  2. 0表示Clock B作为相应通道时钟源。

PCLK5、PCLK4、PCLK1、PCLK0:PWM通道5、4、1、0时钟选择位。
3. 1表示Clock SA作为相应通道时钟源;
4. 0表示Clock A作为相应通道时钟源。

脉宽调制(PWM)开关驱动_第7张图片

你可能感兴趣的:(1024程序员节)