利用TMS320F2812实现SVPWM算法
0赞生空间矢量PWM波形的寄存器设置
TMS320F2812的每个事件管理器EV模块具有操作十分简化的对称空间矢量PWM波形产生的内置硬件电路。为了输出空间矢量PWM波形,只需要设置以下寄存器。
设置ACTRx寄存器用来定义比较输出引脚的输出方式。
设置COMCONx寄存器来使能比较操作和空间矢量PWM模式,并且把CMPRx的重载入条件设置下溢。
将通用定时器1或2,4或5设置成连续增/减计数模式,并启动定时器。
而后,用户需确定在二维(α,β)坐标系下输入到电机的电压Uout ,并分解Uout 为 Ualfa 和 Ubeta ,以确定每个PWM周期的以下参数。
两个相邻矢量,Ux 和 Ux+60 (通过确定 Uout 所在的扇区数就可以达到此要求)。
根据SVPWM的调制周期T 计算两个基本的空间矢量和0矢量分别的作用时间T1 、T2 和T0 。
将相应于Ux 的开启方式写入到ACTRX , 14~12位中,并将1写入ACTRX ,15中,或者将Ux+60 的开启方式写入ACTRX ,14~12,并将0写入ACTRX ,15中。
将T1 /2的值写入到CMPR1或CMPR4寄存器,将(T1 + T2)/2的值写入到CMPR2或CMPR5寄存器。
3.3.2 空间矢量PWM的硬件工作原理
为完成一个空间矢量PWM周期,每个事件管理EV模块的空间矢量PWM硬件工作如下。
在每个周期的开始,将PWM输出置成由ACTRX , 14~12设置的新方式Uy ,此称为第1类输出方式。
在增计数期间,当CMPR1或CMPR4和通用定时器1或3发生第一次匹配时,如果ACTRX ,15为0,则将PWM输出开启到方式Uy+60 ;如果ACTRX ,15为1,则将PWM输出开启到方式Uy-60 (U0-60 =U300 ,U360+60 =U60 ),此称为第2类输出方式。
在增计数期间,当CMPR2或CMPR5和通用定时器1或3发生第1 次匹配时,即计数器达到(T1 + T2)/2时,将PWM输出开启至方式000或111。它们与第2类输出方式之间只有1位的差别。
在减计数期间,当CMPR2或CMPR5和通用定时器1或3发生第2次匹配时,将PWM输出置回到第2类输出方式。
在减计数期间,当CMPR1或CMPR4和通用定时器1或3发生第2次匹配时,将PWM输出置回到第1类输出方式。
3.3.3空间矢量PWM的边界条件
在空间矢量PWM模式中,当两个比较寄存器CMPR1和CMPR2装入的值都是0时,3个比较输出全都变成无效。因此,在使用空间矢量PWM时应满足如下关系式:
CMPR1≤CMPR2≤T1PR或CMPR4≤CMPR5≤T3PR
否则将导致不可预测的情况发生。
3.3.4空间矢量PWM波形
生成的空间矢量PWM波形是关于每个PWM周期中心对称的,因此被称为对称空间矢量PWM生成法,图3.7给出了空间矢量PWM波形。

图3.7 空间矢量PWM波形
