周京華,王晨,張新雷,章小衛(wèi),陳亞愛
(北方工業(yè)大學 變頻技術(shù)北京市工程研究中心,北京 100144)
隨著新型數(shù)字控制器的出現(xiàn),電力電子變換器正朝著開關(guān)頻率和集成度越來越高、損耗越來越低的全數(shù)字化控制系統(tǒng)方向發(fā)展[1]。電力電子變換器控制系統(tǒng)屬于典型的快過程系統(tǒng),核心任務是為變換器主電路開關(guān)器件產(chǎn)生相應的開關(guān)信號,因此對于實時性的要求比一般的控制系統(tǒng)要高。目前,數(shù)字信號處理器(digital signal processor,DSP)多采用改進型哈佛結(jié)構(gòu),芯片內(nèi)部具有分立的程序和數(shù)據(jù)空間,可以同時訪問指令和數(shù)據(jù),同時流水線操作使取指令、譯碼和執(zhí)行等操作重疊運行,可高速串行完成各類控制算法,在電力電子領(lǐng)域得到了廣泛應用[2],但隨著電力電子領(lǐng)域中低計算延時和高實時性要求的控制算法數(shù)量大大增加[3],以DSP為核心的控制系統(tǒng)存在以下問題:
1)DSP基于規(guī)則采樣法實現(xiàn)PWM調(diào)制,會引入1.5拍的固有延時(包括計算延時與調(diào)制延時)[4],在低開關(guān)頻率的大功率應用場合驅(qū)動脈沖更新延遲加大,調(diào)制環(huán)節(jié)滯后特征愈發(fā)明顯,固有延時對控制系統(tǒng)的穩(wěn)定性影響尤為嚴重。
2)DSP順序執(zhí)行指令的方式?jīng)Q定了控制器的實時性能較并行執(zhí)行差,對于一些高性能電力電子變換器的控制系統(tǒng)設計,以DSP為核心的控制器不能滿足控制系統(tǒng)對實時性的極高要求。
3)DSP內(nèi)部硬件結(jié)構(gòu)不可重新配置,PWM通道數(shù)等外設資源有限,可擴展性受到一定程度的限制,無法直接應用于多驅(qū)動脈沖的應用場合。
在電力電子控制器對于控制實時性和靈活性提出更高需求下,DSP的局限性在一定程度上制約了裝置性能[5-6]。文獻[7]指出當電機相數(shù)增加時,所需PWM通道數(shù)將成倍增加,一個15相感應電機變頻調(diào)速系統(tǒng)需要30路PWM驅(qū)動信號,即便使用最新推出的雙核微處理器TMS320F2837xD最多也僅能提供24路PWM驅(qū)動信號,無法滿足PWM信號通道數(shù)目要求。
現(xiàn)場可編程門陣列(field programmable gate array,F(xiàn)PGA)特有的硬件并行性可實現(xiàn)接近于實時反饋的控制環(huán)路,因計算時間延遲而產(chǎn)生的控制滯后可忽略不計,配合高速過采樣,能獲得實時性非常接近于模擬控制器的控制性能[8]。文獻[9]給出了一種DSP+FPGA的控制系統(tǒng)組合設計方法,該控制系統(tǒng)中DSP實現(xiàn)復雜計算,將計算出的調(diào)制所需信息通過數(shù)據(jù)總線傳送至FPGA,在FPGA中完成調(diào)制,但這種設計架構(gòu)實際上僅將FPGA作為DSP的協(xié)處理器進行PWM信號生成,并未發(fā)揮出FPGA并行執(zhí)行算法的優(yōu)勢;文獻[10]考慮FPGA固有的并行執(zhí)行特性及高速計算能力,選用其作為控制器,設計了實時性較高的空間矢量電流滯環(huán)數(shù)字控制系統(tǒng);文獻[11]使用FPGA作為控制器實現(xiàn)了多電平有源箝位DC/AC變換器開環(huán)數(shù)字控制系統(tǒng)與多路PWM信號輸出,雖有相應閉環(huán)系統(tǒng)的設計的簡要說明,但未給出指導性的設計原則和設計方法。
以FPGA為核心的電力電子控制系統(tǒng)與傳統(tǒng)采用DSP作為核心控制器的方法在控制算法的實現(xiàn)上有著本質(zhì)上的不同[12-13]。DSP實現(xiàn)控制算法的方式是利用C或C++語言進行編程,在固定的硬件電路中串行執(zhí)行軟件指令;而FPGA控制系統(tǒng)是采用可被綜合成硬件電路的硬件描述語言進行硬件電路設計,控制算法在芯片內(nèi)部以信號線的硬連接方式生成各種硬件邏輯運算電路實現(xiàn)計算。由于這種特殊的實現(xiàn)方式,理論上所有指令可以并行處理,控制算法計算延時僅為信號在FPGA內(nèi)部線路上的傳輸延時,使數(shù)字控制系統(tǒng)具備準模擬電路特性[14]。
隨著FPGA從可編程邏輯芯片到可編程系統(tǒng)級芯片的發(fā)展,在數(shù)字系統(tǒng)的設計中成為提高控制器性能和系統(tǒng)靈活性、縮小數(shù)字控制技術(shù)與模擬控制實時性差距的一種合適的解決方案。雖然FPGA具有并行處理的優(yōu)勢,但是目前FPGA全數(shù)字電力電子變換器控制系統(tǒng)設計和實現(xiàn)尚缺乏完整的設計理論作為指導,并沒有廣泛應用于電力電子領(lǐng)域,主要原因包括:1)以FPGA為核心的控制系統(tǒng)設計難度大;2)可參考設計較少,缺乏相關(guān)設計原則、設計方法;3)能夠應用于工程實踐的電力電子知識產(chǎn)權(quán)核(intellectual property core,IP)較少且不透明。
論文通過分析電力電子控制器設計現(xiàn)狀和FPGA電力電子控制器的典型應用,總結(jié)出FPGA作為電力電子核心控制器的若干優(yōu)勢,提出具有指導意義的FPGA全數(shù)字電力電子變換器控制系統(tǒng)設計的原則和方法,構(gòu)建電力電子參數(shù)化IP核庫的雛形,初步形成FPGA電力電子變換器控制架構(gòu)設計理論,以促進FPGA在電力電子領(lǐng)域中更加深入、廣泛的應用,搭建實驗平臺對FPGA控制器的控制性能進行驗證,最后對以FPGA為電力電子變換器核心控制器的應用前景進行展望。
為了說明以FPGA為核心控制器的電氣控制系統(tǒng)在執(zhí)行控制任務實時性方面的優(yōu)勢,文獻[15]以PWM逆變器的電流內(nèi)環(huán)控制為例說明了FPGA控制器執(zhí)行算法的快速性。圖1分別給出了以單片機、DSP和FPGA為控制器的電流內(nèi)環(huán)執(zhí)行時間分布,其中:tAD為A/D轉(zhuǎn)換時間;tc為算法執(zhí)行時間;Ts為采樣周期。

