基于FPGA的預(yù)測控制器設(shè)計(jì)設(shè)計(jì)_第1頁
基于FPGA的預(yù)測控制器設(shè)計(jì)設(shè)計(jì)_第2頁
基于FPGA的預(yù)測控制器設(shè)計(jì)設(shè)計(jì)_第3頁
基于FPGA的預(yù)測控制器設(shè)計(jì)設(shè)計(jì)_第4頁
基于FPGA的預(yù)測控制器設(shè)計(jì)設(shè)計(jì)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于FPGA的預(yù)測控制器設(shè)計(jì)摘 要 預(yù)測控制是隨著自適應(yīng)控制的研究而發(fā)展起來的一種先進(jìn)的計(jì)算機(jī)控制算法,F(xiàn)PGA具有很強(qiáng)的并行運(yùn)算能力,運(yùn)行速度快,采用FPGA陣列處理器實(shí)現(xiàn)預(yù)測控制系統(tǒng),能大幅提高預(yù)測控制的在線優(yōu)化速度。本文在Xilinx公司的集成開發(fā)環(huán)境ISE9.1i中,采用硬件描述語言HDL編程,調(diào)用IP核等輸入方式,完成了預(yù)測控制改進(jìn)算法的PPGA設(shè)計(jì)與實(shí)現(xiàn)。論文首先介紹了廣義預(yù)測控制算法以及改進(jìn)的算法,由于算法主要涉及矩陣相關(guān)的運(yùn)算需要進(jìn)行大量的數(shù)據(jù)計(jì)算和處理,為了減少數(shù)據(jù)計(jì)算的復(fù)雜性,從實(shí)現(xiàn)算法的控制器的硬件結(jié)構(gòu)上改進(jìn),因此采用FPGA陣列處理器實(shí)現(xiàn)預(yù)測控制系統(tǒng)。針對基于FPGA硬

2、件實(shí)現(xiàn)的特點(diǎn)介紹了求解預(yù)測控制中逆矩陣的遞推算法,設(shè)計(jì)出了預(yù)測控制的處理器陣列結(jié)構(gòu).在設(shè)計(jì)中采用層次化,模塊化的思想,將整個(gè)算法劃分成多個(gè)功能模塊,畫出了各模塊的流程圖。包括系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì),基本的處理器單元的設(shè)計(jì),遞推求逆算法的處理器陣列設(shè)計(jì),輸出預(yù)測的處理器陣列設(shè)計(jì),控制增量的計(jì)算,參數(shù)辨識(shí)等。最后用Modelsim仿真軟件對各模塊進(jìn)行了仿真,給出了仿真結(jié)果。設(shè)計(jì)中的各模塊均采用HDL通用硬件描述語言進(jìn)行描述,對仿真結(jié)果進(jìn)行了分析表明:采用FPGA陣列處理器實(shí)現(xiàn)預(yù)測控制系統(tǒng),能大幅提高預(yù)測控制的在線優(yōu)化速度,減小控制器面積,擴(kuò)大預(yù)測控制的應(yīng)用領(lǐng)域.關(guān)鍵詞:預(yù)測控制算法;FPGA;處理器陣

3、列;矩陣求逆;并行運(yùn)算Design of predictive controller based on FPGAAbstractWith the development of adaptive control, predictive control is proposed. Predictive control algorithm is an advanced computer control algorithm, and based on parameter model without strict requirements to process model. FPGA system has

4、 strong parallel computing capability and higher speed in calculations. So in-line optimization speed is raised.In the thesis, based on Xilinx integrated developing environment ISE9.1i, using hardware description language as the programming language, IP core as the input, a improved predictive-contr

5、ol algorithm is designed and implemented using FPGA. General predictive-control algorithm and its improved format are introduced. The algorithm involves with many matrix calculation, so a lot of data computing and processing is needed. At the same time improvement from controller and hardware struct

6、ure is obtained. FPGA array processor is used to implement predictive-control system.Due to the FPGA hardware implement, recurrent method for Matrix inversion in the predictive-control is briefly discussed. Predictive-control processor array structure is designed. In the design, adopting hierarchy a

7、nd module method, the entire algorithm is divided into function modules, flows of function modules have been drawed. Such as overall system structure design, basic processor design, recurring matrix inversion processor array design, output prediction processor array design, control increment calcula

8、tion, parameter identification, and so on. Every functional module is simulated using software Modelsim. The simulation result is given.HDL description language is applied in the models of design. Analyzes the results of simulation and receives some useful conclusions. So in-line optimization speed

9、is raised and the size and cost is reduced, the application field is greatly expanded.Key words:Predictive-control algorithm; FPGA;Processor arrays; Matrix inversion; Parallel algorithm目 錄摘 要IABSTRACTII第 1 章 緒論11.1 研究現(xiàn)狀概述11.2 預(yù)測控制的發(fā)展和應(yīng)用31.3 預(yù)測控制在新應(yīng)用中面臨的問題41.4 FPGA 實(shí)現(xiàn)預(yù)測控制器的優(yōu)勢51.5 主要內(nèi)容7第 2 章 基礎(chǔ)知識(shí)82.1

10、FPGA 技術(shù)82.1.1 FPGA 結(jié)構(gòu)82.1.2 FPGA 特點(diǎn)112.2 SOPC 技術(shù)112.3 Nios II 嵌入式軟核處理器132.4 FPGA/SOPC 開發(fā)工具142.5 FPGA/SOPC 開發(fā)流程16第3章 廣義預(yù)測控制算法193.1 預(yù)測控制的特點(diǎn)193.1.1 預(yù)測模型193.2 改進(jìn)的廣義預(yù)測控制算法213.2.1 預(yù)測模型213.2.2 最小方差預(yù)報(bào)器223.2.3 預(yù)測輸出223.2.4 參考軌跡233.3 矩陣分解233.4 遞推求逆24第4章 預(yù)測控制FPGA實(shí)現(xiàn)的基本單元介紹264.1 乘法加法器:264.2 移位寄存器:274.3 A/D轉(zhuǎn)換模塊:28

11、4.4 D/A轉(zhuǎn)換模塊:30第5章 預(yù)測控制器設(shè)計(jì)方案325.1 Nios II 處理器內(nèi)核335.2 JTAG UART IP 核355.3 timer IP核355.4 UART IP核365.5 SPIIP核365.6 avalon-M M Tristate總線橋IP核375.6.1 UART 串口通信395.7 系統(tǒng)集成及調(diào)試40第6 章 總結(jié)42參考文獻(xiàn)43致 謝4547第 1 章 緒論預(yù)測控制又稱為模型預(yù)測控制,它是 70 年代后期在工業(yè)過程控制領(lǐng)域中產(chǎn)生的一類新型計(jì)算機(jī)控制算法。它的問世,一方面是受到了計(jì)算機(jī)技術(shù)發(fā)展的推動(dòng),另一方面也來自復(fù)雜工業(yè)控制實(shí)踐向高層優(yōu)化控制提出的挑戰(zhàn)。

