关于C2833x介绍EPWM

2019-07-25 15:09发布

通常我们用的电压源型逆变器,是通过IGBT、MOSFET等开关管的切换,用单极性或者双极性的脉冲波形来模拟正弦波,如图所示:
1.jpg
这里的基本原则是等面积,即冲量不变的原理。在逆变器直流母线电压固定的情况下,脉冲波的幅值已经确定,使用改变占空比的方法,即对应改变输出基波的幅值。最常用的载波PWM的基本原理,一般都是三角形载波和调制波波形,如正弦波、马鞍波等进行比较,在相交点产生开关状态的切换。三角载波的频率一般在kHz基波,相当于时间域里的一个函数,一般用硬件电路来实现才能保证较好的精度和时域特性。
在TI C2000及类似的电机控制用的DSP出现之前,通常的DSP并不含有专门的PWM产生电路,此时载波的产生以及和调制波的比较工作一般由模拟电路、专门的PWM芯片或者CPLD/FPGA/ASIC/ASSP来实现;由模拟电路搭建的速度很高,但是存在温度漂移等问题;专用的PWM芯片一般只有2路左右的输出,若要控制一个三相逆变器需要多片配合,CPLD/FPGA相对灵活,但是在对成本敏感的系统中仍是不小的开支,ASIC/ASSP则在大公司的产品中才可能采用。TI的C2000系列带有至少12路的PWM输出,并且PWM是专用的外设,其输出PWM等功能并不需要消耗CPU资源,因此极大地方便了系统的设计。
从2407、2812到28335,PWM外设也从事件管理器EV演变到增强的PWM模块,即ePWM。EV中的六路PWM采用同一个载波,且实际只有三个独立,三个互补的输出;而在ePWM中,每个PWM管脚都可以独立地进行配置,当然也可以在同步状态下运行,增强了设计的灵活性。下面是ePWM的一个简要框图描述:
2.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
拿起书本
2019-07-25 16:29
就每个ePWM来说,可以分为以下十个主要的功能模块,其功能示意图如图1所示
1.jpg
1. 时钟预定标:这个模块在28335大部分的外设中都有,其输入是SYSCLKOUT,预定标的作用是对SYSCLKOUT时钟信号进行分频,从而控制外设的时钟频率。其输出是TBCLK时钟信号,即每个ePWM模块的时间基准(time base,即TB),它被ePWM外设的所有子模块使用,控制计数器的更新速率。
2. 16位的时间基准计数器(TBCTR):16位的时基计数器,其输入有时基信号TBCLK,在ePWM之间用来同步的EPWMxSYNCI 信号,周期寄存器的值(即周期值),其输出有两个,一个是EPWMxSYNCO用来输出同步信号,另一个则是计数值与周期值比较的结果,并送入逻辑处理模块。
3. 比较逻辑处理:处理输入的比较结果,并生成相应的逻辑状态。
4. 动作限定模块(action qualifier):判断逻辑的转换是否满足要求,并转换为对应的PWM开关状态,通常为EPWMxA和EPWMxB。
5. 死区模块:对PWM的开关变化加入死区时间,以防止变流器上下桥臂的开关管过流击穿损耗。死区通常有单边死区和双边死区,单边死区即只对开通开关管的脉冲施加死区,双边死区则对所有的脉冲变化加入死区时间,即延时开通,提前关断,这些都可以在死区模块的寄存器中进行配置。
6. PWM斩波环节(chopper):这部分是可选的,通常用来产生高频PWM载波信号,在一般的逆变器中不需要用到,在高频的开关数字电源中作用很大。
7. 事件触发模块(trip zone):主要是用来处理外部返回的故障信号的,例如在变频器过流时,保护电路返回的故障信号反馈到TZ模块,此时强制PWM管脚为高阻状态,则停止输出,并且可以运行设计的保护程序等。

在ePWM模块中,定时/周期操作经常被广泛使用。例如,设定一个定时周期,然后每次计数到周期值时触发一些特定的事件;或者由某个事件触发计数操作,用来捕获某个事件的时间、脉冲个数等。ePWM的周期由时间基准周期寄存器和时间基准计数器的运行方式共同决定。时间基准计数器具有三种运行方式:
1. 连续增计数: 对应下图中的第一种模式,是一种非对称的波形。在该模式下,时间基准计数器从零开始增加,直到等于TBPRD的值,然后计数器复位到0,重复上述过程。
2. 连续减计数:对应下图中的第二种模式,同样也是一种非对称的波形。在该模式下,钟基准计数器从TBPRD始减小,直到等于0,然后计数器复位到TBPRD,重复上述过程。
3. 连续增减计数:对应下图中的第三种模式,是一种对称的波形。在连续增减计数模式下,时钟基准计数器从零开始增加,直到等于TBPRD的值,然后开始减计数,直到等于0,然后重复上述过程。这种波形的形状是等腰三角形,在使用载波方法实现PWM波形输出时最常用到。
2.jpg
图中,三角形的顶点的纵坐标值一般为周期值,横坐标值则代表一个三角波持续多少个周期时间。时间基准寄存器的值可被立即刷新,或者在本次计数结束之后再刷新,由TBPRD寄存器的值决定:.
1. 如果TBCTL[PRDLD]=0,使能映射寄存器,任何读写操作将针对映射寄存器,在时间基准计数器归零时,将映射寄存器中内容装载到当前寄存器
2. 如果TBCTL[PRDLD]=1,禁止映射寄存器,任何读写操作将直接作用于当前寄存器。

28335上的ePWM引入了很多增强的特性,从而使得我们可以更加灵活的进行组合配置,产生更复杂的PWM控制逻辑。例如,引入了基于事件基准的相位寄存器TBPHS。在对各个PWM进行单独控制的时候,TBPHS的值并无作用,但是,如果我们想把各个ePWM的三角形载波之间建立角度上的联系,则我们可以使用TBPHS寄存器,例如下面的例子:
1.jpg
多个ePWM模块之间可以存在一个精确的相位差,在一些特殊的电力电子拓扑结构中特别有用。例如在大功率的应用中,对于移相变压器、多绕组变压器等,其输入有多个整流单元,相位互差特定的角度,此时我们就可以使用TBPHS寄存器来调整它们之间载波的相位差;而且因为是相对于同一个时间基准来计数,其精度也较高。在这种使用情况下,一般将一相ePWM做为主模块,其时钟信号作为同步源,其余几相ePWM做为从模块,其时钟信号使用同步源与TBPHS的和或者差;当然,主同步信号也可以使用外部的时钟信号,这是ePWM的灵活之处所在。
TBPHS的计算方法为:
以周期值TBPRD = 600为例,则在TBPHS = 200时,相位差为:
200/600 X 360° = 120°
每当计数值=周期值时,主模块产生同步信号,则TBPHS = 200就被加载到从模块的计数寄存器TBCTR中,从而使得从模块的计数总是超前主模块120°。使用这种方法,即使是变频的情况,只要知道具体的频率,仍然可以实现固定角度的相位差(当然最多会有一个TBPRD时间的延时)。

一周热门 更多>