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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、列;矩陣求逆;并行運算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 預測控制的發(fā)展和應用31.3 預測控制在新應用中面臨的問題41.4 fpga 實現(xiàn)預測控制器的優(yōu)勢51.5 主要內(nèi)容7第 2 章 基礎知識82.1

10、fpga 技術82.1.1 fpga 結構82.1.2 fpga 特點112.2 sopc 技術112.3 nios ii 嵌入式軟核處理器132.4 fpga/sopc 開發(fā)工具142.5 fpga/sopc 開發(fā)流程16第3章 廣義預測控制算法193.1 預測控制的特點193.1.1 預測模型193.2 改進的廣義預測控制算法213.2.1 預測模型213.2.2 最小方差預報器223.2.3 預測輸出223.2.4 參考軌跡233.3 矩陣分解233.4 遞推求逆24第4章 預測控制fpga實現(xiàn)的基本單元介紹264.1 乘法加法器:264.2 移位寄存器:274.3 a/d轉換模塊:28

11、4.4 d/a轉換模塊:30第5章 預測控制器設計方案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 章 總結42參考文獻43致 謝4547第 1 章 緒論預測控制又稱為模型預測控制,它是 70 年代后期在工業(yè)過程控制領域中產(chǎn)生的一類新型計算機控制算法。它的問世,一方面是受到了計算機技術發(fā)展的推動,另一方面也來自復雜工業(yè)控制實踐向高層優(yōu)化控制提出的挑戰(zhàn)。

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

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

14、中,fpga芯片每秒能處理5gb的數(shù)據(jù),處理速度大概相當于當前臺式機的20倍。這項研究由英國格拉斯哥大學的韋姆范德堡韋德(wim vander bau whe de)博士和美國馬薩諸塞大學盧維爾分校的同行共同實施。 范德堡韋德說:“fpga芯片沒有應用于標準電腦上,原因是對fpga芯片編程相當困難。fpga芯片的處理能力強大,由于速度更快,能耗相當?shù)停俏覀兏鼮榄h(huán)保的選擇?!彪m然當前市場上銷售的電腦大多數(shù)內(nèi)核超過一個,可以同時實施不同任務,但傳統(tǒng)多核處理器只能共用一個存儲源,這降低了運算速度。范德堡韋德的研究團隊給每個內(nèi)核分配一定量的專用存儲空間,從而加快了處理器的運算速度。 一名用戶坐在運算

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

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

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

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

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

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

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

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

23、得到提高,提高其控制器的實時性。2) 高集成性及控制器微型化:fpga 芯片采用芯片級封裝(csp),其芯片的體積已經(jīng)縮小到 mm 級。而采用 sopc(system on programmable chip,sopc)技術,可以在一片 fpga 芯片上實現(xiàn)整個預測控制器,從而使預測控制器的體積大大縮小,可以實現(xiàn)控制器的微型化,這樣會使控制器的可植入性得到很大提高。3) 高可靠性及低成本:fpga 芯片在出廠之前都做過 100%的嚴格測試,不需要設計人員承擔投片風險的費用。而且 fpga 在軍事及航空航天領域的廣泛應用證實了其高可靠性。同時,隨著半導體技術的發(fā)展,fpga 的成本一直在不斷降低

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

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

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

27、pga 的生產(chǎn)廠商主要有 xilinx、altera、actel、lattice、quicklogic。盡管這些廠商生產(chǎn)的 fpga 品種和型號繁多,具體結構和性能指標各有特色,但它們都有一個共同之處,即由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊,從而實現(xiàn)不同的設計。典型的 fpga 通常包含三類基本資源:可編程邏輯功能塊、可編程輸入/輸出塊和可編程互連資源??删幊踢壿嫻δ軌K是實現(xiàn)用戶功能的基本單元,多個邏輯功能塊通常規(guī)則地排成一個陣列結構,分布于整個芯片;可編程輸入/輸出塊完成芯片內(nèi)部邏輯與外部管腳之間的接口,圍繞在邏輯單元陣列四周;可編程內(nèi)部互連資源包括各種長度的連線線段

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

29、。目前,fpga 一般是基于 sram 工藝的,其基本可編程邏輯單元幾乎都是由查找表(lut,look up table)和寄存器(register)等模塊組成的。2) 可編程輸入/輸出單元輸入/輸出(input/output)單元簡稱 i/o 單元,它們是芯片與外界電路的接口部分完成不同電氣特性下對輸入/輸出信號的驅動與匹配需求。為了使 fpga 有更靈活的應用,目前大多數(shù) fpga 的 i/o 單元被設計為可編程模式,即通過軟件的靈活配置,可以適配不同的電氣標準與 i/o 物理特性;可以調(diào)整匹配阻抗特性,上下拉電阻;可以調(diào)整輸出驅動電流的大小等。3) 豐富的布線資源布線資源連通 fpga

