1 概述
在采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲脉冲在具有惯性的环节上时,其效果基本相同。我们把正弦半波看成由N 个等时间宽度的彼此相连的脉冲组成的波形。这些脉冲的幅度按正弦规律变化。如果把上述脉冲序列用同样数量的等幅而不等时间宽度的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相就的正弦部分面积(冲量)相等,那么,将该等幅而不等宽的脉冲施加于被控对象上,可以起到对被替代的正弦半波的控制效果。这些等幅而不等宽的脉冲就叫PWM(Pulse Width Modulation,脉宽调制)波形。像这种脉冲的宽度按正弦规律变化且与正弦波冲量等效的PWM波形也称SPWM(Sinusoidal PWM)波形。
脉宽调制信号是脉宽变化的一系列脉冲。脉冲持续若干固定的周期,每个周期内只有1 个脉冲。那个固定的周期称为PWM(载波)周期。PWM 脉冲的宽度由另一个称为调制信号的序列决定或调制。在电机控制中,PWM信号用来控制开关功率器件的通断时间,传递所需的能量给电机绕组。相电流和相电压的波形和频率以及传递给电机的绕组的能量决定了电机的速度和转矩。施加于电机命令电流或电压叫调制信号。调制信号的频率一般比PWM 载波的频率低得多。
2 TMS320F240 内嵌的有关PWM的硬件资源
TMS320F240 是美国Texas Instrument 公司制造的专门用于满足控制方面需要DSP 芯片。它的内部集成了高性能的DSP 核和片内外设模块,使用1 片这样的DSP 即可解决原来利用多个器件和MCU 单片机还难以完成的任务。尤其是其内部嵌入的事件管理器EV(Event Manager),资源丰富,包含有产生PWM波形的多种硬件资源:
12 个比较/PWM 通道(9 个为独立的,即非复用的);
3 个16 位通用定时器,可以工作于连续递增、连续递减等6 种模式;
3 个16 位全比较器,提供死区设置功能;
3 个16 位单比较器。
从图1 可以看出,事件管理器模块有12 个比较/PWM 输出引脚。事件管理器模块所有的寄存器都映射到数据存储区。这些寄存器分为三部分:通用定时器的寄存器(12 个);全比较和单比较单元的寄存器(10 个);事件管理器模块的中断寄存器(9 个)等。为了产生PWM 信号,需要1 个计数器重复对应于PWM 周期的计数,1 个比较器保存调制值。比较器不断地与定时计数器的值比较。当值相等时,输出引脚发生电平跃变;当值第2 次相等时或计数到达周期值时,输出引脚又发生电平跃变。对于每一个定时周期,改变对应于调制值的比较器的值,即可得到不同脉冲宽度的信号。
每个通用定时器比较单元可产生基于其自己的定时器的PWM输出波形。
3 个单比较器单元以及通用定时器1 或2 可以产生另外3 路PWM输出,可以应用于没有死区要求或用片外的其它电路构成死区的场合。
全比较器单元的任何一个以及通用定时器1、死区单元和输出逻辑,可以产生一对死区和极性可编程的PWM 信号。这非常适合应用于三相感应到无刷电机中。
以下就每个部分分别作一介绍。
3 多种PWM 的实现
3.1 利用EV 中的通用定时器GP 产生PWM
如图2 所示,3 个定时器可以用来作为独立的时间基准(图中x=1,2,3)。它们可以:
作为控制系统中的采样周期;
为全比较和单比较单元的工作以及它们相关连PWM 电路提供时间基准,以产生需要的比较/PWM输出。
逻辑控制寄存器TxCON 的bit 位设置定时器x(x=1,2,3)的计数方式,TxCON 的bit6=“1”,使能定时器x,定时器x 则开始按照其它bit 位所设置的方式开始计数。每一个通用定时器都有1 个相关联的比较寄存器TxCMPR 和1 个比较/PWM 输出引脚TxPWM/TxCMP。计数器内部的值不断地与对应的比较寄存器的值进行比较,当两者相等的时候,产生1 个比较匹配事件。当TcCON[1]=“1”,则产生下列动作:
比较中断标志置位;
若计数方式不是直接加减方式,则相关联的比较/PWM输出引脚上将产生电平变化(具体变化由GPTCON 决定)。
如果通用定时器的比较工作被禁止,则比较/PWM输出引脚上呈现高阻态,上述动作不会发生。
3.2 利用EV 中的单比较器模块(simple compare)产生PWM
从图1 可以看出,事件管理器中有3 个单比较单元。每个单比较单元有1 个相关联的比较/PWM 输出引脚。单比较单元的时间基准由通用定时器1 或2 提供。单比较单元框图如图3 所示。它与全比较器共用1 个比较控制寄存器COMCON,图3 中没有画出,通过设置COMCON 的相应的bit 位,可以使能/禁止单比较器的比较工作、使能/禁止单比较器的输出、选择单比较器的时基等。
3.3 利用EV 中的全比较器模块(full compare)产生PWM
从图1 可以看出,事件管理器中有3 个全比较单元。每个全比较单元有3 个全比较单元。每个全比较单元有2 个相关联的比较/PWM输出引脚。全比较单元的时间基准由通用定时器1 提供,如框图4 所示。它与单比较器共用1 个比较控制寄存器COMCON,图4 中没有画出。通过设置COMCON 的相应的bit 位,可以使能/禁止全比较器的工作、使能/禁止全比较器的输出等。
全比较单元的工作模式同样由COMCON 寄存器来设置。它的工作模式可分为“COMPARE 模式”和“PWM模式”。当全比较单元工作于“COMPARE 模式”时,其输入引脚可以分别地被控制为“电平保持”/“置高”/“置低”/“依比较事件而高低变化”等多种输出形式;当全比较单元工作于“PWM模式”时,它由不同的控制寄存器控制,并且最终的输出还受到死区单元和空间矢量PWM 的影响(参见图5)。除此之外,全比较单元的“PWM模式”基本与通用定时器的比较方式相同。
3.4 利用全比较器的PWM 工作模式
与全比较器单元相关联PWM 电路能够产生6 路死区和极性可编程的PWM,如图5 所示。
图5 中的所谓非对称PWM 就是一个定时器周期内只有1 个“占”和1 个“空”。所谓对称PWM 就是脉冲位于1 个周期的中间,即中间为“占”,两边为“空”。EV 中的每一个比较单元均可产生对称或非对称的PWM。下面以全比较单元为例,对产生对称和非对称PWM 作一讨论。
为了产生非对称的PWM,要求GP TIMER1 设置为连续递增计数模式、预置周期寄存器的数值、设置COMCON 为使能比较、预置DBTCON 的数值(若对死区有要求),然后适当地配置ACTR 即可产生一个非对称的PWM 信号。
GP 定时器1 启动以后,在每个PWM周期,比较寄存器以其影像单元的数值覆盖自身。由于比较寄存器、动作寄存器和周期寄存器都有镜像单元(带影像),所以,新数值可以在一个周期内的任何时间写入这些寄存器以及分别改变脉宽、PWM周期和PWM输出的定义。
为了产生对称的PWM,则要求GP 定时器1 设置为连续递增/减计数模式,其它与产生非对称PWM类似。不对1 个周期内有2 次比较匹配点,一次是在递增过程,一次是递减过程。新的比较值可以在匹配点之后发生作用,这样可提高或滞后PWM 的第2 个沿。
3.5 空间矢量PWM
对于图6 而言,空间矢量PWM 是指6 个功率晶体管开/组合方案。图6 中Va、Vb、Vc 是施加工电机绕组的电压。为使功率晶体管工作于安全状态,DTPHx 和DTPHx_应成反相关系。3 组PWM输出DTPHx 和DTPHx_应成反相关系。3 组PWM 输出DTRHx 和DTPHx_(x=a,b,c)控制着6 个晶体管的开/关,进而改变Va、Vb、Vc 的大小。所以,可利用DTPHa、DTPHb 和DTPHc 的状态改变施加到电机的线电压Vout。相电压的取值可以用DTPHa、DTPHb 和DTPHc 的8 种有效状态S1、S2、S3、S4、S5、S6、S7、S8 来对应映射。由状态S1→S2→S3→S4→S5→S6→S7→S8 构成循环的1 个周期,即360°。在一个极坐标上,将每个状态Sx 用一个矢量表示,则由状态S1→S2…→S8 所对应的输出PWM称为空间矢量PWM。
利用PWS320F240 内置的EV 苛以很容易地实现对称空间矢量PWM。方法如下:
配置ACTR,以定义全比较输出引脚的极性;
配置COMCON,以使能比较、设置空间矢量PWM模式、设置ACTR 和CMPx 重载的条件;
设置GP 定时器1 为连续递增/减模式,启动计数动作。限于篇幅,有关空间矢量PWM更详细的内容在此不再多述,本人将另文介绍。