T/C0的应用(三)
发表:2023-08-29 12:02:19 阅读:37

T/C0的应用(三)

4)相位修正PWM模式

相位修正PWM模式(WGM01:0=1)为用户提供了一个获得高精度相位修正PWM波形的方法。此模式基于双斜波操作。计数器重复地从BOTTOM计数到MAX,然后又从MAX倒退回到BOTTOM。在一般的比较输出模式下,当计数器往MAX计数时若发生了TCNT0与OCR0的匹配,0C0将清零为低电平;而在计数器往BOTTOM计数时若发生了TCNT0与OCR0的匹配,0C0将置位为高电平。工作于反向输出比较时,则正好相反。与单斜波操作相比,双斜波操作可获得的最大频率要小。但由于其对称的特性,十分适合于电机控制。

相位修正PWM模式的PWM精度固定为8比特。计数器不断地累加直到MAX,然后开始减计数。在一个定时器时钟周期里TCNT0的值等于MAX。时序如图2—28所示。图中TCNTn的数值用斜线图表示,以说明双斜线操作。本图同时说明了普通PWM的输出和反向PWM的输出。TCNTn斜线上的小横条表示OCR0和TCNT0的匹配。

当计数器达到BOTTOM时,T/C溢出标志位TOV0置位。此标志位可用来产生中断。工作于相位修正PWM模式时,比较单元可以在OC0引脚产生PWM波形:将COM01:0设置为2,产生普通相位的PWM;设置COM0 1:0为3,产生反向PWM信号。实际的0C0数值只有在端1:3设置为输出时才可以在引脚上出现。0CR0和TCNT0比较匹配发生时.0C0寄存器将产生相应的清零或置位操作,从而产生PWM波形。工作于相位修正模式时PWM频率可由下式公式获得:

式中,变量N表示预分频因子(1、8、32、64、1 28、2 5 6或1 024)。

OCR0寄存器处于极值代表了相位修正PWM模式的一些特殊情况。在普通PWM模式下,若OCR0等于BOTTOM,输出一直保持为低电平;若OCR0等于MAX,则输出保持为高电平。反向PWM模式则正好相反。

图2—28中的第2个时钟周期中,即使没有比较匹配,0Cn电平也会由高变低,这样保证关于BOTTOM对称。在以下两种情况下没有比较匹配时电平发生变化:

>若如0CROA值由MAX改变。降序比较匹配时,当0CROA值为MAX时,0Cn引脚的值也一样;为保证关于BOTTOM对称,在升序比较匹配时,0Cn值为MAX时电平变化

>定时器开始计数的值大于OCROA中的值,因此少一次比较匹配,且在达到上限时OCn改变.

 

电子街】推荐阅读:

 

8位T/C0的计数单元

8位T/C0相关寄存器(一)

8位T/C0相关寄存器(二)

T/C0的应用(一)

T/C0的应用(二)