李艷芳,陳增祿,毛惠豐
(1.西安工業大學北方信息工程學院 陜西 西安 710025;2.西安工程大學 陜西 西安 710048)
近年來,隨著逆變器在各行各業應用的日益廣泛,采用正弦脈寬調制(SPWM)技術控制逆變器提高整個系統的控制效果是人們不斷探索的問題。逆變器的控制精度由基波和載波精度共同決定,而逆變器的開關頻率又不斷要求提高。在一些特殊的應用領域,所期望的SPWM逆變器的開關頻率,調制精度以及調制波頻率不斷提高,使得即便是使用數字信號處理器[1-2]也很難同時滿足速度和精度的要求。在大功率寬頻帶低失真逆變器的設計中[3-6]。
目前,正弦調制信號可以分為兩種方法生成:一種方法是對模擬正弦信號實時采樣并AD轉換,另一種是實時數字合成方法[8-9]。文獻[5]中采用模數轉換器采樣生成數字化正弦調制信號。文獻[6]闡述了生成數字化正弦信號的新方法,文中給出線性差值和查表相結合的原理產生數字化正弦信號。
本文提出了一種基于幅值等分的數字化正弦調制信號生成的方法。該方法將正弦信號的幅值進行等分,實現了充分利用DAC的轉換精度,實時生成正弦調制信號,并且應用硬件描述語言對系統進行了FPGA模塊化設計。
文中首先闡述了數字化正弦調制信號生成的基本原理,對其進行誤差分析,給出了這種方法的最大誤差,證明了這種方法誤差非常小。然后給出FPGA模塊化設計,最后給出實驗結果,證明了該方法是實用可行的。
設標幺化的正弦信號對應的表達式為:

其中,ω為正弦信號的角頻率,ω=2πfs,fs為正弦波頻率。
對正弦調制信號幅值1進行N等份,即每個相鄰幅值間隔距離是相等的。二進制中表示為N=2n-1-1,此處的N也同時為DAC轉換最高精度,n最高位為符號位。那么,各個等分的幅值點的模擬量依次為 V1,V2,V3,…,Vk,Vk+1…V2n-1,其對應的數字量為 Vd1,Vd2,Vd3,…,Vdk,Vd(k+1)…Vd(2n-1),各等分幅值點對應的正弦調制信號的時間點依次為 t1,t2,t3,…,tk,tk+1…t2n-1。其原理圖如圖1所示。
二進制量化單位為q,即每個相鄰階梯間的幅值相差對應的數字量為“1”。 從圖中我們可以看到,這種方法的基本原理是對幅值上進行等分,確定每個幅值等分點所對應的時間點,以前一個時間點為基準對輸出的二進制幅值進行累加(減),實現數字化正弦波的生成。
由正弦量的表達方程可以得出:

則有,

圖1 數字化正弦信號生成的原理圖Fig.1 The principle of digitized sin wave



按照上面所述的原理,計算出每個等分點的幅值Vdk和其對應的時間點tk,進而計算出相鄰兩個等分點的時間差△t。相鄰等分點之間的差值△V為數字量1。那么,只要每隔△t時間后令當前的數字量累加“1”即可實現數字化正弦信號生成。如需改變正弦信號的頻率,只需在每個時間點基礎上做處理即可,即

其中,Ts為期望正弦信號的周期,tk′為處理后tk對應的時間值。如需改變正弦信號的幅值,也只要使正弦信號乘以相應的數值即可。
圖2為基于FPGA的數字化正弦調制信號生成原理圖。設FPGA系統時鐘頻率為f0。A模塊中存放數字化正弦調制信號 N 等分點對應的時間值 t1,t2,t3,…,tk,tk+1…t2n-1;B 模塊為查找A模塊中時間表時的地址計數器;C模塊在任意系統時鐘下,計算需要頻率為fS正弦調制信號的實際時間點;D模塊為tk間隔定時器;E模塊為累加器;F模塊為幅值處理。

圖2 基于FPGA的正弦調制信號實現原理圖Fig.2 The principle of sin wave based on FPGA
通過已知的DAC轉換精度,來確定等分數N,從而給出地址計數器的位數。將N等分點對應的時間值存入ROM表中,將時間值取出后經過數據處理,將其轉換成對應于系統時鐘f0的數據,如設T0=1/f0,為系統時鐘周期,則tk時間點包含了M個系統時鐘周期T0,這里,

并在此基礎上根據 式(5)計算出所期望正弦信號對應的等分時間值tk′從而計算出其對應的系統時鐘的個數M′=tk′/T0。然后通過定時器進行定時,定時到后進行累加當量“1”,并且給地址計數器輸入信號使其地址加“1”。累加器輸出的結果為標幺化的正弦信號,最后按照所需的正弦信號的幅值進行對應的處理,得到最終期望的正弦信號。
由于正弦信號具有對稱性,很顯然我們只需要做出Ts/4內的波形,利用它的對稱性在程序內使之進行循環即可出現整個波形。
下面對用本文方法生成的高精度數字化正弦調制信號進行誤差分析。
根據以上所述原理,我們可以看出這種方法主要有兩個誤差來源源,下面我們對這兩個誤差來源進行分析。
第1種情況。假設q足夠小,即:正弦調制信號數字化處理后二進制位數足夠大,也就是說我們對幅值等分無窮多份,這正如我們所學過用多邊形的方法來求圓的面積和周長的方法是類似的,那么我們得到的階梯狀的數字化正弦信號是和實際模擬正弦信號波形是趨近一致的。這個時候誤差便產生在了FPGA系統時鐘頻率f0上。因為q量足夠小意味著時間間隔△t=tk+1-tk也是無窮小,但系統時鐘頻率不是無限大。則這就造成下一個時間點已經到了,可系統時鐘還沒過一個周期,從而在本該在幅值加數字量“1”的時候卻沒加上,產生了誤差。
那么這種情況就限制了生成數字化正弦信號的精度。因此,對于本文所提出的方法就要求正弦信號的頻率fS與時鐘頻率f0之間要滿足一定的關系如式(7)所示

