目前,,變頻調(diào)速一般采用微處理器和專用芯片來實(shí)現(xiàn),。但是普通的專用芯片運(yùn)算速度受微處理器系統(tǒng)時(shí)鐘影響,且開發(fā)周期長(zhǎng),,硬件調(diào)試不方便[1],。隨著微電子技術(shù)和EDA軟件的發(fā)展,出現(xiàn)的FPGA幾乎克服了所有這些不足,,所以本設(shè)計(jì)采用了FPGA方案,。
三相SPWM的產(chǎn)生一般可以通過三相相位上互差120°的正弦波與三角波比較來實(shí)現(xiàn),。三相正弦表可以由三個(gè)獨(dú)立的相位互差120°的正弦表組成,這在設(shè)計(jì)思路上是簡(jiǎn)單的,,但實(shí)際中卻有很大的浪費(fèi),。
目前有人采用了分時(shí)復(fù)用的方法來減少三相正弦表所占用的邏輯門[1]。從正弦波的波形可以看出,,正弦波具有很好的對(duì)稱性,,還能對(duì)正弦表再進(jìn)行優(yōu)化。
因此,,本文提出了利用分時(shí)復(fù)用以及正弦波的對(duì)稱性,,對(duì)三相正弦表進(jìn)一步優(yōu)化,以進(jìn)一步減少正弦表所占用的邏輯門,,提高FPGA的利用率,。
1 數(shù)據(jù)的合成
數(shù)據(jù)合成由分時(shí)復(fù)用電路和運(yùn)算電路兩部分組成。通過分時(shí)復(fù)用,,使得所需的正弦表減少到原來的1/3,,即產(chǎn)生三相正弦波只需一個(gè)正弦表。運(yùn)算電路利用正弦波的對(duì)稱性,,使得實(shí)現(xiàn)一個(gè)完整周期的正弦波只需1/4周期的正弦表,。兩者結(jié)合,從而完成三相正弦波只需一個(gè)1/4周期的 正弦表,,達(dá)到最大程度的節(jié)省資源的目的,。
1.1 分時(shí)復(fù)用原理及其應(yīng)用
分時(shí)復(fù)用的原理是各路信號(hào)占用同一信道的不同時(shí)間間隙進(jìn)行信號(hào)傳輸。具體到本電路就是利用對(duì)正弦表尋址的高速度,,使一個(gè)正弦表在不同時(shí)間段查詢不同相的正弦波的幅值,,以達(dá)到減少正弦表所占用的FPGA資源的目的?! ?/p>
電路的具體實(shí)現(xiàn):三路在相位上互差120°的地址數(shù)據(jù)并行輸入,,通過一個(gè)三選一的選擇器來進(jìn)行選擇,選擇器的控制端接三進(jìn)制的計(jì)數(shù)器[1],。如,,計(jì)數(shù)器為0時(shí),輸出的是A相的地址,。計(jì)數(shù)器為1時(shí),,輸出的是B相的地址。計(jì)數(shù)器為2時(shí),,輸出的是C相的地址,。因此只要使輸入的三相地址周期性變化,就實(shí)現(xiàn)了并行輸入的三相地址數(shù)據(jù)在時(shí)間上形成了連續(xù),,也就實(shí)現(xiàn)了三相地址數(shù)據(jù)的合成,。這樣就可以利用一個(gè)正弦表來得到三相的正弦值,。把正弦表減少到?jīng)]有采用分時(shí)復(fù)用時(shí)的1/3。該部分電路的仿真波形如圖1所示,。圖中ADDA,,ADDB,,ADDC分別為A相,,B相和C相的相位值。ADDRESS為合成一路后的相位值,。
1.2 正弦波的對(duì)稱性及其應(yīng)用
由正弦波波形可知,,正弦波具有很好的對(duì)稱性。π/2~π的幅值大小與0~π/2的幅值大小相同,,只是他們?cè)跁r(shí)間上出現(xiàn)的順序剛好相反,。π~3π/2的幅值與0~π/2的幅值的絕對(duì)值相同,極性相反,。3π/2~2π部分的幅值與π~3π/2的大小相等,,只是時(shí)間上出現(xiàn)的順序相反。因此,,根據(jù)正弦波的對(duì)稱性,,只在正弦表ROM中存有相位0~π/2時(shí)的幅值。利用0~π/2相位時(shí)的幅值產(chǎn)生完整的正弦波波形,。 產(chǎn)生正弦波首先需要對(duì)正弦表進(jìn)行尋址,,把量化的相位值轉(zhuǎn)化為對(duì)應(yīng)的量化的幅值。由于正弦表ROM中僅存有相位0~π/2時(shí)的幅值,,而π/2~π,,3π/2~2π的絕對(duì)值與相位0~π/2的幅值在時(shí)間上出現(xiàn)的順序相反,因此,,要獲得π/2~π,,3π/2~2π的幅值必須對(duì)相位0~π/2時(shí)的幅值進(jìn)行反向?qū)ぶ贰7聪鄬ぶ吠ㄟ^地址輸入矢量取反來實(shí)現(xiàn)[2],。本設(shè)計(jì)把周期2π量化為8位,,即對(duì)一個(gè)正弦波周期進(jìn)行256次取樣。因此對(duì)0~π/2相位尋址所需的地址線為64條,。ADDRESS定義為STD_LOGIC_VECTOR(7DOWNTO0),,ADDRESS低6位用于對(duì)ROM表進(jìn)行尋址,當(dāng)?shù)刂窋?shù)據(jù)ADDRESS(6)為“1”時(shí),,對(duì)地址ADDRESS的低6位取反再對(duì)ROM尋址,。
正弦波的負(fù)半周的形成。由于負(fù)半周的幅值與正半周的幅值在極性上相反,,因此對(duì)輸出的對(duì)應(yīng)的幅值取反,。幅值是否取反由輸入的地址數(shù)據(jù)ADDRESS(7)決定,,當(dāng)ADDRESS(7)為“1”時(shí),對(duì)應(yīng)的輸出幅值取反[2],。并把ADDRESS(7)取反作為最終輸出的正弦波幅值的最高位,。這樣做實(shí)際上把正弦波向Y軸正方向平移了一個(gè)幅值,避免了幅值出現(xiàn)負(fù)值,。
這樣在分時(shí)復(fù)用的基礎(chǔ)上,,通過利用正弦波的對(duì)稱性,完成了三相數(shù)據(jù)只需一個(gè)1/4周期的ROM即可查詢,。在分時(shí)復(fù)用和利用正弦波對(duì)稱性2個(gè)相對(duì)獨(dú)立的模塊連接的過程中必須考慮到時(shí)序的問題,。如果只是把2個(gè)模塊簡(jiǎn)單的連接到一塊,只能產(chǎn)生一相的SPWM,,如果時(shí)序上解決不好,,產(chǎn)生的三相正弦波精度會(huì)受到影響,一個(gè)周期的正弦波不再由256個(gè)點(diǎn)組成,,如果這樣,,也就失去了優(yōu)化的意義。
2 數(shù)據(jù)的分離
由以上可知,,從一個(gè)1/4正弦波周期的ROM表中可以得到三相相位互差120°的正弦波的幅值,,但是由于輸入的三相地址在時(shí)間上是連續(xù)的,即對(duì)ROM表尋址的地址只有一路,,因此,,雖然得到了三相正弦波的幅值,可是他們是按ADDRESS中各相之間的關(guān)系混合在一起的,。因此,,必須對(duì)所得到的幅值進(jìn)行分離,才能得到三相正弦波,。由波形ADDRESS中各相地址的相互關(guān)系可知,,分離數(shù)據(jù)只要把分時(shí)復(fù)用的合成部分反接即可,仿真波形如圖2所示(為了使在同一個(gè)波形中可以同時(shí)看清DATA中的各項(xiàng)數(shù)據(jù),,圖2對(duì)MAXPLUSⅡ的仿真波形的2.0μs之前的輸出零部分進(jìn)行了截去,。)圖中DATA為根據(jù)1/4周期正弦表所得的三相混合數(shù)據(jù),DATAA,,DATAB,,DATAC分別為分離后A相,B相和C相的相位對(duì)應(yīng)的幅值,。由三相正弦波幅值之間的相互關(guān)系和變化趨勢(shì)可以得知,,輸出的數(shù)據(jù)是正確的。最后把所得的三相數(shù)據(jù)鎖存,再與產(chǎn)生的三角波比較產(chǎn)生三相六路SPWM,。
3 結(jié)語
由以上分析及仿真可知,,采用一個(gè)1/4周期的正弦表實(shí)現(xiàn)三相正弦數(shù)據(jù)的查詢是可行的。這將極大的節(jié)省所用FPGA的門數(shù),,提高其利用率,,極大地降低編程的勞動(dòng)量,且輸出的三相正弦波與不利用分時(shí)復(fù)用和正弦波對(duì)稱性時(shí)相比,,精度不受任何影響,,每個(gè)正弦周期還是由256個(gè)點(diǎn)組成,只是正弦波的頻率有所降低,,這是由于系統(tǒng)的速度和占用面積之間本來就是一種矛盾,。圖3是本次設(shè)計(jì)產(chǎn)生的三相六路SPWM,系統(tǒng)仿真的時(shí)鐘周期為200ns,,由于FPGA的系統(tǒng)時(shí)鐘頻率可以達(dá)到很高,所以不會(huì)對(duì)輸出的SPWM頻率產(chǎn)生影響,。
參考文獻(xiàn)
?。?]李明峰,葉劍利.分時(shí)復(fù)用時(shí)CPLD設(shè)計(jì)變頻系統(tǒng)中的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,,2002.[2]DanielJ.Modulating direct digital synthesizer in a quicklogic FPGA.[3]潘松,,王國(guó)棟.VHDL實(shí)用教程[M].成都:電子科技大學(xué)出版社,2000.