圖1 三種控制器執(zhí)行時間分布Fig.1 Execution time distribution of three controllers
圖1中,采用單片機為控制器的tc、Ts較長,控制延時較大,控制實時性和控制穩(wěn)定性均較低;DSP采用的是改進型哈佛結(jié)構(gòu),存儲器可以同時為處理器核提供指令和數(shù)據(jù),且具有專用硬件乘法器,因此采用其作為控制器能縮短tc,Ts有所提高,動態(tài)性能得以提升[16];以FPGA為控制器由于其特殊的硬件并行性能夠極快完成完整的復雜算法,tc明顯減少,增大了系統(tǒng)閉環(huán)帶寬,控制系統(tǒng)響應速度更快[17],Ts可以進一步降低,在沒有參數(shù)漂移等缺點的同時控制性能可以接近于模擬電路的水平。文獻[18]研究了上述過采樣策略的FPGA解決方案,并指出FPGA解決方案在PWM紋波抑制、高頻抑制以及閉環(huán)延遲等方面均優(yōu)于DSP。
PID控制是電力電子變換器控制中最常用的控制算法。傳統(tǒng)PID控制基于軟件實現(xiàn)。為了改善控制性能以及對不同控制任務的數(shù)字控制支路進行并行架構(gòu)設計,文獻[19]提出了一種基于FPGA的增量式PID控制器,其硬件結(jié)構(gòu)如圖2所示,包含3個硬件加法器、3個硬件乘法器和3個寄存器。圖2中限幅的作用為減小系統(tǒng)輸出的最大超調(diào)量,保證系統(tǒng)運行的穩(wěn)定性。

圖2 基于FPGA設計的簡化PID硬件結(jié)構(gòu)Fig.2 Simplified PID hardware structure based on FPGA design
表1給出了基于單片機和FPGA設計的PID控制器在計算延遲和功耗方面的對比結(jié)果。計算延遲是動態(tài)系統(tǒng)中最重要的參數(shù)之一,以時鐘頻率為72 MHz運行的單片機由于采用的是馮·諾曼依結(jié)構(gòu),無法向處理器核同時提供指令與數(shù)據(jù),且軟件計算一次乘法的方式需多個指令周期,因此計算速度較慢,執(zhí)行一次PID迭代需要300 μs,而FPGA是以純硬件的方式進行計算,完成一次迭代僅需680 ns,快于前者約400倍;在功耗方面,與基于單片機的系統(tǒng)中的0.033 3 W相比,F(xiàn)PGA系統(tǒng)功耗僅為0.026 4 W。對比結(jié)果表明基于FPGA的控制器具有更快速的響應時間和更低的功耗,是高性能實時控制系統(tǒng)的更優(yōu)選擇。

