基于DSP的SPWM直接面積等效算法分析
在生成SPWM波形時,通常有查表和實時計算兩種方法,實際使用時往往是兩種方法的結(jié)合,即先離線進(jìn)行必要的計算存入內(nèi)存,運行時再進(jìn)行較為簡單的在線計算,這樣既可保證快速性,又不會占用大量的內(nèi)存。
規(guī)則采樣法通常事先存入正弦函數(shù)表和不同載波頻率時的Tz/2,運行時根據(jù)要求的Tz,M和ω即可算出開關(guān)器件的導(dǎo)通時間(詳見公式1)。這種方法的計算量很小且波形的幅值和頻率都是可以連續(xù)變化的。?
直接面積等效法通常事先存入不同頻率下的余弦函數(shù)表,運行時也只要進(jìn)行簡單的乘法和減法運算(詳見公式2)。這種方法的計算量適中且波形的幅值和頻率也是連續(xù)變化的。
由規(guī)則采樣法的原理可知他是用一近似的階梯波來代替正弦波與三角波進(jìn)行比較,因此他的精度較低,但由于計算簡單,在使用單片機(jī)和微機(jī)生成SPWM波的時代得到了較為廣泛的應(yīng)用。但隨著具有強(qiáng)大運算能力的DSP的出現(xiàn),使得兼顧計算的精度和速度這一問題有了解決的希望。因此采用具有較高精度且計算量適中的直接面積等效法和DSP相結(jié)合來解決這一問題。
(2)DSP的特點
DSP的廠家很多,國內(nèi)應(yīng)用主要以TI公司的居多。這里采用TI公司的TMS320系列。TI公司的TMS320C2000 DSP是基于320C2xLP核。為了實現(xiàn)小數(shù)的算術(shù)運算和驗證小數(shù)的乘積,C2xLP的乘積寄存器的輸出通過乘積移位器,以抑制運算中產(chǎn)生的多出來的Bit。該乘積定標(biāo)移位器允許作128個乘積累加而不會產(chǎn)生溢出。基本的乘積累加(MAC)周期,包括將一個數(shù)據(jù)存儲器的值乘以一個程序存儲器的值,并將結(jié)果加給累加器。當(dāng)C2000循環(huán)執(zhí)行MAC,則程序計數(shù)器自動增量,并將程序總線釋放給第二個操作數(shù),從而達(dá)到單周期執(zhí)行MAC。
C2000系列中的C24x系列的芯片具有事件管理器。該事件管理器具有3個加/減定時器和9個比較器,可以和波形產(chǎn)生邏輯配合產(chǎn)生12 PWM的輸出。支持同步的和異步的PWM產(chǎn)生。他還支持一個空間向量PWM狀態(tài)機(jī),用開關(guān)功率晶體管來實現(xiàn),以延長晶體管的壽命和降低功耗。一個關(guān)機(jī)段產(chǎn)生單元也有助于保護(hù)功率晶體管。其原理如圖2所示。
可以看到,為了實現(xiàn)實時的變壓與變頻,需要根據(jù)當(dāng)前載波所在時間T做大量的運算,而這些運算都要求在一個載波周期內(nèi)完成。以載波頻率為15625Hz為例,其周期為64μs,若要求三相輸出,則所有這些運算都要求在32μs內(nèi)完成。這對于單片機(jī)而言,是完全不可能的。而對于DSP而言,其指令周期為50ns,且多為單周期指令,并且有單周期的乘法指令。因此,充分利用了DSP的強(qiáng)大運算能力,才最終實現(xiàn)了上述計算的實時完成。
根據(jù)直接面積等效法的公式,在Flash中存入1個cosX/2π的表,這樣就可以盡可能簡化不必要的運算。在實際計算時只需計算1次減法、1次乘法、1次除法即可。
程序流程圖見圖3。
評論