国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MPC控制器的FPGA 實現(xiàn)及其應用

2014-01-14 00:43季冬冬許月亭
吉林大學學報(信息科學版) 2014年4期
關鍵詞:節(jié)氣門運算控制器

季冬冬,陳 虹,許月亭,許 芳

(吉林大學a.汽車仿真與控制國家重點實驗室;b.通信工程學院,長春130022)

0 引言

模型預測控制(MPC:Model Predictive Control)是近年來被廣泛討論的反饋控制策略,要在有限的采樣時間內(nèi)反復在線求解最優(yōu)控制序列,計算繁瑣,涉及復雜的矩陣運算。為提高MPC控制器的性能,在有限采樣時間內(nèi)計算出控制量并作用于動態(tài)系統(tǒng)具有重要意義。為提高MPC控制器速度,國內(nèi)外學者從算法上和硬件上進行了很多研究。在算法上,文獻[1]在迭代學習模型預測控制算法基礎上引入前饋控制,降低了迭代次數(shù),加快了跟蹤速度,提高了控制器的速度;文獻[2]針對線性系統(tǒng)模型預測控制中二次規(guī)劃生成運動路線的特定問題提出了快速優(yōu)化算法。在硬件上,文獻[3]設計了應用于小型系統(tǒng)基于ARM(Advanced RISC Machines)的嵌入式模型預測控制器,提高了MPC控制器的控制性能;文獻[4]進行了基于現(xiàn)場可編程門陣列(FPGA:Field Programmable Gate Array)的硬件預測控制器設計,采用粒子群優(yōu)化算法求解MPC中的二次規(guī)劃問題,通過綜合工具進行了硬件預測控制器的設計;文獻[5]采用基于Nios-Ⅱ嵌入式軟核處理器的FPGA/SOPC方案,在FPGA芯片上構建可編程片上(SOPC:System-On-a-Programmable-Chip)系統(tǒng),設計SOPC的硬件及軟件系統(tǒng),實現(xiàn)了基于FPGA的預測控制器設計。

基于FPGA的控制器設計主要有3種實現(xiàn)方案:基于硬件描述語言(HDL:Hardware Description Language)的全硬件方案、基于綜合工具開發(fā)方案[4]以及SOPC嵌入式方案[5]。后兩種方案相對開發(fā)容易,周期短。但基于高級綜合工具開發(fā)在綜合過程中存在冗余問題,在資源和速度上不能達到最優(yōu);而SOPC嵌入式方案是利用軟件實現(xiàn)設計,其速度也不能達到最優(yōu)。對于全硬件方案,RTL(Register Transfer Level)描述與底層電路存在一一對應關系,是目前的主流設計方式[6]。為充分發(fā)揮FPGA并行性、快速性等優(yōu)點,筆者進行了基于FPGA的RTL級MPC控制器設計。為提高數(shù)據(jù)處理速度,采用定點數(shù)據(jù)類型,通過Verilog HDL設計矩陣運算模塊和控制模塊等,在頂層中正確安排各例化模塊的時序,最終完成基于FPGA的MPC控制器設計,并以電子節(jié)氣門為被控對象聯(lián)合dSPACE進行了實時仿真驗證MPC控制器的性能。

1 模型預測控制

模型預測控制是近年來被廣泛討論的反饋控制策略,具有多變量協(xié)調(diào)控制及處理約束等特點,從20世紀70年代問世以來,已從最初應用于工業(yè)過程的啟發(fā)式控制算法發(fā)展成為具有豐富理論和實踐內(nèi)容的研究領域[7-10]。

1.1 模型預測控制算法

MPC的機理可以描述為:在每個采樣時刻,根據(jù)獲得的當前測量信息,在線求解一個有限時域開環(huán)優(yōu)化問題,并將得到控制序列的第1個元素作用于被控對象。在下一個采樣時刻,重復上述過程,用新的測量信息刷新優(yōu)化問題并重新求解[11]。

為引入積分環(huán)節(jié),減小或消除靜差,將狀態(tài)空間模型進行離散化并整理得到增量模型

式(1)中,Δ x(k)是狀態(tài)變量增量,Δ u(k)是控制輸入增量,Δ d(k)是可測干擾輸入增量,yc(k)是被控輸出量。設模型預測時域為p,控制時域為m(m≤p),假設在控制時域之外,控制量保持不變,在k時刻后,可測干擾保持不變。對式(1)輸出進行p步預測可得系統(tǒng)未來p步輸出的預測方程