30、內(nèi)部所有的單元,連線的長度和工藝決定著信號在連線上的驅動能力和傳輸?shù)乃俣?。有全局性的專用布線資源,用以完成器件內(nèi)部的全局時鐘和全局復位/置位的布線;有長線資源,用以完成器件 bank(分區(qū))間的一些高速信號和一些第二全局時鐘信號的布線;還有短線資源,用以完成基本邏輯單元之間的邏輯互聯(lián)與布線。4) 底層嵌入功能單元底層嵌入功能單元這里指的是那些通用程度較高的嵌入式功能模塊,比如硬件乘法器、pll(phase locked loop)、dll(delay locked loop)、dsp 等。fpga 內(nèi)部嵌入 cpu 或 dsp 等處理器,使 fpga 在一定程度上具備了實現(xiàn)軟硬件聯(lián)合系統(tǒng)的能力

31、,fpga 正逐步成為 sopc(system on programmable chip)的高效設計平臺。2.1.2 fpga 特點在二十幾年的發(fā)展過程中,fpga 的硬件體系結構和軟件開發(fā)工具都在不斷的完善,日趨成熟。從最初的 1200 個可用門,90 年代時幾十萬個可用門,發(fā)展到目前數(shù)百萬門至上千萬門的單片 fpga 芯片,xilinx、altera 等世界頂級廠商已經(jīng)將 fpga 器件的集成度提高到一個新的水平。fpga 結合了微電子技術、電路技術、eda 技術,使設計者可以集中精力進行所需邏輯功能的設計,縮短設計周期,提高設計質(zhì)量。與專用集成電路 asic 相比,fpga 具有靈活性高

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

33、提高系統(tǒng)集成度、可靠性的最佳選擇之一。fpga 的品種和型號很多,主要有 xilinx 的 virtex、spartan 系列、altera 公司的 stratix、cyclone 系列等。2.2 sopc 技術可編程片上系統(tǒng)(system on programmable chip,sopc)是一種特殊的嵌入式系統(tǒng),是由美國 altera 公司于 2000 年最早提出的。sopc 技術提供了一種有效的解決方案,即用大規(guī)??删幊唐骷pga 來實現(xiàn) soc(system on chip)的功能,sopc基于 fpga 芯片,將處理器、存儲器、i/o 口等系統(tǒng)設計需要的模塊集成在一起,完成整個系統(tǒng)

34、的主要邏輯功能,具有靈活的設計方式,可裁減、可擴充、可升級,并具備軟硬件可編程的功能。sopc 結合了 soc 和 fpga 各自的優(yōu)點,具備以下基本特征:1) 至少包含一個以上的嵌入式處理器 ip core;2) 具有小容量片內(nèi)高速 ram 資源;3) 豐富的 ip core 資源可供靈活選擇;4) 足夠的片上可編程邏輯資源;5) 單芯片、低功耗、微封裝。sopc 技術的實現(xiàn)方式一般分為三種:(1)基于 fpga 嵌入 ip(intellectual property)硬核的 sopc 系統(tǒng)。目前最常用的嵌入式系統(tǒng)大多采用了含有 arm 的 32 位 ip 處理器核的器件。altera 公司

35、 excalibur系列的 fpga 中就植入了 arm922t 嵌入式系統(tǒng)處理器;xilinx 的 virtex-ii pro 系列中則植入了 ibm powepc405 處理器。這樣就能使得 fpga 靈活的硬件設計和硬件實現(xiàn)與處理器強大的軟件功能結合,高效地實現(xiàn) sopc 系統(tǒng)。(2)基于 fpga 嵌入 ip 軟核的 sopc 系統(tǒng)。在第一種實現(xiàn)方案中,由于硬核是預先植入的,其結構不能改變,功能也相對固定,無法裁減硬件資源,而且此類硬核多來自第三方公司,其知識產(chǎn)權費用導致成本地增加。如果利用軟核嵌入式系統(tǒng)處理器就能有效克服這些不利因素。最具有代表性的嵌入式軟核處理器是altera公司的

36、niosii 軟核處理器。(3)基于 hardcopy 技術的 sopc 系統(tǒng)。hardcopy 就是利用原有的 fpga 開發(fā)工具,將成功實現(xiàn)于 fpga 器件上的 sopc 系統(tǒng)通過特定的技術直接向 asic 轉化,從而克服傳統(tǒng) asic 設計中普遍存在的問題。2.3 nios ii 嵌入式軟核處理器nios ii 系列軟核處理器是 altera 的第二代 fpga 嵌入式軟核處理器,其性能超過200dmips,在 altera fpga 中實現(xiàn)僅需 35 美分。altera 的 stratix、stratix gx、stratixii 和 cyclone ii、cyclone iii 系

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