表1 基于單片機和FPGA的PID控制器性能對比Table 1 Performance comparison of PID controller based on MCU and FPGA
文獻[20]針對現(xiàn)代高開關(guān)頻率要求的DC/AC逆變器,介紹了一種基于FPGA的高開關(guān)頻率正弦脈寬調(diào)制(sinusoidal pulse width modulation,SPWM)發(fā)生器,該發(fā)生器能夠產(chǎn)生1MHz的開關(guān)頻率。與傳統(tǒng)基于DSP的PWM發(fā)生器不同,該系統(tǒng)將參考正弦波和三角波以數(shù)字的形式存儲在FPGA器件的Block RAMs存儲器(BRAMs)中作為查找表(look up table,LUT),以便利用FPGA器件一個時鐘周期的訪問時間對存儲的數(shù)據(jù)進行讀取,從而能提供更高頻率的計算能力,避免了傳統(tǒng)串行控制器在高頻變換應用中因中斷周期過短而無法完成計算任務的問題。圖3給出了SPWM生成系統(tǒng)框圖。文獻[21]中也進行了類似研究,并且指出相比于傳統(tǒng)串行控制器,F(xiàn)PGA控制器在處理速度、靈活性、脈沖步長等多方面具有明顯優(yōu)勢。

圖3 一種基于FPGA的高開關(guān)頻率SPWM發(fā)生器Fig.3 A high switching frequency SPWM generator based on FPGA
為了改善控制系統(tǒng)的動態(tài)性能,文獻[22]提出了一種基于空間矢量的交流電機電流控制的FPGA實現(xiàn)方法,整體設計思路是在FPGA內(nèi)按控制任務構(gòu)建功能上相互獨立的控制功能模塊,并通過有限狀態(tài)機(finite state machine,F(xiàn)SM)完成控制模塊的頂層調(diào)度。系統(tǒng)整體控制框圖如圖4所示,主要包括AD轉(zhuǎn)換、坐標變換(abc-to-αβ)、滯環(huán)比較器、電流差值比較和查找表等功能模塊和頂層時序控制FSM。頂層時序控制FSM不直接與各子控制功能模塊連接,故需要通過控制模塊控制各子控制功能模塊的執(zhí)行順序,即控制AD轉(zhuǎn)換、坐標變換、滯環(huán)比較和查表串行執(zhí)行,兩個相同的坐標變換、滯環(huán)比較與電流差值比較分別并行執(zhí)行(執(zhí)行時間分別為tAD、tc、tH3和tT),從而顯著縮短控制算法計算時間。

圖4 基于空間矢量的交流電機電流控制的FPGA實現(xiàn)方法Fig.4 FPGA implementation method of AC motor current control based on space vector
控制系統(tǒng)中算法控制模塊和AD轉(zhuǎn)換模塊需在頂層進行時序調(diào)度。頂層時序控制FSM通過Start信號激活計算周期,AD轉(zhuǎn)換模塊接收到Start_AD信號后啟動,并在完成開關(guān)狀態(tài)計算后生成結(jié)束信號End。在每個計算周期內(nèi),由于全部算法計算時間T=0.24 μs(T=tc+tH3+tT)遠小于tAD=2.4 μs,F(xiàn)SM通過Start_AD、Start_OO信號分別控制AD轉(zhuǎn)換、控制功能模塊同時并行執(zhí)行,進一步減少整個系統(tǒng)控制任務執(zhí)行時間,并等待End_AD信號以便結(jié)束該計算周期。采用頂層時序控制FSM調(diào)度的驅(qū)動電流滯環(huán)控制時序如圖5所示。
圖5中FPGA利用固有并行特性使AD連續(xù)采樣轉(zhuǎn)換,理想狀態(tài)下采樣周期Ts等于tAD,實現(xiàn)高速過采樣,可最大程度上消除PWM調(diào)制延時,提高控制系統(tǒng)響應速度。同時,F(xiàn)PGA強大的計算能力完全可以實現(xiàn)接近于實時反饋的環(huán)路,因計算延遲而產(chǎn)生的電流紋波可忽略不計。這種情況下,獲得的控制性能非常接近于模擬控制器的性能。

