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