12、由于它采用多步預(yù)測,滾動(dòng)優(yōu)化和反饋校正等控制策略,因而控制效果好,魯棒性強(qiáng),適用于對不易建立精確數(shù)學(xué)模型且比較復(fù)雜的工業(yè)生產(chǎn)過程進(jìn)行控制,因此它一出現(xiàn)就受到國內(nèi)外工程界和控制界的重視,在現(xiàn)代工業(yè)控制中得到了廣泛的應(yīng)用。近年來,模型預(yù)測控制的應(yīng)用逐漸跨越工業(yè)控制,而延伸到航空、機(jī)電、網(wǎng)絡(luò)、交通等眾多領(lǐng)域。1.1 研究現(xiàn)狀概述北京時(shí)間2010年12月30日消息,美英兩國科學(xué)家聯(lián)合開發(fā)了一款運(yùn)算速度超快的電腦芯片,使當(dāng)前臺(tái)式機(jī)的運(yùn)算能力提升20倍。 當(dāng)前的個(gè)人電腦使用雙核、4核、16核處理器來執(zhí)行各項(xiàng)任務(wù)。如今,美英研究人員開發(fā)的中央處理器(CPU)將1000個(gè)內(nèi)核有效集成于一個(gè)芯片上。這項(xiàng)突破或?qū)?/p>

13、在今后幾年開啟一個(gè)超高速運(yùn)算的新時(shí)代,使家庭用戶不再對運(yùn)行緩慢的電腦系統(tǒng)感到沮喪。雖然速度更快,但由于新型“超級(jí)”電腦的能耗遠(yuǎn)低于當(dāng)前電腦,所以更加環(huán)保。 研究人員采用了一種名為“現(xiàn)場可編程門陣列”(以下簡稱“FPGA”)的芯片,使得微晶片就像都含有數(shù)百萬個(gè)晶體管一樣,而晶體管則是任何電路的基本組成部分。不過,F(xiàn)PGA芯片可由用戶安裝到特定電路,它們的功能不是在出廠時(shí)就設(shè)定好的。這樣一來,用戶可以將晶體管劃分成一個(gè)個(gè)“小群體”,要求每個(gè)“小群體”完成不同的任務(wù)。 通過在FPGA芯片內(nèi)創(chuàng)建逾1000個(gè)微電路,研究人員便將這個(gè)芯片變成了1000個(gè)內(nèi)核的處理器每個(gè)內(nèi)核都可以遵照自己的指令工作。在測試

14、中,F(xiàn)PGA芯片每秒能處理5GB的數(shù)據(jù),處理速度大概相當(dāng)于當(dāng)前臺(tái)式機(jī)的20倍。這項(xiàng)研究由英國格拉斯哥大學(xué)的韋姆·范德堡韋德(Wim Vander Bau Whe De)博士和美國馬薩諸塞大學(xué)盧維爾分校的同行共同實(shí)施。 范德堡韋德說:“FPGA芯片沒有應(yīng)用于標(biāo)準(zhǔn)電腦上,原因是對FPGA芯片編程相當(dāng)困難。FPGA芯片的處理能力強(qiáng)大,由于速度更快,能耗相當(dāng)?shù)?,是我們更為環(huán)保的選擇。”雖然當(dāng)前市場上銷售的電腦大多數(shù)內(nèi)核超過一個(gè),可以同時(shí)實(shí)施不同任務(wù),但傳統(tǒng)多核處理器只能共用一個(gè)存儲(chǔ)源,這降低了運(yùn)算速度。范德堡韋德的研究團(tuán)隊(duì)給每個(gè)內(nèi)核分配一定量的專用存儲(chǔ)空間,從而加快了處理器的運(yùn)算速度。 一名

15、用戶坐在運(yùn)算速度很慢的臺(tái)式機(jī)前面,看上去一籌莫展。在測試中,F(xiàn)PGA芯片每秒能處理5GB的數(shù)據(jù),處理速度大概相當(dāng)于當(dāng)前臺(tái)式機(jī)的20倍 范德堡韋德博士說:“這只是初期概念驗(yàn)證研究,我們試圖展示對FPGA編程的便捷方式,令其超高速處理的潛力可以更為廣泛地應(yīng)用于未來的運(yùn)算器和電子設(shè)備上。雖然現(xiàn)有許多技術(shù)充分使用FPGA芯片,如等離子電視、液晶電視和電腦網(wǎng)絡(luò)路由器,但它們在標(biāo)準(zhǔn)臺(tái)式機(jī)上的應(yīng)用卻十分有限?!?“但是,我們看到,包括英特爾和ARM在內(nèi)的一些廠商已經(jīng)宣布將開發(fā)集成傳統(tǒng)CPU與FPGA芯片的微晶片。我認(rèn)為此類處理器會(huì)得到更廣泛的應(yīng)用,有助于在今后幾年進(jìn)一步提升電腦運(yùn)算速度?!狈兜卤ろf德希望在2

16、011年3月應(yīng)用重構(gòu)運(yùn)算國際研討會(huì)上詳細(xì)介紹他的研究發(fā)現(xiàn)。1.2 預(yù)測控制的發(fā)展和應(yīng)用以狀態(tài)空間法為基礎(chǔ)的現(xiàn)代控制理論自創(chuàng)立以來,已得到了迅速發(fā)展,特別是在航天、航空領(lǐng)域取得了令人矚目的成就,并且對自動(dòng)控制技術(shù)的發(fā)展起到了積極的推動(dòng)作用。但隨著科學(xué)技術(shù)的不斷進(jìn)步和工業(yè)生產(chǎn)的迅速發(fā)展,對大型、復(fù)雜和不確定性系統(tǒng)實(shí)行自動(dòng)控制的要求不斷提高,使得現(xiàn)代控制理論的局限性日益明顯。主要反映在以下幾個(gè)方面:(1)現(xiàn)代控制理論過份依賴于被控對象的精確數(shù)學(xué)模型,而在現(xiàn)實(shí)工業(yè)過程中,往往很難建立精確的數(shù)學(xué)模型,即使一些被控對象能夠建立起數(shù)學(xué)模型,但因其結(jié)構(gòu)十分復(fù)雜而難于設(shè)計(jì)和實(shí)現(xiàn)有效的控制;(2)傳統(tǒng)的最優(yōu)控制通

17、過全局優(yōu)化以實(shí)現(xiàn)反饋控制的計(jì)算,但是在工業(yè)現(xiàn)場中可能存在上千個(gè)控制變量,這樣導(dǎo)致最優(yōu)控制的計(jì)算規(guī)模很大,以至于無法實(shí)現(xiàn);(3)工業(yè)實(shí)踐中往往具有很多干擾因素,很難得出確定性模型;(4)工業(yè)中往往需要實(shí)時(shí)控制,有時(shí)并不需要全局的優(yōu)化控制,需要當(dāng)前局部的控制決策。因此,很多學(xué)者開始打破傳統(tǒng)控制思想和體系框架的束縛,試圖面向工業(yè)過程的具體特點(diǎn),尋找對模型要求低、在線計(jì)算方便、綜合效果好的控制算法。正是在這種背景下,Richalet 等人于 20 世紀(jì) 70 年代末提出了預(yù)測控制。預(yù)測控制正是在工業(yè)實(shí)踐過程中逐步發(fā)展起來的一種新型的計(jì)算機(jī)控制算法。它利用過去和現(xiàn)在的輸入輸出狀態(tài),根據(jù)內(nèi)部模型,預(yù)測系統(tǒng)