圖5 電流滯環(huán)控制時序圖Fig.5 Timing chart of current hysteresis control
由于FPGA內(nèi)部資源固定,為了解決FPGA控制器在復雜控制系統(tǒng)設計中的資源優(yōu)化問題,文獻[23]提出了一種分時復用硬件資源的FPGA開發(fā)方法,將控制任務按控制功能的不同由頂層逐級向下劃分,對劃分后的子控制功能模塊進行設計后再逐級整合,系統(tǒng)頂層通過計數(shù)器控制各模塊執(zhí)行時序,所設計的配電網(wǎng)靜止同步補償器(distribution network for static synchronous compensator,D-STATCOM)控制系統(tǒng)如圖6所示。
圖6中,該控制系統(tǒng)在FPGA內(nèi)按控制功能的不同被分解為5個相互獨立的子控制功能模塊,全局控制模塊由計數(shù)器syscState及adState的計數(shù)值控制各模塊的執(zhí)行時序,并且每個控制功能模塊又單獨作為控制頂層繼續(xù)向底層劃分,例如同步控制功能模塊又繼續(xù)劃分為Park變換,窗口/IIR濾波、信號標準化3個子功能模塊,如圖7所示。現(xiàn)以圖7中的Park變換為例說明文獻[23]中提出的分時復用硬件資源的FPGA設計方法。

圖6 基于FPGA的D-STATCOM控制系統(tǒng)框圖Fig.6 Block diagram of FPGA-based D-STATCOM control system

圖7 同步控制功能模塊構(gòu)成Fig.7 Synchronous control function module structure
分時復用硬件資源是在FPGA內(nèi)同一模塊內(nèi)串行執(zhí)行算法的實現(xiàn)方式,通過復用硬件資源使計算過程分步執(zhí)行,從而能利用FPGA有限的硬件資源完成更多計算任務。基于硬件資源分時復用設計的Park變換模塊除了包括多路選擇器、多路分配器和輸出寄存器之外,還包括可復用的sin函數(shù)模塊與硬件乘法器,如圖8所示,其中,乘法器由clk時鐘信號驅(qū)動,計數(shù)器adState的計數(shù)值控制多路選擇器與多路分配器的通路選擇,中間計算的結(jié)果由輸出寄存器暫存。通過這種硬件資源分時復用優(yōu)化,完成一次完整的Park計算最少僅需一個sin函數(shù)模塊和一個硬件乘法器。

圖8 基于硬件資源分時復用設計的Park變換模塊Fig.8 Park transformation module based on time-division multiplexing of hardware resources
文獻[23]中設計的D-STATCOM控制系統(tǒng)各功能模塊采用基于硬件資源分時復用設計前后硬件乘法器使用數(shù)量如表2所列,可見采用該設計方法實現(xiàn)的D-STATCOM控制系統(tǒng)可節(jié)省約75%的FPGA內(nèi)部乘法器硬件資源。

