F28335 的 EPWM 外设-2 F28335的ePWM介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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)。首次脉冲的宽度是可编程的,可以使得第一个脉冲携带较大的能量,从而保证功率器件能够可靠开通,而其余脉冲用来维持功率器件的持续开通与关断。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6 错误联防模块 TZ

上一篇:【docker学习】Linux系统离线方式安装docker环境方法


下一篇:spark计算引擎-架构和应用