18、未來的輸出狀態(tài),具有模型預(yù)測、滾動(dòng)優(yōu)化、反饋校正等特點(diǎn),其突出優(yōu)勢在于:由于采用了有限優(yōu)化窗口,使得優(yōu)化計(jì)算量大大減??;同時(shí)采用滾動(dòng)策略,在局部優(yōu)化的基礎(chǔ)上實(shí)現(xiàn)了全局的優(yōu)化;利用反饋校正,解決了系統(tǒng)干擾等不確定問題。正是由于預(yù)測控制具有上述的特點(diǎn)及優(yōu)勢,使其特別適用于控制無法建立精確數(shù)字模型的復(fù)雜的現(xiàn)代工業(yè)生產(chǎn)過程,所以它一出現(xiàn)就受到國內(nèi)外工程界的重視,并在復(fù)雜工業(yè)過程中得到成功應(yīng)用,顯示出強(qiáng)大的生命力,它的應(yīng)用領(lǐng)域也已擴(kuò)展到諸如化工、石油、電力、冶金、機(jī)械、國防、輕工等各工業(yè)部門。預(yù)測控制已成為在工業(yè)領(lǐng)域中應(yīng)用的主要先進(jìn)控制策略,給企業(yè)帶來巨大的效益。作為先進(jìn)控制和過程控制的典型代表,它的出

19、現(xiàn)對復(fù)雜工業(yè)過程控制產(chǎn)生了深刻影響,是一類很有發(fā)展前途的新型計(jì)算機(jī)控制算法。1.3 預(yù)測控制在新應(yīng)用中面臨的問題近年來,一些非工業(yè)過程領(lǐng)域,如航空、航海、汽車電子控制等對控制算法的要求越來越高,一些先進(jìn)的控制算法逐漸得到應(yīng)用。由于預(yù)測控制具有在不確定環(huán)境下進(jìn)行優(yōu)化控制的共性機(jī)理,使其應(yīng)用也逐漸跨越工業(yè)過程,延伸到航空、機(jī)電、環(huán)境、網(wǎng)絡(luò)、交通等眾多領(lǐng)域,已成功應(yīng)用于航海、航空、道路運(yùn)輸以及一些微型設(shè)備中。新的應(yīng)用領(lǐng)域?qū)刂破魈岢隽诵碌囊?,如高?shí)時(shí)性、微型化、高可靠性和低成本等。這也是預(yù)測控制在新應(yīng)用中面臨的迫切問題。目前預(yù)測控制主要面臨的一大挑戰(zhàn)是其復(fù)雜的優(yōu)化運(yùn)算使其無法滿足高實(shí)時(shí)性要求。由于

20、預(yù)測控制的優(yōu)化過程是在有限的采樣時(shí)間間隔內(nèi)反復(fù)在線計(jì)算求解優(yōu)化問題,這就需要準(zhǔn)確快速的優(yōu)化算法,在每個(gè)時(shí)間間隔內(nèi)快速準(zhǔn)確地求出最優(yōu)解。因此,如何在有限的采樣間隔內(nèi)快速找到最優(yōu)解,是預(yù)測控制算法最困難的環(huán)節(jié)。特別是在快速系統(tǒng)中,由于預(yù)測算法優(yōu)化過程中有多維搜索的復(fù)雜性,使整個(gè)算法的快速性受到限制。傳統(tǒng)的基于工控機(jī)的預(yù)測控制算法實(shí)現(xiàn)方案顯然無法滿足高實(shí)時(shí)性、微型化、高可靠性和低成本的要求。因此,為滿足新的應(yīng)用領(lǐng)域的要求,需要尋求新的方法加快預(yù)測控制算法的在線求解速度,提高其控制器的實(shí)時(shí)性。1.4 FPGA 實(shí)現(xiàn)預(yù)測控制器的優(yōu)勢作為專用集成電路領(lǐng)域中的一種新型的半定制電路,F(xiàn)PGA 的出現(xiàn),既解決了

21、專用定制電路(ASIC)的不足,又克服了原有可編程器件門電路數(shù)有限、無法實(shí)現(xiàn)復(fù)雜功能的缺點(diǎn)。最近十年,F(xiàn)PGA 已被成功應(yīng)用于很多領(lǐng)域,如通信、數(shù)據(jù)處理、儀器、工業(yè)控制、軍事和航空航天等。對于基于 FPGA 硬件實(shí)現(xiàn)預(yù)測控制器,可以采用兩種方案:一是整個(gè)預(yù)測控制器都由 FPGA 芯片實(shí)現(xiàn),編寫實(shí)現(xiàn)預(yù)測控制算法的 HDL 代碼。這種方法的優(yōu)點(diǎn)是系統(tǒng)結(jié)構(gòu)比較簡單,運(yùn)算速度快,實(shí)時(shí)性高。然而由于采用 FPGA 芯片實(shí)現(xiàn)控制器的所有功能,開發(fā)周期長,開發(fā)的難度大。二是基于 Nios II 軟核處理器的 SOPC 方案,這種方案中,F(xiàn)PGA 中嵌入了一個(gè)軟核處理器Nios II 嵌入式處理器。此方案利用

22、 Nios II處理器來實(shí)現(xiàn) MPC 算法,整個(gè)算法的 C/C+程序運(yùn)行在 Nios II 處理器上。Nios II 處理器是可定制的,并且可以通過自定制指令和硬件加速器來提高算法的運(yùn)算速度,提升系統(tǒng)性能。這種方案實(shí)現(xiàn)的系統(tǒng)具有很高的性能,而且開發(fā)周期短,開發(fā)難度相對較小。這是本文采用的方案。利用 FPGA 實(shí)現(xiàn)預(yù)測控制器可以解決以下一些問題:1) 高性能及高實(shí)時(shí)性:由于 FPGA 芯片內(nèi)部是通過上百萬門邏輯單元完成硬件實(shí)現(xiàn),并且具有很強(qiáng)的并行處理能力,它的運(yùn)算速度比基于傳統(tǒng)的單片機(jī)和其他通用的嵌入式處理器的軟件實(shí)現(xiàn)方案要快,具有很高的性能。因此,采用 FPGA 芯片實(shí)現(xiàn) MPC算法,就能使其