表2 基于硬件資源分時復用設計前后硬件乘法器使用數(shù)量Table 2 Number of hardware multipliers used before and after design based on hardware resource time-multiplexing
雖然FPGA具有并行處理指令、硬件資源配置靈活等特點,但是通常在電力電子控制器設計中FPGA僅作為協(xié)控制器,完成片外AD采樣控制、故障綜合、譯碼等功能,并未完全發(fā)揮FPGA高速并行計算的優(yōu)勢。目前國內(nèi)外有關(guān)利用FPGA作為電力電子主控制器的研究多側(cè)重于功能上的實現(xiàn)。若想深入發(fā)掘FPGA的應用價值,使其更好地應用于電力電子變換控制系統(tǒng)設計,需要建立具有普適性的設計原則作為支撐。文獻[24]指出,基于FPGA的控制器沒有被廣泛使用的原因在于缺少在電力電子應用中良好的指導性原則和方法。為此,通過對FPGA自身特性和國內(nèi)外文獻的研究,在分析總結(jié)文獻中FPGA控制器的應用場景和設計思路的基礎上,提出了FPGA全數(shù)字電力電子變換控制器的一般設計原則。
1)參數(shù)化模塊化設計原則。
模塊化的設計方式將電力電子控制算法進行劃分,以具有功能完整性和獨立性的子控制功能模塊為設計對象,將復雜的控制算法分解為若干功能上解耦的子控制功能模塊,最后采取搭積木的方式按算法需求將子控制功能模塊有機結(jié)合在一起,形成完整的控制系統(tǒng)。參數(shù)化設計方式使設計出的子控制功能模塊具有通用性和可重用性,當子控制功能模塊中包含可變系數(shù),應將系數(shù)接口引出,以便調(diào)用模塊時在頂層設置。
2)面積與速度綜合考慮原則。
FPGA并行執(zhí)行算法的實質(zhì)是利用邏輯資源換取計算速度[25]。由于劃分出的子控制功能模塊實現(xiàn)的功能相對單一,需要與其他模塊配合實現(xiàn)計算功能,因此出于對FPGA有限的面積和計算速度的綜合考慮,設計過程中應遵循:在同一子控制功能模塊中,利用FSM進行狀態(tài)轉(zhuǎn)移實現(xiàn)串行執(zhí)行方式,在頂層調(diào)用時根據(jù)運算速度的需求選擇串行或并行的執(zhí)行方式。
除了合理設置控制功能模塊的串行或并行執(zhí)行方式外,合理選擇數(shù)據(jù)位數(shù)也是面積與速度綜合考慮原則的重要體現(xiàn)。FPGA無法直接處理十進制的小數(shù),因此需要對小數(shù)進行量化。隨著量化位數(shù)的增加,數(shù)據(jù)精度逐漸增加,但是所消耗的面積也同時增加。因此在數(shù)據(jù)量化過程中應保證數(shù)據(jù)精度滿足要求的前提下避免不必要的面積浪費。
3)頂層模塊時序調(diào)度原則。
FPGA全數(shù)字電力電子變換器具有并行執(zhí)行硬件架構(gòu),但完整的電力電子控制系統(tǒng)在運行時往往需要系統(tǒng)中各子控制功能模塊按照特定的時序順序執(zhí)行完成控制任務,因此需要在控制算法頂層對系統(tǒng)中的子控制功能模塊進行時序調(diào)度。對于子控制功能模塊設計,應充分考慮控制算法頂層調(diào)用該控制功能模塊時的難易程度,力求在避免不必要的硬件資源開銷的同時使系統(tǒng)具有良好的精簡度。
FPGA全數(shù)字化電力電子控制器設計應采取自上而下的設計方式,將控制任務逐級分解為若干規(guī)模較小、功能簡單、相互獨立的子控制功能模塊,以子控制功能模塊為設計目標進行模塊化設計與仿真驗證,最后將經(jīng)過驗證的各模塊以搭積木的方式有機結(jié)合,并在系統(tǒng)最頂層配置各模塊接口以及信號流向,完成總體控制任務。在遵循所提出的全FPGA電力電子控制器設計原則的基礎上,提出了FPGA全數(shù)字電力電子變換控制器的一般設計方法。
1)搭建三級化電力電子變換器參數(shù)化IP核庫。
文獻[26]提出了建立基于IP核的系統(tǒng)級設計組件庫。基于參數(shù)化模塊設計原則,將劃分出的子控制功能模塊封裝為僅需要關(guān)注輸入輸出信號的IP核,這種方法不僅方便頂層調(diào)用,對不同的電力電子變換器控制系統(tǒng)也具有一定的通用性和擴展性。在模塊封裝時應注意兩點,一是封裝后的IP核的輸入輸出要有明確意義的標識,必要時應留有說明文檔;二是若設計的IP核中含有系數(shù)或模塊接口位數(shù),應將可變量設計為類屬參量,在超高速集成電路硬件描述語言(very high speed integrated circuit hardware description language,VHDL)中對應于關(guān)鍵詞GENERIC,封裝后的IP核在調(diào)用時只需在調(diào)用頂層設置該參量便可對系數(shù)核接口位數(shù)進行便捷配置,實質(zhì)是通過在頂層設置參量實現(xiàn)局部硬件電路重構(gòu)。基于上述IP核設計方法,在Quartus開發(fā)軟件中設計封裝的PI調(diào)節(jié)器IP核如圖9所示。該IP核中的比例系數(shù)、積分系數(shù)、積分初值、積分上下限以及數(shù)據(jù)位數(shù)均可通過右上角的參量表格進行快速配置。

圖9 PI調(diào)節(jié)器IP核Fig.9 PI regulator IP core
按上述設計方法得到的IP核按構(gòu)成方式和復雜程度,可將其整合成如圖10所示的三級化電力電子變換器參數(shù)化IP核庫。其中第一級為基本功能模塊,如硬件基本運算模塊、計數(shù)器、譯碼器等,處于該級的模塊通用性最強,算法復雜度最低;第二級模塊由調(diào)用第一級模塊得到,搭建成具有特定運算、調(diào)節(jié)功能的電力電子IP核,如電力電子變換器中常用的坐標變換模塊、PI調(diào)節(jié)器、低通濾波器、PWM調(diào)制模塊等;第三級模塊通過調(diào)用前兩級模塊形成特定的控制環(huán)路,如鎖相環(huán)、電壓電流雙閉環(huán)等,處于該級的模塊算法復雜度最高,專用性最強,但對于控制目標相同或相近的系統(tǒng)來說仍具有通用性。

