2.1 时基模块TB
(1)时基模块的功能
(2)时基模块的关键信号和寄存器
给出时基模块内部结构图来了解里面的关键信号和寄存器,时基模块内部结构图如下所示:
(3)计算ePWM 周期和频率
1、向上-向下计数模式(先递增后递减)
2、向上计数模式(递增)
3、向下计数模式(递减)
(4)影子寄存器
2.2 计数比较模块CC
(1)计数器比较模块 CC 的功能
(2)计数器比较模块 CC 的关键信号与寄存器
2.3 动作限定模块AQ
(1)动作限定模块功能
(2)动作限定模块关键信号与寄存器
(3) 动作限定模块事件优先级
最高同样是软件强制,最低是计数器等于周期寄存器的值匹配事件。
(4)动作限定模块一般配置条件下的输出波形
注意:
①PWM 周期=(TBPRD+1)*T(TBCLK)
②CMPA 决定 ePWMxA 的占空比,CMPB 决定 ePWMxB 占空比。
下面是该输出波形相关配置代码:
EPwm6Regs.TBPRD = tbprd;//设定 PWM 周期为 tbprd+1 个 TBCLK 时钟周期
EPwm6Regs.CMPA.half.CMPA = 350;//比较器 A 的值为 350
EPwm6Regs.CMPB = 200;//比较器 B 的值为 200
EPwm6Regs.TBPHS.half.TBPHS = 0;//相位寄存器清零
EPwm6Regs.TBCTR = 0x0000;//时基计数器清零
EPwm6Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP;//设定为增计数模式
EPwm6Regs.TBCTL.bit.PHSEN = TB_DISABLE;//禁止相位控制
EPwm6Regs.TBCTL.bit.PRDLD = TB_SHADOW;//TBPRD 寄存器采用影子寄存器模式
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE;//禁止同步信号
EPwm6Regs.TBCTL.bit.HSPCLKDIV=TB_DIV1;//设定 TBCLK=SYSCLK 时基时钟=系统时钟
EPwm6Regs.TBCTL.bit.CLKDIV=TB_DIV1;
EPwm6Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;//设定 CMPA 为影子寄存器 模式
EPwm6Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm6Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;//在 CTR=Zero 时装载
EPwm6Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
EPwm6Regs.AQCTLA.bit.ZRO = AQ_SET;//CTR=ZERO 时,将 ePWM6A 置高
EPwm6Regs.AQCTLA.bit.CAU = AQ_CLEAR;//CTR=CAU 时,将 ePWM6A 置低
EPwm6Regs.AQCTLB.bit.ZRO = AQ_SET;//CTR=ZERO 时,将 ePWM6B 置高
EPwm6Regs.AQCTLB.bit.CBU = AQ_CLEAR;//CTR=CAU 时,将 ePWM6B 置低
EPwm6Regs.CMPA.half.CMPA = Duty1A;//调整 ePWM6A 的占空比
EPwm6Regs.CMPB = Duty1B;//调整 ePWM6B 的占空比
2.4 死区控制模块DB
ePWM中的死区控制子模块DB就是用来严格地控制死区产生的边沿和极性。死区控制子模块在整个ePWM模块中的位置如图所示。
(1)为什么要产生死区
(2)死区控制模块的作用
F28335 的死区模块主要作用就是让两个互补的对称的 PWM 波形中,上升沿的
(3)死区控制模块的特点
(4)举例
2.5 PWM 斩波模块PC
在使用ePWM模块的过程中如果无须用到此功能,可通过相关寄存器完全屏蔽该子模块,从而使PWM 脉冲直接通过。
(1)PWM 斩波模块的特点
如果信号不需要通过斩波控制子模块而直接输出,只需将PCCTL[CHPEN]置0就可以。若将PCCTL[CHPEN]置1,则斩波功能使能,PWM信号将经过高频载波信号调制后再输出。
(2)单次脉冲
原先PWM高电平的地方变成了高频载波信号,把每一个周期内的第一个载波脉冲称为首次脉冲(one shot)。首次脉冲的宽度是可编程的,可以使得第一个脉冲携带较大的能量,从而保证功率器件能够可靠开通,而其余脉冲用来维持功率器件的持续开通与关断。