其中

將優(yōu)化問題描述為

為滿足控制輸出接近參考輸入、控制動作變化不大的要求,選用如下所示的目標函數(shù)

其中

Γy是對預測控制輸出誤差的加權因子,Γy越大,表明期望輸出越接近給定的參考輸入;Γu是對控制增量的加權因子,Γu越大,表示期望輸出的控制動作變化越小。

對優(yōu)化問題求導運算,得到k時刻的最優(yōu)控制序列

將開環(huán)控制序列的第1個元素作用于被控系統(tǒng),得到預測控制的閉環(huán)解

其中

1.2 MPC算法流程

根據(jù)預測控制基本原理預測系統(tǒng)未來動態(tài),并求解優(yōu)化問題得到優(yōu)化序列,將所求優(yōu)化序列的第1個元素作用于被控系統(tǒng)。重復上述步驟,可得到無約束預測控制的算法:

1)設預測時域p及控制時域m,假定初始值u(-1)=0,x(-1)=0,計算參數(shù)Sx、τ、Sd及Su,并計算Kmpc;

2)在k≥0時刻,得到測量值x(k)及d(k),計算y(k);

4)由式(10)計算控制增量Δ u(k);

5)將控制量作用于被控對象;

6)返回2),重復上述步驟。

2 MPC控制器設計

由于MPC算法涉及復雜的矩陣運算及浮點運算,過程比較繁瑣,而且需要在有限的采樣時間間隔內(nèi)在線求解優(yōu)化問題,所以需要提高MPC控制器的在線求解速度。由于FPGA頻率高,支持并行計算,且具有快速性,吞吐量高,可靠性高等優(yōu)點[12,13],其優(yōu)越的實時性和設計的靈活性成為控制系統(tǒng)的重要部分。筆者采用FPGA作為MPC控制器的硬件實現(xiàn),很好地提高了控制器的速度,滿足MPC控制器對實時性的要求。

筆者選用Xinlinx公司的Virtex-5系列的XC5VLX50T型號FPGA芯片作為控制器的全硬件實現(xiàn)。該型號FPGA可以提供330 000個邏輯單元、1 200個I/O引腳、48個低功耗收發(fā)器、6輸入查找表(LUT:Look-Up-Table)、頻率高達550 MHz,是一款低功耗的高性能FPGA芯片。圖1是筆者所選用的FPGA開發(fā)板。圖2是寄存器傳輸級全硬件MPC控制器設計流程圖,利用Verilog硬件描述語言對硬件電路進行寄存器傳輸級設計。

圖1 VIRTEX-5系列FPGA開發(fā)板Fig.1 FPGA development board of Virtex-5 series

圖2 基于FPGA的全硬件MPC控制器的設計流程Fig.2 The design process of MPC controller based on FPGA

2.1 控制器端口及微架構設計

MPC控制器內(nèi)部微架構的工作方式可選擇串行、并行和流水線設計等多種方式,為提高控制器的處理效率與吞吐率,插入中間寄存器,選擇如圖3所示的端口和微架構設計[14-16]??刂破髟O計主要涉及矩陣相乘、矩陣相加、矩陣相減以及控制模塊的設計,矩陣運算模塊內(nèi)部包含數(shù)的加減乘運算。設計中矩陣元素采用RAM核進行存儲,控制模塊主要負責讀寫使能信號的控制以及讀寫地址信號的控制。

MPC算法包含大量的矩陣運算,筆者利用芯片內(nèi)部RAM IP核存儲矩陣元素,控制地址信號、讀寫使能信號以及片使能信號,通過對元素進行加減乘運算操作,完成矩陣的加減乘操作。圖4是矩陣運算模塊端口及微架構設計。ARam、BRam、CRam分別是輸入輸出矩陣,由IP核例化生成,用來存儲矩陣運算的數(shù)據(jù),使能信號由控制模塊提供,由地址信號控制讀取與存儲的數(shù)據(jù)。在矩陣運算模塊頂層設計中主要包括計算模塊與控制模塊兩部分,計算模塊負責矩陣的加減乘運算,控制模塊負責控制IP_RAM的使能信號及地址信號。當start信號檢測到高電平時,控制模塊發(fā)出讀使能信號Ena、Wea,同時發(fā)出讀地址信號,從矩陣ARam、BRam中讀取相應數(shù)據(jù),然后對矩陣進行相應計算;計算結束后使能C矩陣的Ena與Wea信號,給出寫地址,并將計算結果寫入例化好的CRam中,并對Address_a、Address_b、Address_c進行更新操作,直到整個計算結束,給出完成信號,控制器重新處于等待狀態(tài)。

