首页/文章/ 详情

DSP设计笔记之F28335外设 - ePWM

11月前浏览843

DSP设计笔记之F28335外设 - ePWM

强型脉冲宽度调制器,是电源系统中重要的控制单元。在开关电源控制环路中,PWM控制器将数字信号转化为占空比(模拟值),进行MOSFET控制,因此PWM也被称为功率数模转换器(Power DAC

TITMS320F28335内置了6ePWM模块,每路ePWM模块有两路输出,即EPWMxAEPWMxB

每个ePWM模块相互独立,在一些多管驱动的应用场景,有时需要调用多个ePWM模块,且各个模块的时序需要同步。EPWMxSYNCIEPWMxSYNCO分别为同步信号的输入和输出信号。同步输入EPWMxSYNCI只作用于ePWM1模块,输出EPWMxSYNCO作用于其他ePWM模块。

每个ePWM模块可以触发PIE中断和ADC转换启动(EPWMxSOCAEPWMxSOCB)。

每路ePWM模块包含7个子模块,分别为:

时基模块(Time-base moduleTB

计数比较器模块(Counter-compare moduleCC

动作模块(Action-qualifier moduleAQ

死区模块(Dead-band moduleDB

- PWM斩波模块(PWM-chopper modulePC

事件触发模块(Event-trigger moduleET

跳闸模块Trip-zone moduleTZ

 ePWM子模块

各个子模块连续工作,产生用户需求的PWM波形,驱动开关管,控制开关电路。时基模块负责产生PWM时钟信号,设定PWM的频率。时基时钟在计数过程中,与用户设定的计数比较值作比较,利用计数比较模块输出相应的比较触发信号。这些触发信号将作用于动作模块,进行置一或置零等操作,形成初步的PWM波形。

在某些应用场景,需要设置互补且具有死区PWM波形。死区模块通过对动作模块输出的PWM波形进行上升沿延时下降沿延时,或翻转等操作,形成该应用场景下的波形。

另外,PWM斩波,外部事件触发,错误状态保护等功能适用于不同的应用场景。这些模块均可以禁止使能


1. 时基模块TB


时基模块负责ePWM的时序控制,如控制PWM波的频率,同步各个ePWM模块时序等等。

时基模块会产生三个触发信号作用于动作模块:

- CTR = PRD时基计数器计数到周期值时(即TBCTR = TBPRD),输出该信号;

- CTR = 0时基计数器计数到0时(即TBCTR = 0x0000),输出该信号;

- CTR_Dir: 时基计数器在加计数时,该信号为高电平;时基计数器在减计数时,该信号为低电平。

图 时基模块

1.1 PWM的频率控制

PWM的频率由时基周期寄存器TBPRD)设置。时基计数器通过对周期数值的加减计数(Up-Down-Count)、加计数(Up-Count)和减计数(Down-Count计算PWM频率。下面以TBPRD=4为例说明PWM周期TPWM和频率FPWM时基周期TBPRD时基时钟TBCLK的关系。

1.1.1 加计数(Up-Count

该模式下,时基计数器从0加计数到周期值(TBPRD)。当计数到达周期值时,计数器从0重新开始加计数。

图 加计数模式


加计数方式下,PWM的周期TPWM = (TBPRD+1) / TBCLK; PWM的频率FPWM = 1 / TPWM

CCS中寄存器配置代码如下:


1.1.2 减计数(Down-Count

该模式下,时基计数器从周期值(TBPRD减计数0。当计数到达0时,计数器从周期值(TBPRD)重新开始减计数。

图 减计数模式

减加计数方式下,PWM的周期TPWM = (TBPRD+1) / TBCLK; PWM的频率FPWM = 1 / TPWM

CCS中寄存器配置方式如下:


1.1.3 加减计数(Up-Down-Count

该模式下,时基计数器从0加计数到周期值(TBPRD),然后再减计数0,并重复该计数方式。

图 加减计数模式

加减计数方式下,PWM的周期TPWM = 2 x TBPRD / TBCLK; PWM的频率FPWM = 1 / TPWM

CCS中寄存器配置代码如下:


1.2 时基周期的更新方式 - 影子寄存器

时基周期寄存器具有一个影子寄存器(Shadow Register。与影子寄存器相对应的,是活动寄存器(ActiveRegister,它是直接控制硬件的寄存器。

影子寄存器起到了缓冲器的作用,帮助活动寄存器临时存放数据,且不能直接控制硬件。影子寄存器的目的是为了防止软件配置不同步导致的系统崩溃。

CCS中,影子寄存器的配置代码如下:

2. 计数比较模块CC


计数比较模块负责与计数比较信号ACMPA计数比较信号BCMPB作比较,并输出比较后的事件触发信号CTR = CMPACTR = CMPB

- CTR = CMPA: 时基计数器的数值等于计数比较信号CMPA(即TBCTR = CMPA

- CTR = CMPB时基计数器的数值等于计数比较信号CMPB(即TBCTR = CMPB

图 计数比较模块

2.1 不同计数模式的输出信号

上文提到时基计数器有三种计数模式。在这三种计数模式下,若有同步触发信号输入EPWMxSYNCI,则时基计数器会加载相位值TBPHS后重新计数。

相位加载在CCS中寄存器配置代码如下:


2.1.1 加计数模式

时基计数器处于加减计数模式。在计数过程中,当计数器等于比较信号数值时,计数比较器分别输出CTR = CMPACTR = CMPB信号。

当时基计数器有同步触发信号EPWMxSYNCI输入时,时基计数器加载相位值TBPHS并进行加计数。

图 加计数模式下的比较信号

2.1.2 减计数模式

时基计数器处于加减计数模式。在计数过程中,当计数器等于比较信号数值时,计数比较器分别输出CTR = CMPACTR = CMPB信号。

当时基计数器有同步触发信号EPWMxSYNCI输入时,时基计数器加载相位值TBPHS并进行减计数。

图 减计数模式下的比较信号

2.1.3 加减计数模式,同步触发后减计数

时基计数器处于加减计数模式。在计数过程中,当计数器等于比较信号数值时,计数比较器分别输出CTR = CMPACTR = CMPB信号。

当时基计数器有同步触发信号EPWMxSYNCI输入时,时基计数器加载相位值TBPHS并进行减计数。

加减计数模式,同步触发后减计数

2.1.4 加减计数模式,同步触发后加计数

时基计数器处于加减计数模式。在计数过程中,当计数器等于比较信号数值时,计数比较器分别输出CTR = CMPACTR = CMPB信号。

当时基计数器有同步触发信号EPWMxSYNCI输入时,时基计数器加载相位值TBPHS并进行加计数。

图 加减计数模式,同步触发后加计数

3. 动作模块AQ


根据时基模块和计数比较模块输出的事件触发信号,动作模块输出相应的PWM波形EPWMxAEPWMxB。上文提到这些触发信号分别为:

- CTR = PRD:时基计数器的数值等于周期值(即TBCTR= TBPRD

- CTR = Zero:时基计数器的数值等于0TBCTR = 0x0000

- CTR = CMPA:时基计数器的数值等于计数比较值CMPA(即TBCTR = CMPA

- CTR = CMPB: 时基计数器的数值等于计数比较值CMPB(即TBCTR = CMPB


图 动作模块

3.1 不同计数模式的PWM波形

动作模块在接收到事件触发信号后,决定EPWMxAEPWMxB以何种方式输出。如下是四种输出方式:

置一(Set High):EPWMxAEPWMxB输出高电平;

清零(Clear Low):EPWMxAEPWMxB输出低电平;

切换(Toggle):如果当前EPWMxAEPWMxB为高电平,则在接收到事件触发信号后,输出切换至低电平;反之,输出切换至高电平;

无响应(Do Nothing):在接收到事件触发后,不对EPWMxAEPWMxB做任何操作,但是仍然可以触发PIE中断和ADC转换;

这四种输出方式可以用符号的形式表示:

每个符号的上方表示触发事件,下方表示触发动作。例如“CA”表示“时基计数器数值等于CMPATBCTR = CMPA”;“下箭头”表示“清零Clear Low”。

则符号表示“当时基计数器数值等于CMPA时,输出PWM波形为低电平”。


图 动作模块的触发事件和触发动作


3.1.1 加计数模式下的PWM输出

该模式下PWM周期 = (TBPRD+1) x TTBCLKPWMxAPWMxB均为高电平有效(Active High,即输出占空比与CMPACMPB成正比。PWMxAPWMxB分别由CMPACMPB设置,当时基计数器数值等于CMPACMPB时,PWM波形清零(Clear Low

图 加计数模式,高电平有效

CCS的代码配置方式如下:



3.1.2 加减计数模式下的PWM输出

该模式下PWM周期 = 2 x TBPRD x TTBCLKPWMxAPWMxB均为低电平有效(Active High,即输出占空比与CMPACMPB成反比。PWMxAPWMxB分别由CMPACMPB设置,当时基计数器数值等于CMPACMPB时,PWM波形清零(Clear Low


图 加减计数模式,低电平有效


CCS的寄存器配置代码如下:

4. 死区生成模块DB

在许多电源拓扑的控制中,都会涉及到死区(Dead Band)。例如在全桥或半桥控制中,同一桥臂的上下管需要进行死区控制,以保证上下管互补导通,防止上下管同时导通导致短路。

死区生成模块以动作模块的EPWMxAEPWMxB为输入,生成具有死区的PWM信号对。

图 死区生成模块

4.1 死区生成的实现方式

死区生成模块由三个选择开关和两个延时器组成。两个延时器分别为上升沿延时下降沿延时

三个选择分别为开关:

输入信号选择:死区生成模块可以选择EPWMxAEPWMxB之一或全部作为其输入信号源,选择开关为S4S5,由寄存器DBCTL[IN_MODE]控制。

极性选择:用于决定信号是否需要反转极性,选择开关为S2S3,由寄存器DBCTL[POLSEL]控制。

输出模式选择:用于决定输出信号是由输入信号直接输出,或是经过延时或极性反转后输出。选择开关为S0S1,由寄存器DBCTL[OUT_MODE]控制。

不同的选择开关进行排列组合,有七种典型的配置模式:

模式1:绕过输入信号选择和极性选择,直接输出输入信号。

模式2 - 5:典型的死区和极性配置。

分别为上升沿延时RED下降沿延时FED互补且高电平有效AHC互补且低电平有效ALC高电平有效AH低电平有效AL

典型的死区和极性配置


模式6:绕过上升沿延时。

模式7:绕过下降沿延时。


下表是几种模式下的开关控制方式


 7种控制模式的开关配置

CCS中寄存器配置代码如下:


5. PWM斩波模块PC


在开关电源驱动控制中,隔离驱动的一种控制方式为变压器驱动。斩波模块主要应用在基于脉冲变压器驱动的PWM控制。斩波模块的为可选模块,不需要该功能时,可以禁用斩波模块直接输出。

图 PWM斩波模块


5.1 斩波模块的实现方式

斩波模块包含一次脉冲OSHT载波时钟PSCLK。一次脉冲提供较宽的导通时间,确保驱动变压器导通;载波脉冲负责PWM斩波,维持驱动变压器的导通。

斩波模块的输出波形是由输入的PWM波形和载波时钟PSCLK与运算,然后再和一次脉冲OSHT或运算得出。下图时斩波模块的输入和输出波形:

斩波模块的输入和输出波形

6.跳闸模块TZ

跳闸模块的输入为外部的GPIO复用引脚。跳闸模块起到了保险开关的作用,当有外部错误信号产生时,跳闸模块可以快速响应。


图 跳闸模块


在出现错误状态时,跳闸模块的响应方式有如下四种:

- PWM输出高电平

- PWM输出低电平

高阻态

无操作

6.1 跳闸模块的实现方式

跳闸模块支持周期错误触发CBCCycle-by-Cycle一次错误触发OSHTOne-Shot。且每一次错误都可以触发中断。

周期错误触发:当周期错误事件出现时,TZCTL寄存器中定义的响应方式会立刻作用到EPWMxAEPWMxB。周期错误触发标志位TZFLG[CBC]被置一。若使能了中断,则产生EPWMx_TINT中断。

一次错误触发:当一次错误事件出现时,TZCTL寄存器中定义的响应方式会立刻作用到EPWMxAEPWMxB。周期错误触发标志位TZFLG[OSHT]被置一。若使能了中断,则产生EPWMx_TINT中断。

CCS代码示例如下:


7. 事件触发模块ET


事件触发模块的输入为时基模块或计数比较器模块产生的事件触发信号。该模块可以触发PWM中断(EPWMxINTADC转换的启动信号(EPWMxSOCAEMPWMxSOCB

图 事件触发模块

7.1 事件触发模块的实现方式

事件触发模块可以设置不同数量的触发事件,即

单个事件触发

每两个事件触发

每三个事件触发

中断信号EPWMxINTPIE中断向量表连接,ADC转换启动信号EPWMxSOCAEPWMxSOCBADC模块连接。

CCS中寄存器配置代码如下:


[注] 参考文献:TMS320x2833x Technical Reference Manual

       详细代码示例可参考TI ControlSUITE

说明:本文来源网络;文中观点仅供分享交流,不代表本***立场,转载请注明出处,如涉及版权等问题,请您告知,我们将及时处理。

来源:电力电子技术与新能源
燃料电池电源电路电磁兼容汽车电力电子MATLAB新能源芯片电机热设计控制SCL
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-05-22
最近编辑:11月前
获赞 135粉丝 214文章 2025课程 0
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