第四章 ePWM模块
- 格式:ppt
- 大小:1.39 MB
- 文档页数:43


PWM模块原理及使用F28027有8路PWM(四个模块),4路HRPWM,特别对设计高精度电源提供了方便,每个PWM模块中又包括以下几个子模块:时基(Time-base)模块、计数比较(Counter-compare)模块、功能限定(Action-qualifier)模块、死区控制(Dead-band)模块、斩波(PWM-chopper)模块、事件触发(Event-trigger)(不知道这样翻译恰当否)模块、数字比较(Digital Compare)模块、制动(Trip-zone)模块。
从这些模块的命名上看,用它来做个电源,是再恰当不过的了。
一、时基子模块(TB)每一个ePWM模块,都有自己的TB,它产生PWM的所有定时事件,且有同步逻辑,可以使多个PWM模块有序工作。
TBPRD:PWM的计数周期寄存器。
TBPHS:相位控制寄存器,在多个PWM模块级联时,可以控制每路输出的相位。
当时基模块的同步脉冲到来时,使计数器从TBPHS设置的值开始计数(丢弃当前计数值)。
TBCTL:TB的控制寄存器,可以对相位方向(只在up-down时有用)控制,决定是上计数时同步(PHSDIR=1)还是下计数时同步(PHSDIR=0);决定TB 输入时钟的分频系数;向下一级输出的同步脉冲的输出方式;计数值重装方式、计数方式、同步允许等控制。
TBCTR:计数寄存器。
TB模块的当前计数值。
TBSTS:TB的状态寄存器。
二、计数比较子模块(CC)此模块实现与TB的比较及控制。
产生CMPA、CMPB比较事件;控制PWM 的占空比。
CMPCTL:计数比较控制寄存器。
决定是否使用影子寄存器及计数值的重装方法。
CMPA:计数比较值设定寄存器ACMPAM:CMPA的影子寄存器。
CMPB:计数比较值设定寄存器B三、功能限定子模块(AQ)这个子模块主要对TB及CC模块产生的事件,作出相应的响应,如计数器到达设定同期时、到达0时、到达CMPA时、到达CMPB时,相应的EPWMxA、EPWMxB的输出状态。
F28335 ePWM模块使用总结28335 ePWM模块总结如下:1、ePWM模块总共有7个模块:(1)时间基准模块----------TB(2)计数器比较模块----------CC(3)动作限定模块----------AQ(4)死区控制模块----------DB(5)PWM斩波模块----------PC(6)错误控制模块----------TZ(7)事件触发模块----------EZ每个模块各自作用如下:TB :为输出PWM产生时钟基准TBCLK,配置PWM的时钟基准计数器TBCTR,设置计数器的计数模式,配置硬件或软件同步时钟基准计数器,确定ePWM同步信号输出源;CC:确定PWM占空比,以及ePWM输出高低电平切换时间;AQ:确定计数器和比较寄存器匹配时产生动作,即ePWM 高低电平的切换;DB:配置输出PWM上升沿或下降沿延时时间,也可以将A、B两通道配置成互补模式,我做的逆变器就是将ePWM配置成互补模式。
死区时间可以编程确定;PC:产生高频PWM载波信号;TZ:当外部有错误信号产生时,对PWM输出进行相应处理,比如全置高,或拉低,或置为高阻态,从而起到保护作用。
当然该功能也可以通过软件强制产生;EZ:使能ePWM中断,使能ePWM触发ADC采样,确定事件产生触发的速度和清除相关事件标志位。
ePWM模块的7个模块就像一条生产线,一级一级的经过,但DSP更高级,可以实现通过配置,使得ePWM 只经过我选择的生产线,没有被选择上的就不要经过。
例如,死区控制模块可以需要也可以不需要,这就看实际系统需不需要了。
在实际使用ePWM时,正常的发出PWM波往往只要要配置TB、CC、AQ、DB、ET五个模块。
2、试着阅读28335 各模块的英文资料,其实这些资料里面,详细的介绍了各模块的使用方法和原理,以及各模块所涉及到的寄存器的详细配置,“擒贼先擒王”,虽然英文资料阅读起来比较费劲,但打开Google,相信一般的都可以搞定,在结合自己的理解,会产生意想不到的收获。