圖10 三級化電力電子變換器參數(shù)化IP核庫Fig.10 Parameterized IP core library of three-level power electronic converter
利用建立的三級化電力電子變換器參數(shù)化IP核庫中的模塊進行電力電子控制器設計,可以大幅提升開發(fā)效率,簡化設計流程。開發(fā)人員僅需將電力電子控制策略進行任務分解,合理調(diào)用IP核庫中的模塊,在頂層例化時設定信號連接方式和模塊參量,便能使用搭積木的方式搭建出完整的以硬件電路實現(xiàn)的高實時性控制系統(tǒng)。
2)合理安排資源開銷與計算速度。
基于面積與速度綜合考量原則,在IP核設計和頂層調(diào)用模塊階段要綜合考慮FPGA內(nèi)部硬件資源消耗與計算速度的平衡,量化數(shù)據(jù)位數(shù)最小化和執(zhí)行方式按需化是兩種有效的優(yōu)化方法。
量化數(shù)據(jù)位數(shù)最小化的目的是避免運算過程中的位數(shù)浪費。FPGA內(nèi)部的硬件運算器無法直接對帶有小數(shù)部分的十進制數(shù)進行基本運算,因此需要對數(shù)據(jù)進行量化處理,采用的方式為先將數(shù)據(jù)擴大為可用二進制數(shù)表示的整數(shù),數(shù)據(jù)經(jīng)過硬件運算器運算完畢后再按擴大的比例進行截斷。數(shù)據(jù)放大倍數(shù)的增加即數(shù)據(jù)量化位數(shù)增加會使數(shù)據(jù)具有更高的精度,從而減小數(shù)據(jù)截斷時引起的截斷誤差,但也會使數(shù)據(jù)在FPGA內(nèi)占用的資源隨之增加。因此在數(shù)據(jù)量化處理時應在保證數(shù)據(jù)精度的同時使用最小量化位數(shù)來量化數(shù)據(jù)。
執(zhí)行方式按需化即合理設置串并行執(zhí)行方式。從硬件電路的角度來說,F(xiàn)PGA并行執(zhí)行算法的本質(zhì)為構(gòu)建若干子運算電路同時進行運算,那么設計控制功能模塊時通過分時復用硬件資源的方式便能使算法串行執(zhí)行,在頂層調(diào)用時根據(jù)所需計算速度要求選擇合適的執(zhí)行方式。共用硬件資源會導致計算速度有所下降,但可以有效節(jié)省FPGA資源開銷。現(xiàn)以二級IP核庫中的Clarke變換模塊設計具體說明該優(yōu)化過程:完成式(1)給出的Clarke變換需5次乘法計算和3次減法計算。將式(1)進行化簡,可得包含3次乘法、2次減法和1次加法的式(2)。利用式(2)的計算過程進行Clarke變換模塊設計。
(1)
(2)

圖11 并行運算下的Clarke變換模塊計算過程Fig.11 Calculation process of Clarke transform module under parallel operation
在圖11的計算過程基礎上進行資源優(yōu)化,實現(xiàn)對硬件運算器的分時復用。經(jīng)資源優(yōu)化后的Clarke變換模塊計算過程如圖12所示,圖中減法器由step1、step2共用,乘法器由step2、step3共用,計算過程僅需乘法器、加法器和減法器各1個,減少了計算過程的硬件資源占用,且由于Clarke變換計算過程固有優(yōu)先級屬性,硬件運算器的分時復用并沒有對計算時間造成影響。

圖12 串行運算下的Clarke變換模塊計算過程Fig.12 Calculation process of Clarke transform module under serial operation
3)設計使能位與運算完成標志位。
基于頂層模塊時序調(diào)度原則,各級IP核的設計均應添加啟動使能位與運行完成標志位。相鄰模塊間通過設置使能位與標志位,后級模塊可通過該標志位獲取前級模塊運行狀態(tài),并據(jù)此判斷是否使能置位、啟動相應運算,當頂層調(diào)用各級模塊時達到便于控制頂層時序防止計算混亂的目的。此外,分時復用硬件運算器的設計方案易造成計算結(jié)果誤分配,通過使能標志位可嚴格控制各模塊在每個開關(guān)周期的執(zhí)行次數(shù),同時便于將硬件運算器的輸入信號引出后,在各級調(diào)用時在頂層數(shù)據(jù)接口單獨配置運算器的輸入,確保每個硬件運算器在時鐘每一拍同時只有一組輸入信號進行計算。
4)頂層時序調(diào)度協(xié)調(diào)機制。
經(jīng)過設計和驗證的IP核需在設計頂層例化并且進行時序有序調(diào)度,同時輔以必要的邏輯判斷,從而將功能較為單一的IP核整合成完整的積木式控制系統(tǒng)。對于設計了使能位與運算完成標志位的子控制功能模塊,其時序控制可通過完成標志信號與使能信號的不同連接方式完成,前一控制功能模塊執(zhí)行完畢后向其輸出方向相鄰模塊發(fā)送持續(xù)一個時鐘周期的高電平脈沖,此脈沖即為后續(xù)模塊狀態(tài)機的使能信號,由此控制各模塊的執(zhí)行順序,這種設計方法不僅在功能上實現(xiàn)了與單獨設計頂層時序控制FSM或頂層時序控制計數(shù)器相同的調(diào)度任務,而且大大減少了設計任務和硬件資源消耗。
遵循所提出的FPGA全數(shù)字電力電子控制器設計原則與設計方法,以有源電力濾波器(active power filter,APF)為例,設計了FPGA控制器以實現(xiàn)文獻[27]中的基于諧波同步旋轉(zhuǎn)坐標系的諧波分頻控制策略,并與DSP控制器解決方案進行比較。APF主電路采用T型三電平結(jié)構(gòu),具體如圖13所示。