23、在線求解速度得到提高,提高其控制器的實(shí)時(shí)性。2) 高集成性及控制器微型化:FPGA 芯片采用芯片級(jí)封裝(CSP),其芯片的體積已經(jīng)縮小到 mm 級(jí)。而采用 SOPC(System On Programmable Chip,SOPC)技術(shù),可以在一片 FPGA 芯片上實(shí)現(xiàn)整個(gè)預(yù)測控制器,從而使預(yù)測控制器的體積大大縮小,可以實(shí)現(xiàn)控制器的微型化,這樣會(huì)使控制器的可植入性得到很大提高。3) 高可靠性及低成本:FPGA 芯片在出廠之前都做過 100%的嚴(yán)格測試,不需要設(shè)計(jì)人員承擔(dān)投片風(fēng)險(xiǎn)的費(fèi)用。而且 FPGA 在軍事及航空航天領(lǐng)域的廣泛應(yīng)用證實(shí)了其高可靠性。同時(shí),隨著半導(dǎo)體技術(shù)的發(fā)展,F(xiàn)PGA 的成本一

24、直在不斷降低,完全可以滿足系統(tǒng)對低成本的要求。4) 高靈活性及低功耗: FPGA 的現(xiàn)場可編程性,使用戶可以反復(fù)地編程、擦除、使用,或者保持在外圍電路不變的情況下,采用不同設(shè)計(jì)就可以實(shí)現(xiàn)不同的功能。這種現(xiàn)場可編程性給產(chǎn)品的快速開發(fā)及產(chǎn)品的升級(jí)帶來了極大的靈活性。此外,隨著半導(dǎo)體技術(shù)的發(fā)展,F(xiàn)PGA 的功耗不斷降低,非常適合于要求低功耗設(shè)備的場合。因此,利用 FPGA 實(shí)現(xiàn)預(yù)測控制器,能滿足新應(yīng)用對預(yù)測控制器高實(shí)時(shí)性、微型化、高可靠性和低成本的需要,基于 FPGA 的預(yù)測控制器能進(jìn)一步擴(kuò)大預(yù)測控制的應(yīng)用領(lǐng)域。1.5 主要內(nèi)容本文主要完成了以下工作:1. 廣義預(yù)測控制算法,并進(jìn)行了 Matlab/

25、Simulink 數(shù)字仿真;2. 采用基于 Nios II 嵌入式軟核處理器的 FPGA/SOPC 方案,利用 SOPC Builder在 FPGA 芯片上構(gòu)建 SOPC 系統(tǒng),完成其硬件系統(tǒng)與軟件系統(tǒng)的設(shè)計(jì),主要包括 Nios II內(nèi)核及標(biāo)準(zhǔn)組件的配置、自定制指令設(shè)計(jì)及自定制組件設(shè)計(jì)等,設(shè)計(jì)完成基于 FPGA的預(yù)測控制器。第 2 章 基礎(chǔ)知識(shí)基于 FPGA 的預(yù)測控制器實(shí)現(xiàn)涉及到預(yù)測控制和 FPGA/SOPC 開發(fā)技術(shù)等多方面的內(nèi)容,因此本章主要介紹關(guān)于預(yù)測控制和 FPGA/SOPC 開發(fā)的一些重要基礎(chǔ)知識(shí)和關(guān)鍵技術(shù)。2.1 FPGA 技術(shù)FPGA 是由可配置(或者可編程)邏輯塊組成的數(shù)字集

26、成電路,用戶可根據(jù)功能需求對其進(jìn)行重新配置,以實(shí)現(xiàn)用戶的功能。FPGA 產(chǎn)生于 80 年代中期,是在 PAL、GAL 等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。FPGA 的出現(xiàn)既解決了原有可編程器件門電路數(shù)有限的缺點(diǎn),又克服了 ASIC(Application Specfic Integrated Circuit,專用集成芯片)的不足,是一種新型的電路實(shí)現(xiàn)技術(shù)。它具有集成度高、研制時(shí)間短、體積小、保密性強(qiáng)、可靠性高及設(shè)計(jì)靈活等優(yōu)點(diǎn)。FPGA 在通信、數(shù)據(jù)處理、儀器、工業(yè)控制、軍事和航空航天等眾多領(lǐng)域得到了廣泛應(yīng)用;隨著功耗和成本的進(jìn)一步降低,F(xiàn)PGA 還將進(jìn)入更多的應(yīng)用領(lǐng)域。2.1.1 FPGA

27、結(jié)構(gòu)目前 FPGA 的生產(chǎn)廠商主要有 Xilinx、Altera、Actel、Lattice、QuickLogic。盡管這些廠商生產(chǎn)的 FPGA 品種和型號(hào)繁多,具體結(jié)構(gòu)和性能指標(biāo)各有特色,但它們都有一個(gè)共同之處,即由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊,從而實(shí)現(xiàn)不同的設(shè)計(jì)。典型的 FPGA 通常包含三類基本資源:可編程邏輯功能塊、可編程輸入/輸出塊和可編程互連資源。可編程邏輯功能塊是實(shí)現(xiàn)用戶功能的基本單元,多個(gè)邏輯功能塊通常規(guī)則地排成一個(gè)陣列結(jié)構(gòu),分布于整個(gè)芯片;可編程輸入/輸出塊完成芯片內(nèi)部邏輯與外部管腳之間的接口,圍繞在邏輯單元陣列四周;可編程內(nèi)部互連資源包括各種長

28、度的連線線段和一些可編程連接開關(guān),它們將各個(gè)可編程邏輯塊或輸入/輸出塊連接起來,構(gòu)成特定功能的電路。用戶可以通過編程決定每個(gè)單元的功能以及它們的互連關(guān)系,從而實(shí)現(xiàn)所需的邏輯功能。此外,還包含其他一些模塊,如 RAM、PLL、硬件乘法器、DSP 模塊等。不同廠家或不同型號(hào)的 FPGA,在可編程邏輯塊的內(nèi)部結(jié)構(gòu)、規(guī)模、內(nèi)部互連的結(jié)構(gòu)等方面經(jīng)常存在一定的差異。圖 2.1 為 Xilinx 公司的 FPGA 結(jié)構(gòu)示意圖。圖2.1 Xilinx公司的FPGA結(jié)構(gòu)示意圖每個(gè)單元的基本概念如下: 1) 基本可編程邏輯單元基本可編程邏輯單元是可編程邏輯的主體,可以根據(jù)設(shè)計(jì)靈活地改變其內(nèi)部連接與配置,從而完成不

29、同的邏輯功能。目前,F(xiàn)PGA 一般是基于 SRAM 工藝的,其基本可編程邏輯單元幾乎都是由查找表(LUT,Look Up Table)和寄存器(Register)等模塊組成的。2) 可編程輸入/輸出單元輸入/輸出(Input/Output)單元簡稱 I/O 單元,它們是芯片與外界電路的接口部分完成不同電氣特性下對輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配需求。為了使 FPGA 有更靈活的應(yīng)用,目前大多數(shù) FPGA 的 I/O 單元被設(shè)計(jì)為可編程模式,即通過軟件的靈活配置,可以適配不同的電氣標(biāo)準(zhǔn)與 I/O 物理特性;可以調(diào)整匹配阻抗特性,上下拉電阻;可以調(diào)整輸出驅(qū)動(dòng)電流的大小等。3) 豐富的布線資源布線資源連通