圖3 MPC控制器端口及微架構設計Fig.3 The port and micro architecture design of MPC controller

圖4 矩陣運算模塊端口及微架構設計Fig.4 The port and micro architecture design of matrix module

2.2 矩陣加法模塊

按照控制器端口與微架構設計思想,設計矩陣加法模塊,采用狀態(tài)及設計方法,正確控制地址位address,使能位Ena、Wea及En_calcu等,矩陣加法模塊狀態(tài)機流圖如圖5所示。

在ModelSim中編寫激勵文件,完成功能驗證,圖6是對兩個二維方陣加法運算的仿真結果。由分析仿真結果可以看出,在第 1個計算周期,Matrixa(1,1)=0_00000100_000000000000000(4),Matrixb(1,1)=0_00000001_100000000000000(1.5),Matrixc(1,1)=0_00000101_100000000000000(5.5),計算結果正確,矩陣加法模塊正確,在計算到最后一個元素時輸出完成done信號。

圖5 矩陣加法模塊狀態(tài)機Fig.5 The state machine of matrix addition module

圖6 矩陣加法功能仿真結果Fig.6 The function simulation results of matrix addition module

2.3 矩陣乘法模塊

按照控制器端口與微架構設計思想,對矩陣元素進行乘累加操作,設計矩陣乘法模塊。其中乘累加運算的設計是矩陣乘法設計的關鍵,矩陣乘法模塊狀態(tài)機流圖如圖7所示。

對矩陣乘法模塊進行設計,在ModelSim中設計激勵文件,完成功能驗證,圖8是對兩個二維方陣乘法運算的仿真結果。由分析結果可以看出,在第1個計 算 周 期,Matrixa(1,1)=0_00000100_000000000000000(4),Matrixb(1,1)=0_00000001_100000000000000(1.5),Matrixa(1,2)=0_00000011_000000000000000(3),Matrixb(2,1)=0_00000011_000000000000000(3),Matrixc(1,1)=0_00001111_000000000000000(15),計算結果正確,矩陣乘法模塊正確,在計算到最后一個元素時輸出完成done信號。

圖7 矩陣乘法模塊狀態(tài)機Fig.7 The state machine of matrix multiplication module

圖8 矩陣乘法功能仿真結果Fig.8 The function simulation results of matrix multiplication module

矩陣運算模塊要正確地對矩陣元素進行相應的四則運算,首先設計定點數(shù)加減乘運算模塊,作為矩陣運算模塊的例化模塊。運算模塊采用定點數(shù)設計,為滿足數(shù)據(jù)計算精度與數(shù)值范圍的要求,設計采用24位定點數(shù),其中首位是符號位,8位是整數(shù)位,后15位是小數(shù)位。

2.4 控制器功能驗證

為驗證控制器的性能,選用電子節(jié)氣門作為被控對象,在Matlab/Simulink中搭建電子節(jié)氣門系統(tǒng),并完成離線仿真。將離線數(shù)據(jù)作為全硬件MPC控制器的輸入數(shù)據(jù),在ModelSim中進行控制器功能驗證。圖9是控制增量在Matlab環(huán)境下與ModelSim環(huán)境下MPC控制器的對比結果,其中實線與虛線分別是在Matlab和ModelSim中的仿真結果??梢钥闯觯布﨧PC控制器與在Matlab中仿真結果相同,完全滿足精度和數(shù)值范圍的性能要求。

在兩種實現(xiàn)方案下MPC控制器的速度比較如表1所示。由表1可以看出,基于FPGA的全硬件MPC控制器速度明顯提高,充分說明該方案的有效性與可行性。

圖9 控制器的功能驗證結果Fig.9 The verification results of the controller's function

表1 不同實現(xiàn)方案下MPC控制器的計算速度Tab.1 Computing speed of MPC under different implementation methods

3 實時仿真實驗

