PWM信号发生模块的设计思路

时间:2008-11-24

  多功能波形信号发生模块程序设计  PIC单片机的CPP模块工作在PWM方式下时,可以产生宽度和周期均可编程决定的PWM波形。PlC16F877单片 机内部集成两个CPP(捕捉/比较/脉宽调试PWM)模块,当它工作在PWM方式下时,具有两个脉冲宽度调制输 出通道。

  当CCP1工作在PWM方式下时,RC2/CCP1引脚上可以输出分辨率为8bit或1 Obit的PWM波形,此时必须将 TRJSC寄存器中的bit2清0,以设置RC2/CCP1引脚为输出状态。

  1.PWM模式结构、波形

  PWM模式的结构框图如图1所示。

  PWM输出波形有两个参数:周期和工作周期,如图2所示。

                               
图1 PWM模式结构框图                                                                                                     图2 PWM输出波形的两个参数

  PWM周期由周期寄存器PR2决定,计算公式为:

  可以看出,通过控制PR2寄存器的值,就可以控制输出的PWM波形的频率。在操作过程中,当TMR2等于PR2时 ,在下一个增量周期会将TMR2清0、CCP1置位并将PWM工作周期从CCPRIL锁存到CCPRIH。

  2.寄存器

  10位分辨率的PWM工作周期由寄存器CCPRIL值的8bit(高8位)和控制寄存器CCPICON的bit5、bit4两位( 低2位)组成,即10bit表示为CCPRIL:CCPICON(bit5、bit4)。

  PWM工作周期为(CCPRIL∶CCPICON(bit5~bit4)×Tosc×(TMR2预分频数))

  在PR2一定的情况下,通过控制CCPRIL寄存器和CCPICON控制器的bit5、bit4的值,就可以控制输出的PWM波形的占空比。

  在操作过程中,CCPRIL∶CCPICON(bit5、bit4)的值可以在任何时间写入,但不能马上锁存到CCPRIH,只有等到周期完成,PR2和TMR2相等,在下一个周期才能采用新设置的值。在PWM模式,CCPRIH为只读寄存器。

  CCPRIH寄存器和一个两位的内部锁存器用来双倍缓冲PWM工作周期,这种双缓冲对去干扰是必要的。当CCPRIH和两位锁存值与TMR2相等时,CCP1引脚复位,但当PWM工作周期的赋值大于PWM周期时,CCP1保持高电平。

  对给定的一个PWM频率,的PWM分辨率(位)可以用如下公式计算:


图3 CCP1CON/CCP2CON寄存器

  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:直流无刷电机的换相和PWM信号的分配
下一篇:I2C总线的程序设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料