即在要獲得的正弦信號最小的時間點不應該小于一個系統的時鐘周期。
第2種情況。以上分析是假設數字化正弦波的位數足夠大,事實上正弦波數字化處理之后,二進制的位數決定了量化誤差的大小。我們不可能把位數定的太高,否則數據存儲和處理都是不符合實際應用的。那么我們設定FPGA的系統時鐘頻率很小,進而分析由幅值等分有限造成的誤差。
如圖3所示,這時產生的誤差的跳變沿如果發生在tk時刻時產生最大的誤差為q;最小誤差就是0。在一個階梯波內,數字化正弦信號的誤差范圍為:

因此,可以比較直觀地看出這種做法的數字化正弦波的誤差的取值范圍,在不計FPGA本身系統頻率產生的誤差下,則相鄰兩個時間點間產生誤差在0~q之間。

圖3 幅值等分時誤差分析原理圖Fig.3 The analysis on error in amplitude equipartition
本文采用Altera公司的開發軟件QuartusⅡ,選用Cyclone II系列的EP2C8Q208C8 FPGA器件,根據本方法的原理,設計出了數字化正弦調制信號。系統時鐘f0為48 MHz,設定的DAC轉換精度為12位,則N取 2 047份,有2 048個等分時間點。設定正弦信號的頻率fS為工頻50 Hz。生成的數字化正弦調制信號經過DAC轉化成模擬數字化正弦調制信號如圖4所示。

圖4 數字化正弦信號生成實驗結果Fig.4 Experiment result of the digital sine wave
圖中包括兩組波形,上面為總體圖,下面為上面的局部放大。圖中,橫坐標為時間,其中上圖每格200 ms,下圖每格5 ms,縱坐標為幅值,每格5 V。由下圖可知,正弦調制信號的周期為20 ms。從圖中可知道本文所提出的數字化正弦調制信號生成的新方法正確性。
本文根據正弦信號的幅值等分,提出了一種實時生成數字化正弦信號方法,并給出了其FPGA模塊設計。對該方法的誤差進行了分析,給出了這種方法的最大誤差,證明這種方法的誤差非常小。實驗結果證明了該方法是實用可行的。
[1]Mwinyiwiwa B,Wolanski Z,Member,et al.Microproeessor implemented SPW M for multic0nverters with phase-shifted triangle carriers [J].IEEE Transactions on Indus-try A ppilcations,1998,34 (3):487-494.
[2]彭力,林新春,康勇.數字控制高頻變換器的新穎PWM方法[J].中國電機工程學報 ,2001,21(10):47-51.
PENG Li,LIN Xin-chun,KANG Yong.New PWM methord of controling high-frequency converter[J].Proceedings of the CSEE, 2001, 21(10):47-51.
[3]陳增祿 ,溫宗周,錢慧芳,等.基于 MSPWM 的大功率寬頻帶低失真逆變器 [J].電力電子技術,2002,36(5):22-24.
CHEN Zeng-lu,WEN Zong-zhou,QIAN Hui-fang,et al.A single-phase power inverterwith wide-band and lowdistortion based on MSPWM[J].Power Electronics,2002,36(5):22-24.
[4]陳增祿,錢慧芳,溫宗周,等.高精度寬頻帶逆變器直流漂移的多重采樣頻率控制方法研究 [J].電工技術雜志,2004,22 (10): 72-75.
CHEN Zeng-lu, Qian Hui-fang,WEN Zong-zhou,et al.A novelmultiple sample frequencies controlscheme for compensating the output DC drift of a wide-band highprecision inverter[J].Electrotechnical Application,2004, 22(10):72-75.
[5]毛惠豐,陳增祿,施杰.基于數字自然采樣法的 SPWM波形生成研究[J].電力電子技術,2003,37(6):76-78.
MAO Hui-feng,CHEN Zeng-lu,SHI Jie.Research on SPWM waveform formation based on digital nature sampling[J].Power Electronics,2003,37(6):76-78.
[6]侯小華,施杰,毛惠豐,等.基于FPGA的高精度數字化正弦信號生成的新方法 [J].計算機測量與控制,2007,15(6):824-840.
HOU Xiao-hua, SHI Jie, MAO Hui-feng,et al.Research of exact and digital sine wave generator based on FPGA[J].Computer Measurement&Control, 2007,15(6):824-840.
[7]李建林,王立喬,李彩霞,等.基于現場可編程門陣列的多路 PWM波形發生器 [J].中國電機工程學報,2005,25(10):55-58.
LI Jian-lin,WANG Li-qiao,LI Cai-xia.Multi-PWM pulse genrator based FPGA [J].Proceedings of the CSEE,2005,25(10):55-58.
[8]周巧娣,黃繼業.一種基于FPGA的正弦信號發生器的實驗方法[J].實驗室研究探索,2003,22(8):82-84.
ZHOU Qiao-di,HUANG Ji-ye.An experimental method of sine-wave signal generator based on FPGA[J].Research and Exploration in Laboratory,2003,22(8):82-84.
[9]李艷芳,陳增祿,詹佩,等.一種電壓跌落補償新拓撲及其跌落檢測及補償控制方法研究[C]//杭州:第十一屆電力電子年會,2008.