30、 FPGA 內(nèi)部所有的單元,連線的長度和工藝決定著信號(hào)在連線上的驅(qū)動(dòng)能力和傳輸?shù)乃俣?。有全局性的專用布線資源,用以完成器件內(nèi)部的全局時(shí)鐘和全局復(fù)位/置位的布線;有長線資源,用以完成器件 Bank(分區(qū))間的一些高速信號(hào)和一些第二全局時(shí)鐘信號(hào)的布線;還有短線資源,用以完成基本邏輯單元之間的邏輯互聯(lián)與布線。4) 底層嵌入功能單元底層嵌入功能單元這里指的是那些通用程度較高的嵌入式功能模塊,比如硬件乘法器、PLL(Phase Locked Loop)、DLL(Delay Locked Loop)、DSP 等。FPGA 內(nèi)部嵌入 CPU 或 DSP 等處理器,使 FPGA 在一定程度上具備了實(shí)現(xiàn)軟硬件聯(lián)

31、合系統(tǒng)的能力,F(xiàn)PGA 正逐步成為 SOPC(System On Programmable Chip)的高效設(shè)計(jì)平臺(tái)。2.1.2 FPGA 特點(diǎn)在二十幾年的發(fā)展過程中,F(xiàn)PGA 的硬件體系結(jié)構(gòu)和軟件開發(fā)工具都在不斷的完善,日趨成熟。從最初的 1200 個(gè)可用門,90 年代時(shí)幾十萬個(gè)可用門,發(fā)展到目前數(shù)百萬門至上千萬門的單片 FPGA 芯片,Xilinx、Altera 等世界頂級(jí)廠商已經(jīng)將 FPGA 器件的集成度提高到一個(gè)新的水平。FPGA 結(jié)合了微電子技術(shù)、電路技術(shù)、EDA 技術(shù),使設(shè)計(jì)者可以集中精力進(jìn)行所需邏輯功能的設(shè)計(jì),縮短設(shè)計(jì)周期,提高設(shè)計(jì)質(zhì)量。與專用集成電路 ASIC 相比,F(xiàn)PGA

32、具有靈活性高、設(shè)計(jì)周期短、成本低、風(fēng)險(xiǎn)小等優(yōu)勢,因而得到了廣泛應(yīng)用,各項(xiàng)相關(guān)技術(shù)也迅速發(fā)展起來,F(xiàn)PGA 目前已經(jīng)成為數(shù)字系統(tǒng)設(shè)計(jì)的重要硬件基礎(chǔ)。FPGA 的基本特點(diǎn)主要有:1) 采用 FPGA 設(shè)計(jì) ASIC 電路,用戶不需要投片生產(chǎn),就能得到合適的芯片;2) FPGA 可做其他全定制或半定制 ASIC 電路的中試樣片;3) FPGA 有豐富的邏輯資源和大量的 I/O 引腳,能滿足不同的功能需求;4) FPGA 是 ASIC 電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一;5) FPGA 采用高速 CHMOS 工藝,功耗低,可以與 CMOS、TTL 電平兼容??梢哉f,F(xiàn)PGA 芯片是目

33、前小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA 的品種和型號(hào)很多,主要有 Xilinx 的 Virtex、Spartan 系列、Altera 公司的 Stratix、Cyclone 系列等。2.2 SOPC 技術(shù)可編程片上系統(tǒng)(System On Programmable Chip,SOPC)是一種特殊的嵌入式系統(tǒng),是由美國 Altera 公司于 2000 年最早提出的。SOPC 技術(shù)提供了一種有效的解決方案,即用大規(guī)??删幊唐骷﨔PGA 來實(shí)現(xiàn) SoC(System On Chip)的功能,SOPC基于 FPGA 芯片,將處理器、存儲(chǔ)器、I/O 口等系統(tǒng)設(shè)計(jì)需要的模塊集成在一起,

34、完成整個(gè)系統(tǒng)的主要邏輯功能,具有靈活的設(shè)計(jì)方式,可裁減、可擴(kuò)充、可升級(jí),并具備軟硬件可編程的功能。SOPC 結(jié)合了 SoC 和 FPGA 各自的優(yōu)點(diǎn),具備以下基本特征:1) 至少包含一個(gè)以上的嵌入式處理器 IP Core;2) 具有小容量片內(nèi)高速 RAM 資源;3) 豐富的 IP Core 資源可供靈活選擇;4) 足夠的片上可編程邏輯資源;5) 單芯片、低功耗、微封裝。SOPC 技術(shù)的實(shí)現(xiàn)方式一般分為三種:(1)基于 FPGA 嵌入 IP(Intellectual Property)硬核的 SOPC 系統(tǒng)。目前最常用的嵌入式系統(tǒng)大多采用了含有 ARM 的 32 位 IP 處理器核的器件。Alt

35、era 公司 Excalibur系列的 FPGA 中就植入了 ARM922T 嵌入式系統(tǒng)處理器;Xilinx 的 Virtex-II Pro 系列中則植入了 IBM PowePC405 處理器。這樣就能使得 FPGA 靈活的硬件設(shè)計(jì)和硬件實(shí)現(xiàn)與處理器強(qiáng)大的軟件功能結(jié)合,高效地實(shí)現(xiàn) SOPC 系統(tǒng)。(2)基于 FPGA 嵌入 IP 軟核的 SOPC 系統(tǒng)。在第一種實(shí)現(xiàn)方案中,由于硬核是預(yù)先植入的,其結(jié)構(gòu)不能改變,功能也相對固定,無法裁減硬件資源,而且此類硬核多來自第三方公司,其知識(shí)產(chǎn)權(quán)費(fèi)用導(dǎo)致成本地增加。如果利用軟核嵌入式系統(tǒng)處理器就能有效克服這些不利因素。最具有代表性的嵌入式軟核處理器是Alt

36、era公司的NiosII 軟核處理器。(3)基于 HardCopy 技術(shù)的 SOPC 系統(tǒng)。HardCopy 就是利用原有的 FPGA 開發(fā)工具,將成功實(shí)現(xiàn)于 FPGA 器件上的 SOPC 系統(tǒng)通過特定的技術(shù)直接向 ASIC 轉(zhuǎn)化,從而克服傳統(tǒng) ASIC 設(shè)計(jì)中普遍存在的問題。2.3 Nios II 嵌入式軟核處理器Nios II 系列軟核處理器是 Altera 的第二代 FPGA 嵌入式軟核處理器,其性能超過200DMIPS,在 Altera FPGA 中實(shí)現(xiàn)僅需 35 美分。Altera 的 Stratix、Stratix GX、StratixII 和 Cyclone II、Cyclone