筆者基于FPGA開發(fā)板和dSPACE實時仿真系統(tǒng)進行MPC控制器的板級驗證,采用串口RS232進行FPGA開發(fā)板與dSPACE的數(shù)據(jù)通信,數(shù)據(jù)位寬為16位。設計串口接收與發(fā)送模塊,完成全局布局布線,將配置文件下載到FPGA開發(fā)板進行板級驗證。實物仿真平臺如圖10所示。

建立電子節(jié)氣門的數(shù)學模型,并得到系統(tǒng)的狀態(tài)空間方程[17]

其中x=[x1,x2]T是系統(tǒng)的狀態(tài)變量,分別表示節(jié)氣門開度(rad)和節(jié)氣門角速度(rad/s),輸出y是電子節(jié)氣門開度(rad),控制量u是節(jié)氣門電機兩端電壓(V)。

電子節(jié)氣門數(shù)學模型中具體參數(shù)取值如表2所示。

圖10 實時仿真平臺Fig.10 The real-time simulation platform

表2 模型參數(shù)取值表Tab.2 Model parameter values

在模型參數(shù)中,ksp是復位彈簧系數(shù),kd是滑動摩擦力系數(shù),kt是電機反電動勢常數(shù),n是齒輪傳動比,J是折算到電機側的轉動慣量,Ra是電機電阻。

選擇預測時域p=20,控制時域m=2,采樣時間Ts=6 ms,進行實時實驗。電子節(jié)氣門在開度期望值為1 rad的階躍響應曲線如圖11所示,圖11a中虛線、實線分別表示參考與實際響應節(jié)氣門開度。由仿真曲線可以看出電子節(jié)氣門開度在0.3 s左右完全跟蹤上給定節(jié)氣門開度,且沒有超調(diào),控制效果較好。因此筆者設計的基于FPGA的全硬件MPC控制器具有較好的實時性能,能較好地實現(xiàn)電子節(jié)氣門的跟蹤控制。

圖11 電子節(jié)氣門階躍響應曲線Fig.11 The step response curve of the clectronic throttle

4 結 語

筆者針對MPC控制器的快速實現(xiàn),提出了一種新的基于FPGA的RTL級全硬件MPC控制器設計方法。采用定點數(shù)據(jù)類型處理數(shù)據(jù),設計矩陣四則運算模塊及控制模塊,通過RAM核存儲數(shù)據(jù),在頂層中正確安排各運算模塊時序,完成基于FPGA的MPC控制器的設計。該方案充分利用RTL描述與底層電路對應關系,具有FPGA并行性、快速性等優(yōu)點,提高了MPC控制器在線計算的實時性;最后將MPC控制器用于電子節(jié)氣門的實時控制,聯(lián)合dSPACE進行實時仿真。仿真結果表明,基于FPGA的全硬件MPC控制器能很好地實現(xiàn)電子節(jié)氣門的實時控制。下一步的工作將會進行非線性有約束的全硬件MPC控制器設計與實現(xiàn)。

[1]杜文艷.迭代學習模型預測控制算法研究與應用[D].保定:華北電力大學控制與計算機工程學院,2012.DU Wenyan.Research and Application of Iterative Learning Model Predictive Control Algorithm[D].Baoding:Institute of Control and Computer Engineering,North China Electric Power University,2012.

[2]DIMITROV D,WIEBER P B,STASSE O,et al.An Optimized Linear Model Predictive Control Solver for Online Walking Motion Generation[C]∥Robotics and Automation 2009.ICRA'09 IEEE International Conference on.[S.l.]:IEEE,2009:1171-1176.

[3]矯曉龍.基于ARM的模型預測控制系統(tǒng)的研究與開發(fā)[D].南京:南京師范大學電氣與自動化工程學院,2011.JIAO Xiaolong.Research and Development of Model Predictive Control System Based on ARM [D].Nanjing:Institute of Electrical and Automation Engineering,Nanjing Normal University,2011.

[4]羅犇,邵之江,徐祖華,等.一種新的基于PSO的MPC及其硬件實現(xiàn)[J].控制工程,2013,20(2):227-230.LUO Ben,SHAO Zhijiang,XU Zuhua,et al.PSO Based Model Predictive Control and Its Hardware Implementation [J].Control Engineering,2013,20(2):227-230.