38、p 協(xié)議棧。設計者能夠用 sopc builder 系統(tǒng)開發(fā)工具很容易地創(chuàng)建專用的處理器系統(tǒng),并能夠根據(jù)系統(tǒng)的需求添加 nios ii 處理器的數(shù)量,可以輕松的將 nios ii 處理器嵌入到他們的系統(tǒng)中。nios ii 處理器系統(tǒng)中包含兩類可以在 fpga 中實現(xiàn)的外設:標準外設和定制外設。標準外設是指 altera 公司提供的標準外圍設備庫,比如定時器、串行通信接口、sdram控制器等。定制外設可由設計者自行設計并集成到 nios ii 處理器系統(tǒng)。標準外設和定制外設與 nios ii 處理器核通過與 avalon switch fabric 連接進行通信。avalon 總線是一種相對簡單

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

40、爭力的特性;4.外圍設備及接口 nios ii 開發(fā)套件包括一套標準外圍設備庫,在 altera 的 fpga中可以免費使用。2.4 fpga/sopc 開發(fā)工具fpga 的領導廠商 altera 公司提供了一套完整的 fpga/sopc 開發(fā)工具,包括quartus ii 設計軟件、sopc builder 系統(tǒng)開發(fā)工具、mode1sim-altera 仿真軟件、nios ii ide(integrated development environment,集成開發(fā)環(huán)境)和 singaltap ii 嵌入式邏輯分析儀。quartus ii 軟件是 altera 公司的綜合開發(fā)工具,它集成了 a

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

42、der 提供了一個強大的平臺,用于組建一個在模塊級和組件級定義的系統(tǒng)。sopc builder 的組件庫包含了從簡單的固定邏輯的功能塊到復雜的、參數(shù)化的、可以動態(tài)生成的子系統(tǒng)等一系列的組件。這些組件可以是從 altera 或其他第三方合作伙伴購買來的 ip 核,它們其中一些是可以免費下載用作評估的。設計者還可簡單地創(chuàng)建他們自己的定制的 sopcbuiler 組件。當設計完畢時,還可以借助 modelsim-altera 仿真軟件進行仿真,sopc builder 為仿真系統(tǒng)自生成 vhdl 和 verilog 仿真模型。在 sopc builder 和 nios ii ide 自動生成的仿真環(huán)

43、境中,能夠十分方便地對 nios ii 處理器系統(tǒng)進行仿真。nios ii ide 是一個基于 eclipse 架構的集成開發(fā)環(huán)境,它包括一整套開發(fā)工具:gnu 開發(fā)工具,基于 gdb 的調(diào)試器,包括軟件仿真和硬件調(diào)試;提供用戶一個硬件抽象層 hal;提供嵌入式操作系統(tǒng) micro c/os-ii 和 lwtcp/ip 協(xié)議棧的支持;提供幫助用戶快速入門的軟件模板;提供 flash 下載支持(flash programmer 和 quartus ii programmer)。signaltap ii 邏輯分析儀是 altera 的第二代系統(tǒng)級調(diào)試工具,能夠獲取、顯示fpga/sopc 系統(tǒng)的實

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

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

46、使用 nios ii ide 開始設計 c/c+應用程序代碼。altera 提供了 nios ii cpu 外設驅動程序和硬件抽象層(hal),使用戶能夠快速編寫與低層硬件細節(jié)無關的 nios ii 程序,除了應用代碼,設計者還可以在 nios ii ide 工程中設計和重新使用定制庫。設計者可以使用 nios ii ide 對程序進行編譯、鏈接,生成可執(zhí)行文件(*.elf)。接下來可以在 ide 的指令集仿真器(iss)上仿真軟件和運行/調(diào)試軟件,也可以將可執(zhí)行文件下載到在目標板上對軟件進行調(diào)試。硬件和軟件設計調(diào)試完成后,則需要使用編程工具(flash programmer 和 quartu

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

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

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

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

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

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

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

54、,在研究利用fpga實現(xiàn)預測控制算法時發(fā)現(xiàn),遞推算法的預算中大多是進行矩陣的乘法和加法運算。這也就為利用fpga實現(xiàn)預測控制算法的可行性提供了依據(jù),下面就在算法中主要運用的單元進行介紹。4.1 乘法加法器:乘法加法器(mac)單元是指對所輸入的數(shù)據(jù)進行乘法加法運算。在quartus ii中搭建模塊圖實現(xiàn)算法或者編寫硬件描述語言實現(xiàn),最后封裝為ip 單元,在實現(xiàn)預測控制算法是進行調(diào)用。下圖為搭建框圖:圖4.1乘法加法器的框圖首先對輸入數(shù)據(jù)在時鐘沿到來時進行存儲,然后在下一個時鐘沿到來時在再進行計算,這樣可以防止競爭冒險和毛刺的出現(xiàn),圖中所采用的各模塊都是利用軟件提供的封裝器件搭建而成。并且設置有

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

溫馨提示

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

評論

0/150

提交評論