37、 III 系列 FPGA 全面支持 Nios II 處理器,以后推出的 FPGA器件也將全面支持 Nios II 處理器。Nios II 嵌入式處理器是一款通用的 RISC 結(jié)構(gòu)的 CPU,它定位于廣泛的嵌入式應(yīng)用。Nios II 處理器系列包括了三種核心快速型(Nios II/f)、經(jīng)濟(jì)型(Nios II/e)和標(biāo)準(zhǔn)型(Nios II/s)內(nèi)核每種都針對不同的性能范圍和成本而優(yōu)化。這三種內(nèi)核使用共同的 32 位的指令集結(jié)構(gòu)(ISA),并具有百分之一百的二進(jìn)制代碼兼容性。Nios II 處理器具有完善的軟件開發(fā)套件,包括編譯器、集成開發(fā)環(huán)境(IDE)、JTAG調(diào)試器、實(shí)時(shí)操作系統(tǒng)(RTOS)和

38、 TCP/IP 協(xié)議棧。設(shè)計(jì)者能夠用 SOPC Builder 系統(tǒng)開發(fā)工具很容易地創(chuàng)建專用的處理器系統(tǒng),并能夠根據(jù)系統(tǒng)的需求添加 Nios II 處理器的數(shù)量,可以輕松的將 Nios II 處理器嵌入到他們的系統(tǒng)中。Nios II 處理器系統(tǒng)中包含兩類可以在 FPGA 中實(shí)現(xiàn)的外設(shè):標(biāo)準(zhǔn)外設(shè)和定制外設(shè)。標(biāo)準(zhǔn)外設(shè)是指 Altera 公司提供的標(biāo)準(zhǔn)外圍設(shè)備庫,比如定時(shí)器、串行通信接口、SDRAM控制器等。定制外設(shè)可由設(shè)計(jì)者自行設(shè)計(jì)并集成到 Nios II 處理器系統(tǒng)。標(biāo)準(zhǔn)外設(shè)和定制外設(shè)與 Nios II 處理器核通過與 Avalon Switch Fabric 連接進(jìn)行通信。Avalon 總線是

39、一種相對簡單的總線結(jié)構(gòu),主要用于連接片內(nèi)處理器與外設(shè),以構(gòu)成可編程片上系統(tǒng)。它描述了主從組件外設(shè)間的端口連接關(guān)系,以及組件間通信的時(shí)序關(guān)系。Nios II 嵌入式處理器的特性:l.Nios II 處理器核 Nios II 處理器系列由三個(gè)不同的內(nèi)核組成,可以靈活地控制成本和性能,從而擁有廣泛的應(yīng)用空間;2.自定制指令及硬件加速器 開發(fā)人員可以在 Nios II 處理器核內(nèi)增加硬件,用來執(zhí)行復(fù)雜運(yùn)算任務(wù),為時(shí)序要求緊張的軟件提供加速算法;3.JTAG 調(diào)試模塊 JTAG 調(diào)試模塊提供了通過本地或遠(yuǎn)端 PC 主機(jī)實(shí)現(xiàn) Nios II 處理器的在芯片控制、調(diào)試和通訊功能,這是 Nios II 處理器

40、的一個(gè)極具競爭力的特性;4.外圍設(shè)備及接口 Nios II 開發(fā)套件包括一套標(biāo)準(zhǔn)外圍設(shè)備庫,在 Altera 的 FPGA中可以免費(fèi)使用。2.4 FPGA/SOPC 開發(fā)工具FPGA 的領(lǐng)導(dǎo)廠商 Altera 公司提供了一套完整的 FPGA/SOPC 開發(fā)工具,包括Quartus II 設(shè)計(jì)軟件、SOPC Builder 系統(tǒng)開發(fā)工具、Mode1Sim-Altera 仿真軟件、Nios II IDE(Integrated Development Environment,集成開發(fā)環(huán)境)和 SingalTap II 嵌入式邏輯分析儀。Quartus II 軟件是 Altera 公司的綜合開發(fā)工具,

41、它集成了 Altera 的 FPGA/CPLD 開發(fā)流程中所涉及的所有工具和第三方軟件接口。通過使用此綜合開發(fā)工具,設(shè)計(jì)者可以創(chuàng)建、組織和管理自己的設(shè)計(jì)。Quartus II 設(shè)計(jì)軟件具有很高的性能和易用性。采用Quartus II 軟件,可以在 Altera 器件中完成從設(shè)計(jì)、綜合、仿真到布局布線、測試的整個(gè)過程,并可以輕松設(shè)計(jì)、優(yōu)化并驗(yàn)證 SOPC 設(shè)計(jì)。SOPC Builder 是 SOPC 系統(tǒng)的主要開發(fā)工具。它是一個(gè)革命性的系統(tǒng)級(jí)開發(fā)工具,它使得集成組件時(shí)花費(fèi)的時(shí)間最少。SOPC Builder 可以快速地開發(fā)定制的方案,重建已經(jīng)存在的方案,并為其添加新的功能,提高系統(tǒng)的性能。SOP

42、C Builder 提供了一個(gè)強(qiáng)大的平臺(tái),用于組建一個(gè)在模塊級(jí)和組件級(jí)定義的系統(tǒng)。SOPC Builder 的組件庫包含了從簡單的固定邏輯的功能塊到復(fù)雜的、參數(shù)化的、可以動(dòng)態(tài)生成的子系統(tǒng)等一系列的組件。這些組件可以是從 Altera 或其他第三方合作伙伴購買來的 IP 核,它們其中一些是可以免費(fèi)下載用作評估的。設(shè)計(jì)者還可簡單地創(chuàng)建他們自己的定制的 SOPCBuiler 組件。當(dāng)設(shè)計(jì)完畢時(shí),還可以借助 ModelSim-Altera 仿真軟件進(jìn)行仿真,SOPC Builder 為仿真系統(tǒng)自生成 VHDL 和 Verilog 仿真模型。在 SOPC Builder 和 Nios II IDE 自動(dòng)

43、生成的仿真環(huán)境中,能夠十分方便地對 Nios II 處理器系統(tǒng)進(jìn)行仿真。Nios II IDE 是一個(gè)基于 Eclipse 架構(gòu)的集成開發(fā)環(huán)境,它包括一整套開發(fā)工具:GNU 開發(fā)工具,基于 GDB 的調(diào)試器,包括軟件仿真和硬件調(diào)試;提供用戶一個(gè)硬件抽象層 HAL;提供嵌入式操作系統(tǒng) Micro C/OS-II 和 LwTCP/IP 協(xié)議棧的支持;提供幫助用戶快速入門的軟件模板;提供 Flash 下載支持(Flash Programmer 和 Quartus II Programmer)。SignalTap II 邏輯分析儀是 Altera 的第二代系統(tǒng)級(jí)調(diào)試工具,能夠獲取、顯示FPGA/SOP

