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