[5]胡云峰,陳虹,劉明星,等.基于 FPGA/SOPC的預測控制器設計與實現(xiàn)[J].儀器儀表學報,2010,31(6):1241-1248.HU Yunfeng,CHEN Hong,LIU Mingxing,et al.Design and Implementation of Model Predictive Controller Based on FPGA/SOPC [J].Journal of Instrument,2010,31(6):1241-1248.

[6]袁媛,謝巍,劉明業(yè).RTL綜合系統(tǒng)設計中時序邏輯綜合的實現(xiàn)方法[J].微電子學與計算機,2001(1):24-29.YUAN Yuan,XIE Wei,LIU Mingye.Implementation Method of Temporal Logic and Comprehension in the Design of RTL Synthesis System [J].Microelectronics and Computer,2001(1):24-29.

[7]趙均,李田鵬,錢積新.模型預測控制工程軟件關鍵技術及其工業(yè)應用[J].吉林大學學報:信息科學版,2004,22(4):341-345.ZHAO Jun,LI Tianpeng,QIAN Jixin.Key Technology and Industrial Application of Model Predictive Control Engineering Software[J].Journal of Jilin University:Information Science Edition,2004,22(4):341-345.

[8]QIN S J,BADGWELl T A.A Survey of Industrial Model Predictive Control Technology[J].Control Engineering Practice,2003,11(7):733-764.

[9]MAYNE D Q,RAWLINGS J B,RAO C V,et al.Constrained Model Predictive Control:Stability and Optimality[J].Automatica,2000,36(6):789-814.

[10]MORARI M,BARIC M.Recent Developments in the Control of Constrained Hybrid Systems[J].Computers and Chemical Engineering,2006,30(10):1619-1631.

[11]陳虹.模型預測控制[M].北京:科學出版社,2013.CHEN Hong.Model Predictive Control[M].Beijing:Science Press,2013.

[12]辛明壽,劉明山,周原.RS(239,255)解碼器的FPGA實現(xiàn)[J].吉林大學學報:信息科學版,2007,24(6):605-609.XIN Mingshou,LIU Mingshan,ZHOU Yuan.Realization of RS(239,255)Decoder Based on FPGA [J].Journal of Jilin University:Information Science Edition,2007,24(6):605-609.

[13]李大偉.用Flash單片機對FPGA進行配置的研究[J].吉林大學學報:信息科學版,2003,21(1):82-86.LI Dawei.Flash Micro Controller on the FPGA Configuration Research [J].Journal of Jilin University:Information Science Edition,2003,21(1):82-86.

[14]鄔貴明.FPGA矩陣計算并行算法與結構[D].武漢:國防科技大學研究生院計算機科學與技術,2011.WU Guiming.Parallel Algorithms and Architectures for Matrix Computations on FPGA[D].Wuhan:Graduate of Computer Science and Technology,National University of Defense Technology,2011.

[15]周昔平,高德遠,樊曉椏.乘累加運算器的高性能解決方案[J].微電子學與計算機,2002(11):21-24.ZHOU Xiping,GAO Deyuan,F(xiàn)AN Xiaoya.High Performance Design Methodology for MAC and DCT[J].Micro Electronics and Computer,2002(11):21-24.

[16]林皓.基于FPGA的矩陣運算實現(xiàn)[D].南京:南京理工大學電子工程與光電技術學院,2007.LIN Hao.The Realize of Matrix Operation Based on FPGA[D].Nanjing:College of Electrical Engineering and Photoelectric Technology,Nanjing University of Science and Technology,2007.

[17]劉明星.基于FPGA/SOPC的預測控制器研究[D].長春:吉林大學通信工程學院,2009.LIU Mingxing.Research on Model Predictive Control Based on FPGA/SOPC[D].Changchun:College of Communication Engineering,Jilin University,2009.

猜你喜歡
節(jié)氣門運算控制器
重視運算與推理,解決數(shù)列求和題
有趣的運算
2008款東風標致206車發(fā)動機加速不良
2017款福特福瑞斯車節(jié)氣門匹配方法
“整式的乘法與因式分解”知識歸納
我們?yōu)槭裁床桓仪逑垂?jié)氣門?
從設計角度改進節(jié)氣門體預防卡滯現(xiàn)象發(fā)生
模糊PID控制器設計及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
倍福 CX8091嵌入式控制器