基于DSP的SPWM直接面积等效算法分析
在生成SPWM波形时,通常有查表和实时计算两种方法,实际使用时往往是两种方法的结合,即先离线进行必要的计算存入内存,运行时再进行较为简单的在线计算,这样既可保证快速性,又不会占用大量的内存。
规则采样法通常事先存入正弦函数表和不同载波频率时的Tz/2,运行时根据要求的Tz,M和ω即可算出开关器件的导通时间(详见公式1)。这种方法的计算量很小且波形的幅值和频率都是可以连续变化的。?
直接面积等效法通常事先存入不同频率下的余弦函数表,运行时也只要进行简单的乘法和减法运算(详见公式2)。这种方法的计算量适中且波形的幅值和频率也是连续变化的。
由规则采样法的原理可知他是用一近似的阶梯波来代替正弦波与三角波进行比较,因此他的精度较低,但由于计算简单,在使用单片机和微机生成SPWM波的时代得到了较为广泛的应用。但随着具有强大运算能力的DSP的出现,使得兼顾计算的精度和速度这一问题有了解决的希望。因此采用具有较高精度且计算量适中的直接面积等效法和DSP相结合来解决这一问题。
(2)DSP的特点
DSP的厂家很多,国内应用主要以TI公司的居多。这里采用TI公司的TMS320系列。TI公司的TMS320C2000 DSP是基于320C2xLP核。为了实现小数的算术运算和验证小数的乘积,C2xLP的乘积寄存器的输出通过乘积移位器,以抑制运算中产生的多出来的Bit。该乘积定标移位器允许作128个乘积累加而不会产生溢出。基本的乘积累加(MAC)周期,包括将一个数据存储器的值乘以一个程序存储器的值,并将结果加给累加器。当C2000循环执行MAC,则程序计数器自动增量,并将程序总线释放给第二个操作数,从而达到单周期执行MAC。
C2000系列中的C24x系列的芯片具有事件管理器。该事件管理器具有3个加/减定时器和9个比较器,可以和波形产生逻辑配合产生12 PWM的输出。支持同步的和异步的PWM产生。他还支持一个空间向量PWM状态机,用开关功率晶体管来实现,以延长晶体管的寿命和降低功耗。一个关机段产生单元也有助于保护功率晶体管。其原理如图2所示。
![](http://m.amcfsurvey.com/uphotos/fetch/20130729/150293_2_0.jpg)
可以看到,为了实现实时的变压与变频,需要根据当前载波所在时间T做大量的运算,而这些运算都要求在一个载波周期内完成。以载波频率为15625Hz为例,其周期为64μs,若要求三相输出,则所有这些运算都要求在32μs内完成。这对于单片机而言,是完全不可能的。而对于DSP而言,其指令周期为50ns,且多为单周期指令,并且有单周期的乘法指令。因此,充分利用了DSP的强大运算能力,才最终实现了上述计算的实时完成。
根据直接面积等效法的公式,在Flash中存入1个cosX/2π的表,这样就可以尽可能简化不必要的运算。在实际计算时只需计算1次减法、1次乘法、1次除法即可。
程序流程图见图3。
![](http://m.amcfsurvey.com/uphotos/fetch/20130729/150293_2_1.jpg)
评论