基于Nios II處理器的SVPWM IP Core設(shè)計(jì)
摘要 為降低FPGA實(shí)現(xiàn)3電平SVPWM算法的復(fù)雜性,減小SVPWM模塊所占用的資源,文中利用正弦函數(shù)和余弦函數(shù)的關(guān)系,采用小容量ROM提出了一種新的SVPWM控制算法。利用Verilog HDL實(shí)現(xiàn)了算法的硬件設(shè)計(jì),并封裝成IP核以方便設(shè)計(jì)復(fù)用,在Altera公司的DE2開發(fā)板上進(jìn)行了設(shè)計(jì)驗(yàn)證,體現(xiàn)了SOPC嵌入式系統(tǒng)的靈活性和擴(kuò)展性。
關(guān)鍵詞 有源逆變;SVPWM;IP Core;SOPC
電壓空間矢量脈沖寬度調(diào)制(SVPWM)具有諧波小、直流電壓利用率高等特點(diǎn),因而廣泛應(yīng)用于具有高效、節(jié)能特性的有源逆變中。由于SVPWM物理概念清晰、控制算法簡單、數(shù)字化實(shí)現(xiàn)方便。因此通常用微控制器(MCU)或數(shù)字信號處理器(DSP)實(shí)現(xiàn),使用MCU實(shí)現(xiàn)具有較大的靈活性,但速度受到一定限制;使用DSP實(shí)現(xiàn)雖可以提高開關(guān)頻率,但兩者都有開發(fā)時(shí)間相對較長、CPU占用率高的缺點(diǎn)。文中提出了一種基于FPGA的SVPWM硬件實(shí)現(xiàn)方案,文中方案與其他硬件設(shè)計(jì)方案相比電路結(jié)構(gòu)簡單、占用FPGA資源少、便于和MCU/DSP接口。由于采用基于FPGA的硬件電路設(shè)計(jì),因此大大降低了對MCU/DSP速度的要求,同時(shí)減小了編程工作量。
1 SVPWM基本原理
1.1 參考電壓矢量的合成
三相逆變橋電路如圖1所示,其中6個(gè)開關(guān)管受3組互補(bǔ)脈沖控制,總共有8種可能的開關(guān)組合,對應(yīng)于8種基本空間電壓矢量
V7=V8=0 (2)
其中6種是非零基本空間電壓矢量,另外2種是零空間電壓矢量。當(dāng)逆變器單獨(dú)輸出6種基本電壓空間矢量時(shí),電動機(jī)定子磁鏈?zhǔn)噶渴付说倪\(yùn)動軌跡就是一個(gè)正六邊形,如圖2中實(shí)線所示。采用8個(gè)基本電壓矢量實(shí)現(xiàn)目標(biāo)電壓矢量的合成,即在一個(gè)開關(guān)周期內(nèi)通過對基本電壓矢量進(jìn)行組合,使其平均值與給定電壓矢量相等。具體而言,某區(qū)域中的電壓矢量可由組成這個(gè)區(qū)域的2個(gè)相鄰的非零矢量及零矢量的不同作用時(shí)間來合成。矢量的作用時(shí)間可以一次施加,也可以在一個(gè)采樣周期內(nèi)分多次施加,通過控制各個(gè)電壓矢量的作用時(shí)間,使電壓空間矢量接近按圓軌跡旋轉(zhuǎn),如圖2中虛線所示,從而使磁通逼近基準(zhǔn)磁鏈圓,產(chǎn)生恒定的電磁轉(zhuǎn)矩。
[!--empirenews.page--]
以區(qū)間1中的電壓矢量Vref為例,可將其分解為矢量和之Va和Vb,這2個(gè)電壓矢量分別是電壓矢量V1和V2在時(shí)間間隔T中有效作用時(shí)間ta、tb的等效電壓矢量
為降低轉(zhuǎn)換頻率,零電壓矢量也用于矢量合成,零矢量作用時(shí)間為t0。即PWM周期TPWM等于ta、tb、t0之和
以上討論的是Vref在區(qū)間1中的情況,其中θ是Vref與該區(qū)間中那個(gè)滯后電壓矢量的夾角,對其他區(qū)間除了用于合成Vref的2個(gè)基本電壓矢量不同外,分析計(jì)算過程完全相同,滯后、超前的2個(gè)電壓矢量作用的時(shí)間亦分別由式(7)和式(6)給出。
1.2 七段式電壓空間矢量PWM波形
矢量的作用效果與其持續(xù)時(shí)間有關(guān),為使磁鏈運(yùn)動平滑,可以將各矢量分2次產(chǎn)生,為減少開關(guān)次數(shù)以降低開關(guān)損耗,每次僅改變?nèi)嗄孀儤蛑幸粋€(gè)橋臂的控制信號,由此得到各扇區(qū)橋臂開關(guān)切換順序,如表1所示,區(qū)間1相應(yīng)的橋臂控制信號時(shí)序如圖3所示,考慮到開關(guān)切換順序之后,圖3中t0’=(TPWM/2-t1-t2)/2,T0’=t0/4,對奇數(shù)區(qū)間t1=ta/2,t2=tb/2;對偶數(shù)區(qū)間t1=tb/2,t2=ta/2。
[!--empirenews.page--]
2 SVPWM IP Core設(shè)計(jì)
SVPWM IP Core結(jié)構(gòu)框圖如圖4所示。整個(gè)系統(tǒng)由總線接口、PWM可逆計(jì)數(shù)、分頻、ROM地址生成、正弦值存儲、時(shí)序控制、乘法器及死區(qū)發(fā)生器等模塊構(gòu)成。
(1)寄存器組。
寄存器組提供了該IP Core與CPU交換信息的通道。當(dāng)采用NiosII作為微控制器時(shí),用戶可以通過Avalon總線采用基地址+偏移量的方式訪問IP Core內(nèi)部的6個(gè)寄存器,如表2所示。
[!--empirenews.page--]
(2)Avalon接口設(shè)計(jì)。
Avalon接口為SVPWM IP Core提供了一個(gè)標(biāo)準(zhǔn)的Avalon從端口,通過此接口按照Avalon從端口的傳輸協(xié)議對IP Core進(jìn)行控制,相關(guān)的Avalon接口信息如表3所示。
(3)乘法因子計(jì)算模塊。
這里的乘法因子是指式(6)和式(7)中的方括號內(nèi)運(yùn)算的結(jié)果。本模塊根據(jù)外部A/D轉(zhuǎn)換的結(jié)果、設(shè)定的TPWM及預(yù)期的參考電壓矢量的數(shù)值,計(jì)算出式(6),式(7)的方括號內(nèi)的結(jié)果,用于乘法模塊中對ta和tb的計(jì)算。
(4)數(shù)據(jù)存儲模塊。
sinθ及sin(π/3-θ)在擴(kuò)大255倍后,分別作為高8位和低8位存儲在容量為128×16 bit的ROM中,從而可以同時(shí)讀取分別用于式(6)中tb和式(7)中ta的計(jì)算。時(shí)序控制ROM的容量為32×3 bit,存儲表1中的開關(guān)時(shí)序,其高3位地址用于對6個(gè)扇區(qū)編碼,最低2位地址用于某區(qū)間內(nèi)的時(shí)序控制,由于在同一區(qū)間中采用升降計(jì)數(shù),根據(jù)表1中橋臂開關(guān)切換的對稱性可知,只要兩位地址即可存儲時(shí)序控制信號。
(5)數(shù)據(jù)選擇器。
當(dāng)0≤θ<π/6時(shí),利用正弦值存儲模塊輸出數(shù)據(jù)的高8位計(jì)算tb,利用低8位計(jì)算ta;而當(dāng)θ值為π/6≤θ<π/3時(shí),則應(yīng)該利用低8位計(jì)算tb,利用高8位計(jì)算ta。通過數(shù)據(jù)選擇器實(shí)現(xiàn)高、低8位的交換。
(6)時(shí)序控制模塊及IGBT時(shí)序控制ROM。
時(shí)序控制模塊根據(jù)當(dāng)前所處的扇區(qū)、ta、tb及當(dāng)前PWM的計(jì)數(shù)值生成IGBT時(shí)序控制ROM的地址。IGBT時(shí)序控制ROM中存儲的是橋臂開關(guān)控制的時(shí)序,根據(jù)時(shí)序控制模塊輸出的地址,將存儲在ROM中的開關(guān)控制量讀出后送至死區(qū)發(fā)生器模塊。
(7)死區(qū)發(fā)生器模塊。
死區(qū)發(fā)生器模塊用于將橋臂上部IGBT管的3個(gè)時(shí)序控制信號,變?yōu)橛脩粼O(shè)定死區(qū)時(shí)間的3組信號,對6個(gè)IGBT管進(jìn)行控制,死區(qū)時(shí)間在0~6.3μs之間設(shè)置,步進(jìn)值0.1μs。死區(qū)發(fā)生器仿真結(jié)果如圖5所示,輸入信號為pulse_in,輸出信號為pulse_a和pulse_b,死區(qū)時(shí)間設(shè)置為0.4μs。
3 設(shè)計(jì)驗(yàn)證
各模塊設(shè)計(jì)完成后,用原理圖方式完成系統(tǒng)設(shè)計(jì)如圖4所示,在SOPC Builder中將之作為自定義組件添加到系統(tǒng)中生成IP Core。設(shè)計(jì)驗(yàn)證在Altera公司的DE2開發(fā)板上進(jìn)行,將該IP Core添加到SOPC工程中,編譯、下載到FPGA芯片中,運(yùn)行測試程序后,利用SignalTapII Logic AnMyer捕捉到橋臂上方3個(gè)IGBT管的控制信號如圖6所示。圖中的sector是為方便測試而引出的扇區(qū)編號信號,由圖可知設(shè)計(jì)正確。
4 結(jié)束語
設(shè)計(jì)了一個(gè)結(jié)構(gòu)簡單、性能良好的SVPWM IP核,并在Nios II平臺下將其封裝成一個(gè)模塊化的獨(dú)立元件,使之易于在其他的工程中復(fù)用,利用該IP核可以方便地構(gòu)建基于Nios II嵌入式處理器的SVPWM控制系統(tǒng),體現(xiàn)了SOPC嵌入式系統(tǒng)的靈活性和擴(kuò)展性。