44、C 系統(tǒng)的實(shí)時(shí)信號(hào),幫助設(shè)計(jì)者在其系統(tǒng)設(shè)計(jì)中觀察硬件和軟件的交互作用,從而方便地進(jìn)行系統(tǒng)調(diào)試。2.5 FPGA/SOPC 開發(fā)流程完整的 FPGA 設(shè)計(jì)流程包括設(shè)計(jì)輸入、功能仿真、綜合、綜合后仿真、布局布線、布線后仿真與驗(yàn)證和板級(jí)仿真驗(yàn)證與調(diào)試等主要步驟。基于 FPGA 的 SOPC 設(shè)計(jì)總體上也遵循上述的開發(fā)流程,同時(shí)也具有一定的特殊性。SOPC 設(shè)計(jì)包括硬件和軟件兩部分,兩部分進(jìn)行協(xié)同設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)的功能。其中,硬件設(shè)計(jì)主要基于 Quartus II 和 SOPC Builder,軟件設(shè)計(jì)則基于 Nios II IDE。在進(jìn)行 SOPC 開發(fā)之前,首先必須分析系統(tǒng)需求,如應(yīng)用系統(tǒng)需求的計(jì)算

45、性能、需要的帶寬和吞吐量、需求的接口類型等。硬件系統(tǒng)設(shè)計(jì)首先從 SOPC Builder 中選取滿足需求的 Nios II 處理器核、存儲(chǔ)器以及各其他外圍器件,并定制和配置它們的功能;分配外設(shè)地址及中斷號(hào),設(shè)定復(fù)位地址;設(shè)計(jì)者也可以添加自身定制指令邏輯和自己設(shè)計(jì)的 IP 模塊到 Nios II 內(nèi)核以提升處理器性能。然后將生成的 SOPC 系統(tǒng)集成到 Quartus II 工程,在 Quartus II 中編譯綜合,進(jìn)行布局布線,生成 FPGA 配置文件;最后可以使用編程工具通過下載電纜將配置文件下載到目標(biāo)板上。軟件系統(tǒng)開發(fā)使用 Nios II IDE。使用 SOPC Builder 生成系統(tǒng)

46、后,可以直接使用 Nios II IDE 開始設(shè)計(jì) C/C+應(yīng)用程序代碼。Altera 提供了 Nios II CPU 外設(shè)驅(qū)動(dòng)程序和硬件抽象層(HAL),使用戶能夠快速編寫與低層硬件細(xì)節(jié)無關(guān)的 Nios II 程序,除了應(yīng)用代碼,設(shè)計(jì)者還可以在 Nios II IDE 工程中設(shè)計(jì)和重新使用定制庫。設(shè)計(jì)者可以使用 Nios II IDE 對程序進(jìn)行編譯、鏈接,生成可執(zhí)行文件(*.elf)。接下來可以在 IDE 的指令集仿真器(ISS)上仿真軟件和運(yùn)行/調(diào)試軟件,也可以將可執(zhí)行文件下載到在目標(biāo)板上對軟件進(jìn)行調(diào)試。硬件和軟件設(shè)計(jì)調(diào)試完成后,則需要使用編程工具(Flash Programmer 和

47、Quartus II Programmer)將配置文件下載到 FPGA 的配置芯片或 Flash 存儲(chǔ)器,并將可執(zhí)行文件(*.elf)編程到 Flash 中。SOPC 開發(fā)流程簡圖流程如圖 2.2 所示。圖 2.2 SOPC 開發(fā)流程簡圖第3章 廣義預(yù)測控制算法廣義預(yù)測控制算法保持了最小方差控制器的在線辨識(shí),模型預(yù)測和最小方差控制等特點(diǎn),吸收了DMC和MAC中的優(yōu)點(diǎn),提供了在復(fù)雜的環(huán)境下有效地利用過程信息進(jìn)行優(yōu)化控制的途徑。它具有預(yù)測模型,滾動(dòng)優(yōu)化,在線反饋校正和柔化作用等優(yōu)點(diǎn)的一種新型控制算法,是控制論中模型,控制和反饋概念的具體體現(xiàn)。3.1 預(yù)測控制的特點(diǎn)預(yù)測控制是屬于一種基于模型的控制算

48、法。其機(jī)理可描述為:在每一采樣時(shí)刻,根據(jù)當(dāng)前測量信息,求解一個(gè)有限時(shí)域開環(huán)最優(yōu)控制問題,并將得到的控制序列的第一個(gè)元素作用到被控制對象上直至下一個(gè)采樣周期,在下一時(shí)刻重復(fù)上述過程。算法共性有如下三點(diǎn):預(yù)測模型,滾動(dòng)優(yōu)化和反饋校正。圖3.1為預(yù)測控制的原理結(jié)構(gòu)圖。 圖3.1 預(yù)測控制的原理結(jié)構(gòu)圖3.1.1 預(yù)測模型預(yù)測控制的模型稱為預(yù)測模型。預(yù)測控制對模型結(jié)構(gòu)沒有嚴(yán)格的要求,在信息的基礎(chǔ)上根據(jù)功能要求按照最方便的途徑建立模型。預(yù)測控制對模型的要求不同于其他傳統(tǒng)的控制方法,其他的反饋控制器一般都依賴于當(dāng)前或過去的狀態(tài)信息,而它能夠根據(jù)系統(tǒng)的歷史信息和選定的未來輸入,預(yù)測其未來輸出值,因而可以根據(jù)實(shí)

49、際對象的復(fù)雜程度,建立適當(dāng)?shù)念A(yù)測模型。因此,不僅狀態(tài)方程,傳遞函數(shù)這類傳統(tǒng)的模型可作為預(yù)測模型,而且那些易于在線辨識(shí)并能描述不穩(wěn)定系統(tǒng)的受控自回歸滑動(dòng)平均模型和受控自回歸積分滑動(dòng)平均模型等都可以作為預(yù)測模型。此外,非線性系統(tǒng),分布參數(shù)系統(tǒng)的模型,連續(xù)的或離散的,確定性的或隨機(jī)性的模型只要具備上述功能,也可以作為預(yù)測模型使用。CARIMA模型具有以下特點(diǎn):(1)非平穩(wěn)擾動(dòng)(2)可保證系統(tǒng)輸出穩(wěn)態(tài)誤差為0。CARIMA模型能自然地把積分作用納入控制律中,因此階躍負(fù)載擾動(dòng)引起的偏差將自然消除。CARIMA模型描述的離散系統(tǒng): (3.1)其中是一步后移算子,為零均值隨機(jī)的白噪聲,表示差分算子。,分別表