圖13 T型三電平APF主電路結(jié)構(gòu)Fig.13 T-type three-level APF main circuit topology
1)控制結(jié)構(gòu)。
基于諧波同步旋轉(zhuǎn)坐標系的諧波分頻控制策略能夠直接獲取分頻諧波控制指令[28],但需多個諧波電流環(huán)對所選諧波進行提取與控制,計算量較大。按照前述設計方法(1)~(3),在FPGA內(nèi)構(gòu)建實現(xiàn)該策略所需的控制功能IP核,再按設計方法(4),基于控制邏輯要求合理安排串/并行時序,將邏輯上具有先后順序的IP核配置為串行執(zhí)行、具有相互獨立性的IP核配置為并行執(zhí)行,從而完成頂層時序調(diào)度,得到該策略在FPGA內(nèi)的控制結(jié)構(gòu)如圖14(a)所示。圖中,直流母線電壓控制與諧波三角函數(shù)查表、各次諧波電流控制并行執(zhí)行。采用DSP控制器實現(xiàn)相同控制策略的控制結(jié)構(gòu)如圖14(b)所示,其軟件串行執(zhí)行機制使各控制模塊只能順序執(zhí)行。
2)執(zhí)行時間。
基于圖14(a)所示控制結(jié)構(gòu),使用的各IP核實際執(zhí)行時間可通過觀測IP核使能位與運算完成標志位信號間隔時間得到。圖15給出了在50 MHz觀測時鐘信號下,三電平SVPWM調(diào)制IP核在SignalTap中觀測到的執(zhí)行時間為1.38 μs。

圖14 基于不同控制器的APF控制結(jié)構(gòu)示意圖Fig.14 Schematic diagram of APF control structure based on different controllers

圖15 三電平SVPWM調(diào)制IP核執(zhí)行時間Fig.15 Actual execution time of the three-level SVPWM modulation IP core
對各IP核均進行執(zhí)行時間觀測,可得各IP核執(zhí)行時間分布如圖16所示,圖中,F(xiàn)PGA控制器由讀取采樣數(shù)據(jù)到完成信號調(diào)制共需8.38 μs,控制計算頻率可達119.3kHz且不受諧波補償次數(shù)影響,從而可在器件特性允許的前提下大幅提高開關(guān)頻率,增大電流環(huán)控制帶寬,增強控制實時性,改善補償效果,使數(shù)字控制系統(tǒng)具有準模擬硬件電路特性。
采用DSP控制器軟件設計方案則無法更改片內(nèi)硬件結(jié)構(gòu),不能實現(xiàn)圖16中對5、7、11、13次諧波電流補償?shù)牟⑿锌刂啤EcFPGA控制器相對應,采用在軟件函數(shù)入口添加定時器的方式可得DSP控制器各功能函數(shù)執(zhí)行時間如圖17所示,可見DSP控制器由讀取采樣數(shù)據(jù)到完成信號調(diào)制共需49.28 μs,是FPGA控制器的6倍,控制計算頻率約為20 kHz。隨著系統(tǒng)的諧波補償次數(shù)增加,DSP控制器的計算時間將進一步延長,從而導致諧波補償次數(shù)與開關(guān)頻率受限、控制帶寬與計算頻率降低、系統(tǒng)穩(wěn)定性減弱、實時性變差。

圖16 FPGA各控制功能IP核執(zhí)行時間分布Fig.16 FPGA execution time distribution of each control function IP core

圖17 DSP各功能函數(shù)執(zhí)行時間分布Fig.17 DSP function execution time distribution
3)實驗結(jié)果。
為驗證FPGA全數(shù)字電力電子變換器設計方法以及基于FPGA的APF控制器設計示例,設計了FPGA(Cyclone IV EP4CE40F23C8)全數(shù)字電力電子變換控制器通用控制卡,如圖18所示,接口采用EMIF總線協(xié)議,具有良好的通用性和可擴展性。

圖18 FPGA全數(shù)字電力電子變換控制器通用控制卡Fig.18 Hardware of FPGA Full Digital Power Electronic Transform Controller
實驗條件如表3所列,諧波源為三相不控整流橋,帶8Ω負載電阻未啟用補償時電網(wǎng)電流THD為28.85%,畸變較大。

表3 實驗條件Table 3 experimental conditions
圖19(a)、圖19(b)分別為DSP控制器與FPGA控制器對諧波電流的補償效果與跟蹤效果實驗波形,其中在t1時刻不控整流橋負載電阻從8 Ω切換至5.7 Ω,電網(wǎng)電流在t2時刻完全穩(wěn)定。

