一種基于fpga的單極性spwm脈沖信號(hào)實(shí)現(xiàn)方法
【專利摘要】本發(fā)明涉及一種基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法,系統(tǒng)時(shí)鐘控制模塊給三角載波信號(hào)發(fā)生器和正弦調(diào)制波信號(hào)發(fā)生器提供工作時(shí)鐘,正弦調(diào)制波信號(hào)發(fā)生器輸出生成正弦波信號(hào),系統(tǒng)時(shí)鐘控制模塊調(diào)節(jié)工作時(shí)鐘的頻率,控制正弦波信號(hào)的頻率;三角載波信號(hào)發(fā)生器生成的正負(fù)極兩路三角載波以正弦波信號(hào)作為選通信號(hào),最后生成輸出單極性的三角波信號(hào);將生成的單極性載波三角波信號(hào)和調(diào)制正弦波信號(hào)作為比較取反模塊的兩個(gè)輸入信號(hào),比較取反模塊輸出進(jìn)入死區(qū)延時(shí)控制模塊,死區(qū)延時(shí)控制模塊輸出SPWM脈沖信號(hào)。本發(fā)明方法生成的SPWM脈沖信號(hào),具有精度高,速度快,穩(wěn)定性強(qiáng),可在線編程修改算法等優(yōu)點(diǎn)。
【專利說明】—種基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種單相全橋式逆變電路的控制技術(shù),特別涉及一種基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法。
【背景技術(shù)】
[0002]SPWM (正弦脈沖寬度調(diào)制)調(diào)制是一種比較成熟的PWM控制技術(shù);其被廣泛用于電機(jī)、光伏逆變等控制系統(tǒng)中。目前產(chǎn)生SPWM脈沖信號(hào)的方式有很多;例如利用模擬電路對(duì)載波和調(diào)制波比較,得到SPWM信號(hào);利用專用SPWM發(fā)生器集成電路,如SLE4520、SA4828等產(chǎn)生SPWM信號(hào);利用TMS2812、28335等DSP生成SPWM波。但這些方法都具有一定的局限性。利用專用SPWM發(fā)生器集成電路的成本和復(fù)雜度都較高,且靈活性很低;而利用DSP只能生成6路或者12路PWM波形。
[0003]隨著數(shù)字化集成電路的廣泛應(yīng)用,F(xiàn)PGA (現(xiàn)場(chǎng)可編程門陣列)成為新型數(shù)字化集成芯片開發(fā)的首選。FPGA具有開發(fā)周期短、功率消耗低、集成度高等優(yōu)點(diǎn)。FPGA的出現(xiàn)克服了專用ASIC芯片受時(shí)鐘影響和開發(fā)周期長(zhǎng)等缺點(diǎn),已在工業(yè)生產(chǎn)的各領(lǐng)域得到了廣泛的應(yīng)用。
【發(fā)明內(nèi)容】
[0004]本發(fā)明是針對(duì)現(xiàn)在PWM控制技術(shù)中SPWM正弦脈沖寬度調(diào)制方法具有局限性的問題,提出了一種基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法,可實(shí)現(xiàn)高精度、高穩(wěn)定性脈沖信號(hào)。
[0005]本發(fā)明的技術(shù)方案為:基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法,系統(tǒng)時(shí)鐘控制模塊給三角載波信號(hào)發(fā)生器和正弦調(diào)制波信號(hào)發(fā)生器提供工作時(shí)鐘,正弦調(diào)制波信號(hào)發(fā)生器輸出生成正弦波信號(hào),系統(tǒng)時(shí)鐘控制模塊調(diào)節(jié)工作時(shí)鐘的頻率,控制正弦波信號(hào)的頻率;三角載波信號(hào)發(fā)生器生成的正負(fù)極兩路三角載波以正弦波信號(hào)作為選通信號(hào),最后生成輸出單極性的三角波信號(hào);將生成的單極性載波三角波信號(hào)和調(diào)制正弦波信號(hào)作為比較取反模塊的兩個(gè)輸入信號(hào),比較取反模塊輸出進(jìn)入死區(qū)延時(shí)控制模塊,死區(qū)延時(shí)控制模塊輸出SPWM脈沖信號(hào)。
[0006]所述正弦波信號(hào)或正負(fù)極兩個(gè)三角載波的生成:
在MATLAB軟件平臺(tái)下,編程產(chǎn)生正弦波信號(hào)或正負(fù)極三角載波的數(shù)據(jù)表文件MIF文件,將MIF文件存儲(chǔ)在FPGA內(nèi)部存儲(chǔ)空間ROM中,由系統(tǒng)時(shí)鐘控制模塊為ROM核模塊提供工作時(shí)鐘,ROM核將按照工作時(shí)鐘順序讀取MIF文件數(shù)據(jù)生成正弦波信號(hào)或正負(fù)極三角載波。
[0007]所述將生成的單極性載波三角波信號(hào)和調(diào)制正弦波信號(hào)作為比較取反模塊的兩個(gè)輸入信號(hào),當(dāng)載波大于等于調(diào)制波信號(hào)時(shí),輸出高電平;當(dāng)載波小于調(diào)制波時(shí),輸出低電平,再經(jīng)過比較處理即可生成一路SPWMl信號(hào),將生成的SPWMl信號(hào)取反,即可得到另一路SPWM2信號(hào),SPWMl和SPWM2信號(hào)是無死區(qū)延時(shí)的互補(bǔ)脈沖信號(hào)。
[0008]本發(fā)明的有益效果在于:本發(fā)明基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法,鑒于FPGA的眾多優(yōu)點(diǎn);基于FPGA產(chǎn)生的SPWM脈沖信號(hào),具有精度高,速度快,穩(wěn)定性強(qiáng),可在線編程修改算法等優(yōu)點(diǎn)。本發(fā)明可以為電力電子逆變電路提供高精度、高穩(wěn)定性的控制脈沖信號(hào)。
【專利附圖】
【附圖說明】
[0009]圖1為本發(fā)明基于FPGA的單極性SPWM發(fā)生器結(jié)構(gòu)框圖;
圖2為本發(fā)明基于FPGA的單極性三角波信號(hào)發(fā)生器模塊原理結(jié)構(gòu)圖;
圖3為本發(fā)明基于FPGA的單極性SPWM發(fā)生器原理圖;
圖4為本發(fā)明的基于FPGA的死區(qū)延時(shí)時(shí)間結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0010]采用了基于FPGA的全數(shù)字式算法實(shí)現(xiàn)單極性SPWM信號(hào)發(fā)生器系統(tǒng)。如圖1所示系統(tǒng)的結(jié)構(gòu)框圖,系統(tǒng)主要由系統(tǒng)時(shí)鐘控制模塊、單極性三角載波信號(hào)發(fā)生器、正弦調(diào)制波信號(hào)發(fā)生器、比較取反模塊、死區(qū)延時(shí)控制模塊組成。
[0011]在MATLAB軟件平臺(tái)下,編程產(chǎn)生正弦波信號(hào)的數(shù)據(jù)表文件(.MIF文件)。將MIF文件存儲(chǔ)在FPGA的免費(fèi)IP核模塊一ROM中(免費(fèi)IP核模塊是Quartus開發(fā)軟件免費(fèi)提供給開發(fā)者使用的,具有很高的穩(wěn)定性)。由系統(tǒng)時(shí)鐘控制模塊為ROM核模塊提供工作時(shí)鐘,ROM核將按照工作時(shí)鐘順序讀取MIF文件數(shù)據(jù)生成正弦波信號(hào),并且可通過調(diào)節(jié)工作時(shí)鐘的頻率,控制正弦波信號(hào)的頻率。
[0012]同理,在MATLAB軟件平臺(tái)下,編程產(chǎn)生正極性和負(fù)極性的兩路三角波信號(hào)的數(shù)據(jù)表文件(.MIF文件)。將MIF文件分別存儲(chǔ)在FPGA的免費(fèi)IP核一ROM中。由系統(tǒng)時(shí)鐘控制模塊為ROM核模塊提供工作時(shí)鐘,ROM核將按照工作時(shí)鐘順序讀取MIF文件數(shù)據(jù),生成正極性和負(fù)極性的兩路三角波信號(hào)。
[0013]以正弦信號(hào)作為選擇器的選通信號(hào),運(yùn)用兩路數(shù)據(jù)選擇器(MUX)選擇兩路三角波信號(hào)的極性。當(dāng)正弦波信號(hào)為正時(shí),選擇正極性三角波信號(hào);當(dāng)正弦波為負(fù)時(shí),選擇負(fù)極性三角波信號(hào)。這樣即可生成單極性的三角波信號(hào),并且可通過調(diào)節(jié)工作時(shí)鐘的頻率,控制三角波信號(hào)的頻率。單極性三級(jí)波信號(hào)發(fā)生器模塊原理結(jié)構(gòu)圖如圖2所示。
[0014]如圖3所示基于FPGA的單極性SPWM發(fā)生器原理圖,將生成的單極性載波(三角波)信號(hào)和調(diào)制波(正弦波)信號(hào)作為比較取反模塊的輸入信號(hào)。當(dāng)載波大于等于調(diào)制波信號(hào)時(shí),輸出高電平;當(dāng)載波小于調(diào)制波時(shí),輸出低電平。這樣經(jīng)過比較處理即可生成一路SPWM信號(hào),記為SPWMl。將生成的SPWMl信號(hào)取反,即可得到另一路SPWM信號(hào),記為SPWM2。SPWMl和SPWM2信號(hào)是無死區(qū)延時(shí)的互補(bǔ)脈沖信號(hào)。
[0015]將生成的兩路互補(bǔ)SPWM信號(hào)=SPWMl和SPWM2信號(hào),作為死區(qū)延時(shí)控制模塊的輸入。經(jīng)過死區(qū)延時(shí)算法計(jì)算處理,輸出帶有死區(qū)延時(shí)時(shí)間的兩路SPWM脈沖信號(hào)。
[0016]本實(shí)施實(shí)例中,調(diào)制信號(hào)為50Hz的工頻正弦波信號(hào),載波信號(hào)為400Hz的三角波信號(hào)。正弦調(diào)制信號(hào)和單極性三角載波信號(hào)的調(diào)制比為0.8、頻率比為1/8。生成的是帶死區(qū)延時(shí)的兩路SPWM信號(hào)。
[0017]利用MATLAB工具,生成最小值和最大值分別為O和127的負(fù)極性三角波信號(hào)的數(shù)據(jù)文件;即MIF文件。利用同樣的方法生成最小值和最大值分別為128和255的正極性三角波信號(hào)的數(shù)據(jù)文件。正弦波信號(hào)的數(shù)據(jù)值MIF文件可同樣利用MATLAB工具生成,該實(shí)施實(shí)例生成的是最小值和最大值分別為26和230的正弦調(diào)制波信號(hào)(以128為水平參考O點(diǎn))。則此時(shí)的調(diào)制比為:
(230-26) /255=0.8。
[0018]將生成的正弦波信號(hào)的數(shù)據(jù)表(MIF)文件存儲(chǔ)在FPGA內(nèi)部存儲(chǔ)空間——ROM中。將正極性和負(fù)極性的三角波信號(hào)的數(shù)據(jù)表文件也存儲(chǔ)到ROM中,通過數(shù)據(jù)選擇器選擇三角波信號(hào)的極性。
[0019]正極性和負(fù)極性的三角波信號(hào)相位相差180°。當(dāng)正弦調(diào)制信號(hào)大于128時(shí),選用正極性三角波信號(hào);當(dāng)正弦調(diào)制信號(hào)小于128時(shí),選用負(fù)極性三角波信號(hào)。這種方法生成的三角波信號(hào)具有和正弦波信號(hào)相同的極性(已128為水平參考O點(diǎn));即為單極性調(diào)制方式。
[0020]FPGA的外部晶振時(shí)鐘50MHz經(jīng)過1024分頻后得到的時(shí)鐘為正弦調(diào)制波控制時(shí)鐘,按照分頻后的時(shí)鐘讀取ROM中的正弦信號(hào)值,輸出頻率為50Hz的正弦波信號(hào)。同時(shí)外部晶振時(shí)鐘50MHz經(jīng)過128分頻后得到的時(shí)鐘為三角波信號(hào)控制時(shí)鐘,按照分頻后的時(shí)鐘讀取ROM中的三角波信號(hào)值,生成頻率為400Hz的三角波信號(hào)。時(shí)鐘信號(hào)的1024和128分頻可由一個(gè)10位計(jì)數(shù)器實(shí)現(xiàn)。
[0021]將生成的單極性三角波信號(hào)和正弦波信號(hào)進(jìn)行比較。當(dāng)三角波信號(hào)大于等于正弦波信號(hào)時(shí),輸出為高電平;當(dāng)三角波信號(hào)小于正弦波信號(hào)時(shí),輸出為低電平。這樣就得到了一路SPWMl控制信號(hào)。將得到的SPWMl信號(hào)取反,即可得到另外一路SPWM2信號(hào)。
[0022]死區(qū)延時(shí)控制模塊的時(shí)鐘為外部晶振的50MHz時(shí)鐘。采用計(jì)數(shù)器計(jì)數(shù)模式生成延遲時(shí)間。本實(shí)施實(shí)例中選取的延時(shí)時(shí)間為4us ;即以50MHz為計(jì)數(shù)頻率的計(jì)數(shù)器計(jì)數(shù)200次。通過死區(qū)控制模塊生成的4us延遲信號(hào)與原SPWM信號(hào)進(jìn)行與運(yùn)算,即可得到帶有死區(qū)延時(shí)的單極性SPWM脈沖信號(hào)。死區(qū)時(shí)間產(chǎn)生的結(jié)構(gòu)圖如圖4所示。
【權(quán)利要求】
1.一種基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法,其特征在于,系統(tǒng)時(shí)鐘控制模塊給三角載波信號(hào)發(fā)生器和正弦調(diào)制波信號(hào)發(fā)生器提供工作時(shí)鐘,正弦調(diào)制波信號(hào)發(fā)生器輸出生成正弦波信號(hào),系統(tǒng)時(shí)鐘控制模塊調(diào)節(jié)工作時(shí)鐘的頻率,控制正弦波信號(hào)的頻率;三角載波信號(hào)發(fā)生器生成的正負(fù)極兩路三角載波以正弦波信號(hào)作為選通信號(hào),最后生成輸出單極性的三角波信號(hào);將生成的單極性載波三角波信號(hào)和調(diào)制正弦波信號(hào)作為比較取反模塊的兩個(gè)輸入信號(hào),比較取反模塊輸出進(jìn)入死區(qū)延時(shí)控制模塊,死區(qū)延時(shí)控制模塊輸出SPWM脈沖信號(hào)。
2.根據(jù)權(quán)利要求1所述基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法,其特征在于,所述正弦波信號(hào)或正負(fù)極兩個(gè)三角載波的生成: 在MATLAB軟件平臺(tái)下,編程產(chǎn)生正弦波信號(hào)或正負(fù)極三角載波的數(shù)據(jù)表文件MIF文件,將MIF文件存儲(chǔ)在FPGA內(nèi)部存儲(chǔ)空間ROM中,由系統(tǒng)時(shí)鐘控制模塊為ROM核模塊提供工作時(shí)鐘,ROM核將按照工作時(shí)鐘順序讀取MIF文件數(shù)據(jù)生成正弦波信號(hào)或正負(fù)極三角載波。
3.根據(jù)權(quán)利要求2所述基于FPGA的單極性SPWM脈沖信號(hào)實(shí)現(xiàn)方法,其特征在于,所述將生成的單極性載波三角波信號(hào)和調(diào)制正弦波信號(hào)作為比較取反模塊的兩個(gè)輸入信號(hào),當(dāng)載波大于等于調(diào)制波信號(hào)時(shí),輸出高電平;當(dāng)載波小于調(diào)制波時(shí),輸出低電平,再經(jīng)過比較處理即可生成一路SPWMl信號(hào),將生成的SPWMl信號(hào)取反,即可得到另一路SPWM2信號(hào),SPWMl和SPWM2信號(hào)是無死區(qū)延時(shí)的互補(bǔ)脈沖信號(hào)。
【文檔編號(hào)】H03K7/08GK104202023SQ201410413772
【公開日】2014年12月10日 申請(qǐng)日期:2014年8月21日 優(yōu)先權(quán)日:2014年8月21日
【發(fā)明者】楊帆, 盛波 申請(qǐng)人:上海電力學(xué)院