50、示被控對象的輸入和輸出。這里介紹GPC的原來,設(shè)。為了推導(dǎo)出將來時(shí)刻輸出的預(yù)測值,使用Diophantine方程: (3.2) (3.3a) (3.3b)將(3.1)式兩側(cè)乘以,得 (3.4)由(3.2)式可得 (3.5)由(3.3)和(3.5)可以看到,由于只與控制有關(guān),而只與輸出有關(guān),(3.5)式中最后一項(xiàng)為將來時(shí)刻的白噪聲,因此t時(shí)刻后j步輸出的最小方差預(yù)測值為 (3.6)得到的(3.6)式即為廣義預(yù)測控制的預(yù)測模型。3.2 改進(jìn)的廣義預(yù)測控制算法廣義預(yù)測控制的基本算法受多項(xiàng)式穩(wěn)定的限制,同時(shí)還需求解Diophantine方程,而且在算法中未直接考慮到時(shí)滯的影響。接下來介紹一種基于遞推算

51、法的改進(jìn)的預(yù)測控制算法,它不受多項(xiàng)式穩(wěn)定的限制,且不需求解Diophantine方程。3.2.1 預(yù)測模型考慮如下的CARIMA模型 (3.7)其展開形式為: (3.8)其中,分別為系統(tǒng)的輸出、控制量和白噪聲,n, m, r 分別為對應(yīng)的多項(xiàng)式的階次,d+1 為系統(tǒng)的純滯后。若=0,i>n, =0, i>m, =0, i>r, 對上式遞推,可以確定t時(shí)刻后k步的輸出y(t+k)(k=1,2)為: (3.9)3.2.2 最小方差預(yù)報(bào)器式(3.9)中最后一項(xiàng)是t時(shí)刻后將來的噪聲的線性組合,去掉后可得t時(shí)刻的k步最小方差預(yù)報(bào)器: (3.10) 3.2.3 預(yù)測輸出在t時(shí)刻以及t時(shí)刻

52、以后的控制增量為零的條件下,由最小方差預(yù)報(bào)器式子(3.10),預(yù)測的將來時(shí)刻的輸出定義為ym(t+k),它的值可由當(dāng)前時(shí)刻的已知信息確定,則由(3.10)式可得 (3.11) 3.2.4 參考軌跡已知系統(tǒng)的時(shí)滯為d+1,此時(shí)控制量對y(t+1),y(t+2),y(t+d)無控制能力,考慮這一因素,去參考軌跡為 (3.12)其中ys 為設(shè)定值,(0<<1)為柔化系數(shù),體現(xiàn)了輸出逼近設(shè)定值的速度。廣義預(yù)測控制的計(jì)算主要在于矩陣求逆,起計(jì)算量隨求逆階次的增加呈指數(shù)關(guān)系增長。控制率中的矩陣G有如下特性:矩陣是下三角矩陣;各對角線上的元素是相同的。從而推得求逆矩陣的遞推算法。3.3 矩陣分解

53、目前各種GPC算法中的控制增量式大多都是如下形式: (4.1)其中 (4.2)n為求逆階次,gi可由預(yù)測模型計(jì)算出的參數(shù),得:, (4.3)令待求逆矩陣為:, (4.4)其中n和n-1分別為對應(yīng)矩陣的求逆階次,引入行向量: (4.5)可得: (4.6)則有: (4.7)上式則為矩陣的Pn的分解公式。3.4 遞推求逆利用求逆公式對上式求逆,得: (4.8)由前面可知,Pn和Pn-1為對稱矩陣, 也為對稱矩陣,引入列向量: (4.9)所以,前式可表示為: (4.10)所以上式為求解矩陣Pn的遞推公式,且初值為: (4.11)第4章 預(yù)測控制FPGA實(shí)現(xiàn)的基本單元介紹由于FPGA所能執(zhí)行的必須是二進(jìn)

54、制數(shù)字量,而且所以的運(yùn)算都是基于加法和移位運(yùn)算。因此,在研究利用FPGA實(shí)現(xiàn)預(yù)測控制算法時(shí)發(fā)現(xiàn),遞推算法的預(yù)算中大多是進(jìn)行矩陣的乘法和加法運(yùn)算。這也就為利用FPGA實(shí)現(xiàn)預(yù)測控制算法的可行性提供了依據(jù),下面就在算法中主要運(yùn)用的單元進(jìn)行介紹。4.1 乘法加法器:乘法加法器(MAC)單元是指對所輸入的數(shù)據(jù)進(jìn)行乘法加法運(yùn)算。在Quartus II中搭建模塊圖實(shí)現(xiàn)算法或者編寫硬件描述語言實(shí)現(xiàn),最后封裝為IP 單元,在實(shí)現(xiàn)預(yù)測控制算法是進(jìn)行調(diào)用。下圖為搭建框圖:圖4.1乘法加法器的框圖首先對輸入數(shù)據(jù)在時(shí)鐘沿到來時(shí)進(jìn)行存儲(chǔ),然后在下一個(gè)時(shí)鐘沿到來時(shí)在再進(jìn)行計(jì)算,這樣可以防止競爭冒險(xiǎn)和毛刺的出現(xiàn),圖中所采用的

55、各模塊都是利用軟件提供的封裝器件搭建而成。并且設(shè)置有EN和CLRN輸入端,可以對各模塊清零和控制。下面是對該模塊的仿真波形圖:圖4.2 乘法加法器的仿真波形圖對結(jié)果的分析發(fā)現(xiàn),除了在時(shí)鐘變換的地方會(huì)出現(xiàn)一些不可預(yù)料的結(jié)果外,正常的運(yùn)算結(jié)果是滿足設(shè)計(jì)要求的。4.2 移位寄存器:由于在預(yù)測控制算法中,進(jìn)行預(yù)算的變量值一般都是矩陣形式,所以為了在FPGA中能夠?qū)仃囘M(jìn)行運(yùn)算,本文中設(shè)計(jì)利用串入串出移位寄存器來實(shí)現(xiàn)矩陣的存儲(chǔ)和計(jì)算,通過移位對矩陣中各個(gè)變量進(jìn)行操作。在此利用硬件描述語言來編寫其程序,實(shí)現(xiàn)其功能。并且將其封裝成IP模塊,以便在以后編寫主程序是使用。下圖是為了驗(yàn)證其功能所搭建的模塊圖:圖4.3 移位寄存器搭建的模塊圖下圖為仿真結(jié)果,從圖中明顯看出對輸入的移位。圖4.4 移位寄存器的仿真結(jié)果4.3 A/D轉(zhuǎn)換模塊:A/D轉(zhuǎn)換電路是將輸入的模擬信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,使其成為FPGA能夠處理的數(shù)字信號(hào)。圖4.5 A/D轉(zhuǎn)換電路下圖中的模塊是將A/D轉(zhuǎn)換器的硬件程序封裝成模塊,以便在以后使用,這里為了驗(yàn)證其正確性搭建了如下模塊。圖4.6 A/D轉(zhuǎn)換的模塊這是時(shí)序仿真波形,經(jīng)過驗(yàn)證該模塊的程序能夠?qū)崿F(xiàn)預(yù)想功能。圖4.7 A/D轉(zhuǎn)換的時(shí)序仿真波形4.4 D/A轉(zhuǎn)換模塊:D/A轉(zhuǎn)換是將FPGA輸出的數(shù)字量轉(zhuǎn)換成為模擬量輸出,使其

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論