李艷芳,陳增祿,毛惠豐
(1.西安工業(yè)大學(xué)北方信息工程學(xué)院 陜西 西安 710025;2.西安工程大學(xué) 陜西 西安 710048)
近年來,隨著逆變器在各行各業(yè)應(yīng)用的日益廣泛,采用正弦脈寬調(diào)制(SPWM)技術(shù)控制逆變器提高整個(gè)系統(tǒng)的控制效果是人們不斷探索的問題。逆變器的控制精度由基波和載波精度共同決定,而逆變器的開關(guān)頻率又不斷要求提高。在一些特殊的應(yīng)用領(lǐng)域,所期望的SPWM逆變器的開關(guān)頻率,調(diào)制精度以及調(diào)制波頻率不斷提高,使得即便是使用數(shù)字信號處理器[1-2]也很難同時(shí)滿足速度和精度的要求。在大功率寬頻帶低失真逆變器的設(shè)計(jì)中[3-6]。
目前,正弦調(diào)制信號可以分為兩種方法生成:一種方法是對模擬正弦信號實(shí)時(shí)采樣并AD轉(zhuǎn)換,另一種是實(shí)時(shí)數(shù)字合成方法[8-9]。文獻(xiàn)[5]中采用模數(shù)轉(zhuǎn)換器采樣生成數(shù)字化正弦調(diào)制信號。文獻(xiàn)[6]闡述了生成數(shù)字化正弦信號的新方法,文中給出線性差值和查表相結(jié)合的原理產(chǎn)生數(shù)字化正弦信號。
本文提出了一種基于幅值等分的數(shù)字化正弦調(diào)制信號生成的方法。該方法將正弦信號的幅值進(jìn)行等分,實(shí)現(xiàn)了充分利用DAC的轉(zhuǎn)換精度,實(shí)時(shí)生成正弦調(diào)制信號,并且應(yīng)用硬件描述語言對系統(tǒng)進(jìn)行了FPGA模塊化設(shè)計(jì)。
文中首先闡述了數(shù)字化正弦調(diào)制信號生成的基本原理,對其進(jìn)行誤差分析,給出了這種方法的最大誤差,證明了這種方法誤差非常小。然后給出FPGA模塊化設(shè)計(jì),最后給出實(shí)驗(yàn)結(jié)果,證明了該方法是實(shí)用可行的。
設(shè)標(biāo)幺化的正弦信號對應(yīng)的表達(dá)式為:
其中,ω為正弦信號的角頻率,ω=2πfs,fs為正弦波頻率。
對正弦調(diào)制信號幅值1進(jìn)行N等份,即每個(gè)相鄰幅值間隔距離是相等的。二進(jìn)制中表示為N=2n-1-1,此處的N也同時(shí)為DAC轉(zhuǎn)換最高精度,n最高位為符號位。那么,各個(gè)等分的幅值點(diǎn)的模擬量依次為 V1,V2,V3,…,Vk,Vk+1…V2n-1,其對應(yīng)的數(shù)字量為 Vd1,Vd2,Vd3,…,Vdk,Vd(k+1)…Vd(2n-1),各等分幅值點(diǎn)對應(yīng)的正弦調(diào)制信號的時(shí)間點(diǎn)依次為 t1,t2,t3,…,tk,tk+1…t2n-1。其原理圖如圖1所示。
二進(jìn)制量化單位為q,即每個(gè)相鄰階梯間的幅值相差對應(yīng)的數(shù)字量為“1”。 從圖中我們可以看到,這種方法的基本原理是對幅值上進(jìn)行等分,確定每個(gè)幅值等分點(diǎn)所對應(yīng)的時(shí)間點(diǎn),以前一個(gè)時(shí)間點(diǎn)為基準(zhǔn)對輸出的二進(jìn)制幅值進(jìn)行累加(減),實(shí)現(xiàn)數(shù)字化正弦波的生成。
由正弦量的表達(dá)方程可以得出:
則有,
圖1 數(shù)字化正弦信號生成的原理圖Fig.1 The principle of digitized sin wave
按照上面所述的原理,計(jì)算出每個(gè)等分點(diǎn)的幅值Vdk和其對應(yīng)的時(shí)間點(diǎn)tk,進(jìn)而計(jì)算出相鄰兩個(gè)等分點(diǎn)的時(shí)間差△t。相鄰等分點(diǎn)之間的差值△V為數(shù)字量1。那么,只要每隔△t時(shí)間后令當(dāng)前的數(shù)字量累加“1”即可實(shí)現(xiàn)數(shù)字化正弦信號生成。如需改變正弦信號的頻率,只需在每個(gè)時(shí)間點(diǎn)基礎(chǔ)上做處理即可,即
其中,Ts為期望正弦信號的周期,tk′為處理后tk對應(yīng)的時(shí)間值。如需改變正弦信號的幅值,也只要使正弦信號乘以相應(yīng)的數(shù)值即可。
圖2為基于FPGA的數(shù)字化正弦調(diào)制信號生成原理圖。設(shè)FPGA系統(tǒng)時(shí)鐘頻率為f0。A模塊中存放數(shù)字化正弦調(diào)制信號 N 等分點(diǎn)對應(yīng)的時(shí)間值 t1,t2,t3,…,tk,tk+1…t2n-1;B 模塊為查找A模塊中時(shí)間表時(shí)的地址計(jì)數(shù)器;C模塊在任意系統(tǒng)時(shí)鐘下,計(jì)算需要頻率為fS正弦調(diào)制信號的實(shí)際時(shí)間點(diǎn);D模塊為tk間隔定時(shí)器;E模塊為累加器;F模塊為幅值處理。
圖2 基于FPGA的正弦調(diào)制信號實(shí)現(xiàn)原理圖Fig.2 The principle of sin wave based on FPGA
通過已知的DAC轉(zhuǎn)換精度,來確定等分?jǐn)?shù)N,從而給出地址計(jì)數(shù)器的位數(shù)。將N等分點(diǎn)對應(yīng)的時(shí)間值存入ROM表中,將時(shí)間值取出后經(jīng)過數(shù)據(jù)處理,將其轉(zhuǎn)換成對應(yīng)于系統(tǒng)時(shí)鐘f0的數(shù)據(jù),如設(shè)T0=1/f0,為系統(tǒng)時(shí)鐘周期,則tk時(shí)間點(diǎn)包含了M個(gè)系統(tǒng)時(shí)鐘周期T0,這里,
并在此基礎(chǔ)上根據(jù) 式(5)計(jì)算出所期望正弦信號對應(yīng)的等分時(shí)間值tk′從而計(jì)算出其對應(yīng)的系統(tǒng)時(shí)鐘的個(gè)數(shù)M′=tk′/T0。然后通過定時(shí)器進(jìn)行定時(shí),定時(shí)到后進(jìn)行累加當(dāng)量“1”,并且給地址計(jì)數(shù)器輸入信號使其地址加“1”。累加器輸出的結(jié)果為標(biāo)幺化的正弦信號,最后按照所需的正弦信號的幅值進(jìn)行對應(yīng)的處理,得到最終期望的正弦信號。
由于正弦信號具有對稱性,很顯然我們只需要做出Ts/4內(nèi)的波形,利用它的對稱性在程序內(nèi)使之進(jìn)行循環(huán)即可出現(xiàn)整個(gè)波形。
下面對用本文方法生成的高精度數(shù)字化正弦調(diào)制信號進(jìn)行誤差分析。
根據(jù)以上所述原理,我們可以看出這種方法主要有兩個(gè)誤差來源源,下面我們對這兩個(gè)誤差來源進(jìn)行分析。
第1種情況。假設(shè)q足夠小,即:正弦調(diào)制信號數(shù)字化處理后二進(jìn)制位數(shù)足夠大,也就是說我們對幅值等分無窮多份,這正如我們所學(xué)過用多邊形的方法來求圓的面積和周長的方法是類似的,那么我們得到的階梯狀的數(shù)字化正弦信號是和實(shí)際模擬正弦信號波形是趨近一致的。這個(gè)時(shí)候誤差便產(chǎn)生在了FPGA系統(tǒng)時(shí)鐘頻率f0上。因?yàn)閝量足夠小意味著時(shí)間間隔△t=tk+1-tk也是無窮小,但系統(tǒng)時(shí)鐘頻率不是無限大。則這就造成下一個(gè)時(shí)間點(diǎn)已經(jīng)到了,可系統(tǒng)時(shí)鐘還沒過一個(gè)周期,從而在本該在幅值加數(shù)字量“1”的時(shí)候卻沒加上,產(chǎn)生了誤差。
那么這種情況就限制了生成數(shù)字化正弦信號的精度。因此,對于本文所提出的方法就要求正弦信號的頻率fS與時(shí)鐘頻率f0之間要滿足一定的關(guān)系如式(7)所示
即在要獲得的正弦信號最小的時(shí)間點(diǎn)不應(yīng)該小于一個(gè)系統(tǒng)的時(shí)鐘周期。
第2種情況。以上分析是假設(shè)數(shù)字化正弦波的位數(shù)足夠大,事實(shí)上正弦波數(shù)字化處理之后,二進(jìn)制的位數(shù)決定了量化誤差的大小。我們不可能把位數(shù)定的太高,否則數(shù)據(jù)存儲和處理都是不符合實(shí)際應(yīng)用的。那么我們設(shè)定FPGA的系統(tǒng)時(shí)鐘頻率很小,進(jìn)而分析由幅值等分有限造成的誤差。
如圖3所示,這時(shí)產(chǎn)生的誤差的跳變沿如果發(fā)生在tk時(shí)刻時(shí)產(chǎn)生最大的誤差為q;最小誤差就是0。在一個(gè)階梯波內(nèi),數(shù)字化正弦信號的誤差范圍為:
因此,可以比較直觀地看出這種做法的數(shù)字化正弦波的誤差的取值范圍,在不計(jì)FPGA本身系統(tǒng)頻率產(chǎn)生的誤差下,則相鄰兩個(gè)時(shí)間點(diǎn)間產(chǎn)生誤差在0~q之間。
圖3 幅值等分時(shí)誤差分析原理圖Fig.3 The analysis on error in amplitude equipartition
本文采用Altera公司的開發(fā)軟件QuartusⅡ,選用Cyclone II系列的EP2C8Q208C8 FPGA器件,根據(jù)本方法的原理,設(shè)計(jì)出了數(shù)字化正弦調(diào)制信號。系統(tǒng)時(shí)鐘f0為48 MHz,設(shè)定的DAC轉(zhuǎn)換精度為12位,則N取 2 047份,有2 048個(gè)等分時(shí)間點(diǎn)。設(shè)定正弦信號的頻率fS為工頻50 Hz。生成的數(shù)字化正弦調(diào)制信號經(jīng)過DAC轉(zhuǎn)化成模擬數(shù)字化正弦調(diào)制信號如圖4所示。
圖4 數(shù)字化正弦信號生成實(shí)驗(yàn)結(jié)果Fig.4 Experiment result of the digital sine wave
圖中包括兩組波形,上面為總體圖,下面為上面的局部放大。圖中,橫坐標(biāo)為時(shí)間,其中上圖每格200 ms,下圖每格5 ms,縱坐標(biāo)為幅值,每格5 V。由下圖可知,正弦調(diào)制信號的周期為20 ms。從圖中可知道本文所提出的數(shù)字化正弦調(diào)制信號生成的新方法正確性。
本文根據(jù)正弦信號的幅值等分,提出了一種實(shí)時(shí)生成數(shù)字化正弦信號方法,并給出了其FPGA模塊設(shè)計(jì)。對該方法的誤差進(jìn)行了分析,給出了這種方法的最大誤差,證明這種方法的誤差非常小。實(shí)驗(yàn)結(jié)果證明了該方法是實(shí)用可行的。
[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]彭力,林新春,康勇.數(shù)字控制高頻變換器的新穎PWM方法[J].中國電機(jī)工程學(xué)報(bào) ,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].電力電子技術(shù),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].電工技術(shù)雜志,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]毛惠豐,陳增祿,施杰.基于數(shù)字自然采樣法的 SPWM波形生成研究[J].電力電子技術(shù),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的高精度數(shù)字化正弦信號生成的新方法 [J].計(jì)算機(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]李建林,王立喬,李彩霞,等.基于現(xiàn)場可編程門陣列的多路 PWM波形發(fā)生器 [J].中國電機(jī)工程學(xué)報(bào),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]周巧娣,黃繼業(yè).一種基于FPGA的正弦信號發(fā)生器的實(shí)驗(yàn)方法[J].實(shí)驗(yàn)室研究探索,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]李艷芳,陳增祿,詹佩,等.一種電壓跌落補(bǔ)償新拓?fù)浼捌涞錂z測及補(bǔ)償控制方法研究[C]//杭州:第十一屆電力電子年會,2008.