



摘 "要: 采用SPWM的三相逆變技術在調速傳動、電源轉換和電力電子控制領域均有著廣泛的應用,為提高三相SPWM產生的效率和精度,在此設計了一種不對稱規則采樣的三相SPWM發生器。調制正弦信號采用改進型迭代算法CORDIC產生,相對于查表法,無需占用大量的存儲器空間,利用等腰三角波與調制正弦波相比較的不規則采樣,得到SPWM的輸出信號,并于Quartus Ⅱ編譯環境下采用Verilog HDL硬件描述語言實現模塊化編程設計,進行波形仿真驗證了該設計的高效性和高精度性。該設計適用于高精度的三相逆變系統,也可與其他模塊相結合應用于各種三相電機的正弦驅動等場合。
關鍵詞: CORDIC; SPWM; 三相逆變; FPGA; Verilog
中圖分類號: TN919?34; TM464 " " " " " " " 文獻標識碼: A " " " " " " " " " " "文章編號: 1004?373X(2015)06?0159?04
Design of three?phase SPWM generator based on CORDIC algorithm
ZHANG Jie1, SHEN Hai?yun2, HU Qi?chao2, ZHONG Jian3, SHI Guang?hui3, YANG Shi?yong3
(1. School of Mechanical and Electrical Engineering, Southwest Petroleum University, Chengdu 610500, China;
2. School of Electronic and Information, Southwest Petroleum University, Chengdu 610500, China;
3. Technical Centre, Logging Co., Ltd., China National Petroleum Corporation Xi’an 710000, China )
Abstract: SPWM?based three?phase inversion technology is widely applied in many areas, such as speed governing transmission, power switching and power electronics control. A three?phase SPWM generator which samples with asymmetry rule is designed in the paper to improve the accuracy and efficiency of the three?phase SPWM. The modulation sinusoidal signal is achieved by an improved iterative algorithm CORDIC, which dispenses with occupation of a lot of memory space as the LUT does. The output signal of SPWM is obtained by comparing the irregular sampling of isosceles triangle wave and modulation sine wave. The modular programming design is realized via Verilog HDL under the Quartus ii compiler platform. The efficiency and accuracy of the design were verified by waveform simulation. The design is suitable for high?precision three?phase inverter system and can also be combined with other modules to be applied to sinusoidal drive of various three?phase motors.
Keywords: CORDIC; SPWM; three?phase inversion; FPGA; Verilog
三相SPWM使用SPWM模擬市電的三相輸出,在逆變器和變頻器領域被廣泛的采用。CORDIC算法即坐標旋轉數字計算方法,主要用于三角函數、雙曲線、指數、對數等超越函數的計算,該算法通過簡單移位和加減運算,能遞歸計算常用函數值,特別適合VLSI的實現。本設計使用改進型CORDIC算法,采用流水線結構,極大提高算法在FPGA/CPLD器件中的運算速度,實現脈沖寬度快速調制,響應時間達納秒級別。
1 "SPWM不規則采樣法分析
沖量等效的窄脈沖作用在慣性系統上,慣性系統的輸出或響應是基本相同的。SPWM 的產生即通過對輸入正弦波進行脈寬調制,獲得占空比按正弦規律來排列的脈沖序列,其脈沖寬度與正弦波幅值呈正相關,與脈沖間的間隔大小呈負相關,其調制原理如圖1所示。
lt;E:\王芳\現代電子技術201506\現代電子技術15年38卷第6期\Image\49t1.tifgt;
圖1 SPWM示意圖
產生SPWM的方法有多種,本文采用一種不對稱規則采樣法,核心思想為選用正弦波作為調制信號,用更高頻率的三角波作為載波,載波的頂點和底點作為抽樣點對正弦波進行抽樣,再與調制波進行比較判別,決定SPWM的脈沖寬度,局部放大如圖2所示。
lt;E:\王芳\現代電子技術201506\現代電子技術15年38卷第6期\Image\49t2.tifgt;
圖2 不對稱規則采樣局部放大圖
設調制正弦信號為[Ussin "ωt],載波信號三角波的電壓峰值為[Uc],周期為[Tc],每個三角波周期內的峰值頂點和底點都對正弦波進行一次采樣,如[t1]和[t2]時刻對正弦波進行采樣,過正弦波采樣點幅值做平行于時間軸的水平線,在[Ts]周期內與三角波的交點為C點和H點,在時間軸上的投影分別為B和G點,BG即為SPWM的導通時間[ton=Ta+Tb],SPWM的截止時間[toff=Tc+ton],由圖2易知:
[Ta=Tc4+aTb=Tc4+b] (1)
根據三角形相似定理,ΔABC~ΔADE和ΔFGH~ΔFJI,結合式(1)推出:
[Ta=Tc4(1+Msin ωt1)Tb=Tc4(1+Msin ωt2)] (2)
式(2)中[M=UsUc],是正弦波峰值電壓與三角波峰值電壓之比,稱為SPWM的模,模數M越大,相應的SPWM等效的正弦波電壓越高。
令三角波頻率fc與正弦波頻率fs之比為載波比N,則:
[N=fcfs=1Tcfs] (3)
[t1=kTc2t2=(k+1)Tc2] (4)
式中[k]為采樣號[k=0,1,2,…,N-1]。故式(2)中部分因子:
[ωt1=2πfs?kTc2=kπNωt2=2πfs?(k+1)Tc2=(k+1)πN] (5)
將式(5)代入式(2)可計算出[Ta]和[Tb]如下所示:
[Ta=Tc41+MsinkπNTb=Tc41+Msin(k+1)πN] (6)
整理得,三角載波一個周期內SPWM的導通時間[ton]的表達式為:
[ton=Ta+Tb=Tc42+MsinkπN+Msin(k+1)πN] (7)
由式(7)可以看出,通過確定三個參數[Tc]、[M]和[N]即可算出SPWM的脈寬[ton],據此可知,通過產生三路互成120°的正弦調制信號和一個單通道頻率數值遠高于正弦調制信號的三角載波信號進行判別運算即可輸出三相SPWM,本設計可采用FPGA或CPLD作為控制器件,正弦波信號通過CORDIC算法運算產生,利用其高速運算性能保證本設計的快速響應,純數字電路計算產生的正弦調制信號和三角載波信號頻譜特性好,能夠有效減少輸出電壓的諧波含量,克服了常見SPWM發生裝置的輸出電壓基波相位遲滯大的缺點,可實現快速控制。
2 "CORDIC算法原理
傳統的DDS產生正弦波一般是基于查找相位?幅值存儲表實現,通過增加地址線位數提升相位精度指標,將導致存儲表容量相應呈幾何級數增長,多路信號的硬件資源消耗巨大。本文采用的CORDIC(Coordinate Rotation Digital Computer)改進型算法可直接計算得出正弦波形的幅值,以代替DDS中的相位幅度轉換單元,釋放查表法所需大量ROM空間,其基本原理如圖3所示。
設初始向量[V(x,y)],旋轉角度[θ]后得到向量[V′′′],坐標對應關系為:
[x′=cosθ(x-ytanθ)y′=cosθ(y+xtanθ)] (8)
選取每一次旋轉角度的正切值為2的倍數,即[θi=arctan(2-i)],體現在硬件上即用FPGA的基本移位操作實現乘法運算,因[cosθ=cos-θ],每次旋轉可表達成
[xi+1=Ki(xi-yi?di?2-i)yi+1=Ki(yi+xi?di?2-i)] (9)
式中:[Ki=cos(arctan(2-i))];[di=±1]表示向量的旋轉方向,+1表示逆時針旋轉;-1表示順時針旋轉;[Ki]的乘積為比例因子[K]:
[K=i=0n-1Ki=i=0n-111+2-2i] (10)
由式(10)進行數學推導可知,當迭代次數足夠多時,[K]收斂于一個常數0.607 252 935 008 881 3,可以將此因子和迭代的最后一級的結果相乘,以減少校正運算,則可得迭代式(11):
[xi+1=xi-yi?di?2-iyi+1=yi+xi?di?2-i] (11)
每次旋轉后的剩余角度為:
[zi+1=zi-di?arctan2-i] (12)
所有旋轉角度的總和為:
[Φ=i=0∞di?arctan2-i] " "(13)
將所需產生的角度值為作[Z0]輸入,當[Zn→0]時,旋轉角度總和[Φ→Z0],此時向量為單位向量,迭代結果即實現了三角函數數值逼近,[cos "θ=xn],[sin "θ=yn]。
lt;E:\王芳\現代電子技術201506\現代電子技術15年38卷第6期\Image\49t3.tifgt;
圖3 CORDIC原理圖
3 "FPGA的硬件實現
CORDIC算法的FPGA硬件實現常見有兩種,循環迭代結構和流水線結構,前者設計簡單,占用資源少,但是N個迭代周期才能計算一次值,速度慢,后者結構較為復雜,需將每一步的迭代進行展開,插入寄存器,實現流水作業,實質上是以硬件資源換取速度,每一個時鐘節拍輸出一次值。本設計采用Altera公司的FPGA芯片EP2C8Q208C8N作為主控芯片,借助于Quartus ii開發平臺,基于自頂向下的設計思想,分別設計出CORDIC算法和三組不對稱規則比較法SPWM產生模塊,相位兩兩相差為120°,構建頂層框圖如圖4所示。
具體CORDIC算法模塊采用Verilog HDL硬件描述語言編寫,設計了8級流水線單元,其結構如圖5所示。
[xi]、[yi]的字長為8 b,最高位為符號位,因此弦函數的最大幅值為127,根據式(10)得出的比例因子[K]可計算出初始輸入值:
[x0=K?Us=0.607×127=77.089y0=0]
[Zi]的字長為10 b,最高位和次高位判別象限,低8位對應于0~[π2]的相位,其中一、三象限里[Zi]的低8位與函數的相位是一一對應關系,二、四象限里[Zi]的低8位與函數的相位成逆序對應關系,即需要用256減去[Zi]的低8位值后才能與函數的相位一一對應。
lt;E:\王芳\現代電子技術201506\現代電子技術15年38卷第6期\Image\49t4.tifgt;
圖4 頂層三相SPWM原理框圖
lt;E:\王芳\現代電子技術201506\現代電子技術15年38卷第6期\Image\49t5.tifgt;
圖5 CORDIC流水線結構圖
所設計系統在QuartusⅡ里的運行結果如圖6所示。
通過分析運行結果發現,本設計生成的SPWM遲滯極小,頻率變換便捷快速。將此三相SPWM信號接入死區發生器輸出六路PWM信號,再分配到FPGA的相應引腳上,便可以驅動橋式三相逆變器的三個橋臂,輸出三相電源。
lt;E:\王芳\現代電子技術201506\現代電子技術15年38卷第6期\Image\49t6.tifgt;
圖6 三相SPWM的運行結果
綜合編譯運行結果如圖7所示,分析可知,本設計只用到2個片內鎖相環,不需要乘法器和記憶體,邏輯資源占用不到10%,占用資源極少。
lt;E:\王芳\現代電子技術201506\現代電子技術15年38卷第6期\Image\49t7.tifgt;
圖7 綜合編譯結果
4 "結 "語
本文設計了一種基于CORDIC算法的三相SPWM發生器,詳述了其原理和硬件實現方法,并通過Verilog語言對算法進行模塊化設計,在Quartus Ⅱ里調用生成的算法模塊,實現了三相SPWM的設計。基于FPGA的三相SPWM發生器模塊采用全數字結構實現,可實現準確初始相位設置,相較于傳統SPWM具備明顯的優勢,方法新穎簡單,可操作性強,節省了大量理論計算,能夠有效抑制輸出SPWM波形的諧波含量,具有低成本、高靈活性、高精度、高可靠性和可移植性等優點,因此可以與其他功能模塊或IP核相結合應用于高效率的正弦驅動場合,實現工業級應用。
參考文獻
[1] 戴珂,王艦成,陳睿,等.兩種典型的三相SPWM 逆變器電路比較[J].電工技術學報,2012,27(2):82?88.
[2] 殷繼偉.SPWM逆變器驅動下異步電機的諧波分析[D].哈爾濱:哈爾濱理工大學,2012.
[3] 張燕賓.SPWM變頻調速應用技術[M].北京:機械工業出版社,2012.
[4] LIN Fan, LI Kun, LIU Yang. A design and implementation of edge controller for SPWM waves [C]// Proceeding of the IEEE International Conference on Information and Automation. Shenzhen, China: IEEE, 2011: 764?767.
[5] LAKKA Matina, KOUTROULIS Eftichios, DOLLAS Apostolos. Development of an FPGA?based SPWM generator for high switching frequency DC/AC inverters [J]. IEEE Transactions on power electronics, 2014, 29(1): 356?365.
[6] LU Yuan, JIAO Peng?peng, ZHANG Bin. The principle and realization of single?phase SPWM wave based on the counter method [C]// International Conference on System Science, Engineering Design and Manufacturing Informatization. Chengdu, China: [s.n.], 2012, 3: 10?13.
[7] 彭卓,鄧焱,馬騁,等.基于FPGA的高精度正弦信號發生器設計與實現[J].清華大學學報:自然科學版,2014,54(2):197?201.
[8] 汪洋.基于CORDIC算法直接數字頻率合成器研究[D].哈爾濱:哈爾濱理工大學,2012.
[9] 陸鵬威,梅杓春.基于CORDIC算法實現三角函數的運算[J].理論與方法,2008,27(1):10?19.
[10] MILAN Ghader, MOHAMADIAN Mustafa, SEIFI Ebrahim, et al. A novel SPWM strategy for single? to three?phase matrix converter [C]// Power Electronics, Drive Systems and Technologies Conference (PEDSTC). Tehran, Iran: [s.n.], 2011, 2: 495?500.
[11] 陳義和,佘磊,李交美.基于CORDIC算法的FPGA設計與優化[J].微電子學與計算機,2012,29(8):111?114.
[12] 鄧清秀.三相逆變器PWM實現方法研究[D].武漢:武漢工程大學,2006.
[13] WU F J, SUN B, PENG H R. Single?phase three?level SPWM scheme suitable for implementation with DSP [J]. Electronics Letters 2011, 47(17): 994?996.
[14] 宋丹.CORDIC算法在DDS中的應用[D].成都:電子科技大學,2007.
[15] 聶偉,饒金玲.基于改進型CORDIC算法和FPGA的DDS實現[J].電子技術應用,2013,39(12):45?48.
[16] 陳洋,管國云,聶在平.基于DDS和DSM的多通道信號源的設計與實現[J].測井技術,2013,37(1):75?79.