圖19 不同控制器對諧波的補償效果與跟蹤效果Fig.19 Compensation effect and tracking effect of different controllers on harmonics
基于圖19(a)、圖19(b)的實驗結(jié)果,表4列出了不同控制器的諧波補償與跟蹤效果的各項指標對比,表中諧波補償率為補償前后電流THD差值與補償前THD之比,全響應時間為t1~t2的時間間隔。

表4 不同控制器諧波補償與跟蹤效果對比Table 4 Comparison of harmonic compensation and tracking effects of different controllers
由圖19(a)、圖19(b)及表4數(shù)據(jù)可見,采用DSP作為控制器的APF使電網(wǎng)電流THD下降至7.41%,電網(wǎng)電流中74.3%的諧波分量被有效補償,負載突增后電網(wǎng)電流在t2時刻重新穩(wěn)定,全響應時間約為1.5個工頻周期(30 ms);采用FPGA作為控制器的APF使電網(wǎng)電流THD下降至4.82%,電網(wǎng)電流中83.3%的諧波分量被有效補償,負載突增后電網(wǎng)電流在t2時刻重新穩(wěn)定,全響應時間減少為0.5個工頻周期(10 ms)。實驗結(jié)果驗證了較之DSP控制器,F(xiàn)PGA控制器具有準模擬電路特性,補償效果更好、控制實時性更高。
隨著電子設計自動化(electronic design automation,EDA)和數(shù)字電子技術(shù)快速發(fā)展,系統(tǒng)軟硬件之間不斷交融,不同層次的軟件功能大多可以用硬件電路予以實現(xiàn),EDA技術(shù)也為這種硬件實現(xiàn)在設計上帶來方便[29-30]。因此,對于電力電子領(lǐng)域而言,F(xiàn)PGA是一種具有應用前景的技術(shù),例如:
1)高實時性要求的電力電子變換器。如APF運行時需實時跟蹤負載諧波電流的變化,跟蹤實時性直接影響了APF的補償性能。FPGA強大的并行計算能力可大幅縮小控制系統(tǒng)延時,實時性得到保障,能夠明顯改善補償效果。
2)高性能電機控制。傳統(tǒng)串行控制器在高開關(guān)頻率應用場景表現(xiàn)不佳,且現(xiàn)代化高性能電機控制對能效和系統(tǒng)級功能的需求日益提高。FPGA控制器納秒級的邏輯處理能力和高系統(tǒng)集成能力不僅可以為電機控制提供高速、低延遲的算法處理,還可將電機邏輯控制、外圍接口等眾多電路集成在一片F(xiàn)PGA中,控制器可靠性得以大大增強。此外在多電機復雜控制應用場景,F(xiàn)PGA控制器并行處理算法的優(yōu)勢可使實現(xiàn)的多機控制系統(tǒng)穩(wěn)定性更高,具有更好的動態(tài)響應和更準確的位置閉環(huán)控制。在機器人、新能源汽車等領(lǐng)域具有較好應用前景。
3)電力電子變換器的智能算法控制。電力電子裝置具有智能化的趨勢,如卷積神經(jīng)網(wǎng)絡等復雜算法在電力電子變換器中的應用逐漸受到重視。卷積神經(jīng)網(wǎng)絡計算過程包含大量獨立、重復的基本運算,需要頻繁訪問數(shù)據(jù)和暫存中間結(jié)果,對控制器的計算性能和功耗有著極高的要求。FPGA具有豐富的算術(shù)功能資源和靈活的片上存儲資源,便于實現(xiàn)卷積內(nèi)并行、輸入/輸出通道并行等計算方法和高效并行流水線卷積計算電路,且易于通過各種優(yōu)化函數(shù)提高電路的整體運算性能。
論文通過對國內(nèi)外基于FPGA在電力電子控制器設計領(lǐng)域的研究與應用分析,得出以FPGA為核心的全數(shù)字電力電子變換控制器的優(yōu)勢,提出了參數(shù)化模塊化設計原則、面積與速度綜合考慮原則與頂層模塊時序調(diào)度原則3個控制系統(tǒng)一般設計原則,以及搭建三級化電力電子變換器參數(shù)化IP核庫、合理安排資源開銷與計算速度、設計使能位與運算完成標志位、頂層時序調(diào)度協(xié)調(diào)機制等基于上述設計原則等一般設計方法并通過設計示例給出了FPGA控制器與DSP控制器的控制性能對比,對FPGA全數(shù)字電力電子變換控制器設計具有一定的指導作用。結(jié)合FPGA在電力電子領(lǐng)域的優(yōu)勢和電力電子裝置發(fā)展趨勢給出了FPGA的應用前景,期望對FPGA在該領(lǐng)域的應用起到一定借鑒作用。