李永斌 王偉 王小奎
[摘 要]基于FPGA(現(xiàn)場可編程門陣列)構(gòu)建濾波器實現(xiàn)控制策略是通過控制算法直接作用于FPGA芯片,有效解決了軟件層面帶來的響應(yīng)滯后問題,具有高可靠性和快響應(yīng)的特點。本文提出了基于FPGA構(gòu)建濾波器的方法,通過理論分析和仿真對比,實現(xiàn)了快速響應(yīng),能為高可靠性實時控制應(yīng)用領(lǐng)域提供借鑒。
[關(guān)鍵詞]FPGA;濾波器;二階控制算法
doi:10.3969/j.issn.1673 - 0194.2018.04.067
[中圖分類號]TP274.2 [文獻標(biāo)識碼]A [文章編號]1673-0194(2018)04-0-02
1 研究背景
自動控制系統(tǒng)包括輸入部分、控制系統(tǒng)部分和輸出部分。從物理學(xué)角度看,自動控制系統(tǒng)研究的是特定激勵作用下的系統(tǒng)響應(yīng)變化情況;從數(shù)學(xué)角度看,研究的是輸入與輸出之間的映射關(guān)系。控制系統(tǒng)主要完成有關(guān)信號的轉(zhuǎn)換、處理、控制執(zhí)行機構(gòu)完成控制功能。控制系統(tǒng)設(shè)計需要滿足三個基本要素:穩(wěn)定性、準(zhǔn)確性和快速性。在這三個要素中穩(wěn)定性是前提,在滿足該前提條件下,盡可能提高系統(tǒng)的動態(tài)性能和穩(wěn)態(tài)性能,即控制系統(tǒng)輸入輸出反饋響應(yīng)要快速及輸出跟蹤要準(zhǔn)確。
在信息處理過程中,數(shù)字濾波器是信號處理中使用最廣泛的一種方法。它從本質(zhì)上來說是將一組輸入的數(shù)字序列通過一定規(guī)則運算后轉(zhuǎn)變?yōu)榱硗庖唤M希望輸出的數(shù)字序列。濾波器可以看成是一個信號處理系統(tǒng),其輸入與輸出之間存在一定的關(guān)系,這種關(guān)系無論在時域還是頻域都可以用數(shù)學(xué)表達式表示。而這些數(shù)學(xué)表達式又是分子分母都是多項式的表達式,這樣滿足使傳輸函數(shù)的分子為零的是零點,滿足使傳輸函數(shù)分母為零的就是其極點。
在控制領(lǐng)域,也可以基于零極點濾波器實現(xiàn)控制算法,將S域控制算法獲取零點和極點,然后構(gòu)造連續(xù)域(S域)的零極點濾波器,即可通過信號處理方式實現(xiàn)控制算法。在實時性要求比較高的應(yīng)用場合,采用可編程芯片F(xiàn)PGA加以實現(xiàn),相比于DSP芯片或?qū)S眯酒膶崿F(xiàn)方法,具有高速、高精度、高靈活性的優(yōu)點。
2 控制算法實現(xiàn)策略對比
控制算法根據(jù)其實現(xiàn)的方式,可以分為軟件控制和硬件控制,所謂軟件控制指控制算法運行在相對“軟”層次,經(jīng)過CPU控制,離不開操作系統(tǒng)、驅(qū)動API和應(yīng)用軟件層來實現(xiàn)的。硬件控制相對擺脫了“軟”層次,直接由硬件芯片實現(xiàn)控制算法,所以其可靠性相對較高,響應(yīng)速度相對較快。
2.1 軟件控制策略
軟件控制策略包含多個抽象層,如應(yīng)用軟件層、驅(qū)動API層、操作系統(tǒng)層等,控制算法會在應(yīng)用軟件層進行開發(fā),然后經(jīng)驅(qū)動API和操作系統(tǒng)將輸出值輸出給控制對象(UUT),然后控制對象的反饋又經(jīng)操作系統(tǒng)、驅(qū)動API及應(yīng)用軟件后作為控制算法的反饋量來指導(dǎo)控制算法輸出。該策略實現(xiàn)了由輸入、控制及輸出的閉環(huán)控制回路。
由于各個層次之間會涉及任務(wù)計劃的調(diào)度、資源共享、控制指令傳遞等,會存在各層次之間的競爭機制,并由于傳遞路徑多層結(jié)構(gòu),導(dǎo)致控制輸入輸出的響應(yīng)時間較長。軟件控制策略作為以軟件為中心的架構(gòu)方式,其數(shù)據(jù)處理能力完全依賴于計算機的強大處理能力,由于CPU的分時執(zhí)行機制及操作系統(tǒng)的多任務(wù)搶占式處理,造成系統(tǒng)的穩(wěn)定性和可靠性都存在一定的風(fēng)險。
2.2 硬件控制策略
硬件控制主要是指控制算法直接經(jīng)硬件芯片作用于被控對象,擺脫了軟件控制中各層的影響,也不需要操作系統(tǒng),所以硬件控制策略的控制速率及可靠性都比較高。
FPGA,即現(xiàn)場可編程門陣列,由于其融合了ASIC和基于處理器的系統(tǒng)最大優(yōu)勢,F(xiàn)PGA能夠提供快速且穩(wěn)定的硬件定時機制,并且FPGA是真正意義上的并行執(zhí)行。因此不同處理操作無需對資源進行競爭,也就是說只要資源夠用,每個處理都配有專用的芯片部分,所以一個控制算法和多個控制算法的執(zhí)行效率完全一致。在模塊化I/O中可以引入FPGA技術(shù),就可以將一些可靠性、穩(wěn)定性及實時性要求高的算法,在模塊化I/O中通過FPGA來實現(xiàn),完成信號的特性運算分析和控制處理,從而滿足系統(tǒng)需求。
3 FPGA技術(shù)及其在控制算法中的優(yōu)勢
FPGA采用了邏輯單元陣列LCA概念,內(nèi)部包括可配置邏輯模塊CLB、輸入輸出模塊IOB和內(nèi)部連線三個部分,具有如下優(yōu)勢。①更高的可靠性??刂扑惴ㄍ耆谛酒壎ㄖ频挠布娐分袌?zhí)行,提高了控制算法的可靠性。②真正的并行性。FPGA是完全并行的操作,能夠保證控制算法的并行性及同步性。③更高的實時性。通過FPGA芯片快速處理時鐘,可以保證控制算法的實時性。④更高的處理能力。FPGA使用芯片級硬件處理算法,具備快速高效的處理能力。
FPGA基本上可以完成任何數(shù)字器件的功能,自由地設(shè)計具有某種功能的數(shù)字系統(tǒng),降低了控制系統(tǒng)的開發(fā)風(fēng)險,同時通過采用系統(tǒng)編程、遠程在線重構(gòu)等技術(shù)降低了維護升級成本。
4 基于FPGA構(gòu)建濾波器實現(xiàn)控制算法分析
為了能夠進一步說明連續(xù)域控制算法(傳遞函數(shù))能夠在FPGA芯片中去實現(xiàn),下面以一個控制理論中的典型二階系統(tǒng)的單位階躍響應(yīng)為例進行論述分析。
構(gòu)造連續(xù)域(S域)傳遞函數(shù)的零極點。
連續(xù)域(S域)到離散域(Z域)雙線性變換。雙線性換法的主要優(yōu)點是S平面與Z平面一單值對應(yīng),S平面的虛軸(整個jΩ)對應(yīng)于Z平面單位圓的一周,S平面的Ω=0處對應(yīng)于Z平面的ω=0處,對應(yīng)即數(shù)字濾波器的頻率響應(yīng)終止于折迭頻率處,所以雙線性變換不存在混迭效應(yīng)。
獲取離散域(Z域)零極點。理論上來說,零點和極點個數(shù)應(yīng)該是一樣多的,對于S域零點不是沒有,嚴(yán)格來說應(yīng)該是零點在無窮遠處,對應(yīng)于Z域就表示零點在-1+0i處。所以在S-Z零極點變換過程,保證了零極點個數(shù)一致,并計算得出變換后增益輸出。
構(gòu)建定點濾波器基于NI Digital Filter Design Toolkit設(shè)計濾波器。濾波器設(shè)計包括設(shè)計(零極點濾波器設(shè)計)、分析、量化(浮點到定點量化)、分析、仿真等過程然后生成FPGA濾波器模型。
5 LabVIEW工具仿真對比分析
生成FPGA濾波器代碼基于LabVIEW FPGA濾波器IP生成工具,圖1為基于設(shè)計的定點濾波器模型,來生成FPGA濾波器IP代碼。圖中可以看到浮點濾波器和定點濾波器幅頻響應(yīng)曲線是吻合的,表示定點量化過程是合適的。
二階系統(tǒng)單位階躍響應(yīng)驗證通過控制算法來實現(xiàn)二階系統(tǒng)單位階躍響應(yīng)曲線和通過FPGA濾波器實現(xiàn)階躍響應(yīng)曲線比較分析。圖2為經(jīng)典控制算法及通過濾波器算法實現(xiàn)的二階系統(tǒng)單位階躍響應(yīng)曲線,經(jīng)典控制算法實現(xiàn)曲線用藍色顯示,濾波器算法實現(xiàn)曲線用紅色顯示,兩條曲線完全吻合。
6 結(jié) 語
數(shù)字濾波器在自動控制數(shù)字信號處理領(lǐng)域有著廣泛的應(yīng)用。本文基于FPGA構(gòu)建濾波器實現(xiàn)了二階系統(tǒng)單位階躍響應(yīng)控制算法,并基于FPGA的實時、快速、并行、高處理能力等優(yōu)勢,能夠更好地實現(xiàn)控制算法的穩(wěn)定性、快速性和準(zhǔn)確性,對實時響應(yīng)控制工程具有借鑒意義。
主要參考文獻
[1]胡云峰,陳虹,劉明星,等.基于FPGA/SOPC的預(yù)測控制器設(shè)計與實現(xiàn)[J].儀器儀表學(xué)報,2010(6).
[2]許芳.快速模型預(yù)測控制的FPGA實現(xiàn)及其應(yīng)用研究[D].長春:吉林大學(xué),2014.
[3]李健.基于FPGA的高速FIR數(shù)字濾波器設(shè)計[D].西安:西安理工大學(xué),2008.
[4]于洪松,韓廣良,孫海江,等.基于CPCI總線的FPGA+DSP架構(gòu)通用視頻圖像處理系統(tǒng)的設(shè)計[J].液晶與顯示,2015(2).
[5]吳瑕杰,王順亮,宋文勝,等.基于FPGA的三電平空間矢量脈寬調(diào)制算法半實物實驗方案[J].電力系統(tǒng)自動化,2014(3).
[6]王成山,丁承第,李鵬,等.基于FPGA的配電網(wǎng)暫態(tài)實時仿真研究(二):系統(tǒng)架構(gòu)與算例驗證[J].中國電機工程學(xué)報,2014(4).
[7]梁穎.基于USB和FPGA技術(shù)的高性能數(shù)據(jù)采集模塊的設(shè)計與實現(xiàn)[D].成都:四川大學(xué),2005.