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