【文章內(nèi)容簡介】
) 具有小容量片內(nèi)高速 RAM 資源;3) 豐富的 IP Core 資源可供靈活選擇;4) 足夠的片上可編程邏輯資源;5) 單芯片、低功耗、微封裝。SOPC 技術(shù)的實現(xiàn)方式一般分為三種:(1)基于 FPGA 嵌入 IP(Intellectual Property)硬核的 SOPC 系統(tǒng)。目前最常用的嵌入式系統(tǒng)大多采用了含有 ARM 的 32 位 IP 處理器核的器件。Altera 公司 Excalibur系列的 FPGA 中就植入了 ARM922T 嵌入式系統(tǒng)處理器;Xilinx 的 VirtexII Pro 系列中則植入了 IBM PowePC405 處理器。這樣就能使得 FPGA 靈活的硬件設(shè)計和硬件實現(xiàn)與處理器強大的軟件功能結(jié)合,高效地實現(xiàn) SOPC 系統(tǒng)。(2)基于 FPGA 嵌入 IP 軟核的 SOPC 系統(tǒng)。在第一種實現(xiàn)方案中,由于硬核是預(yù)先植入的,其結(jié)構(gòu)不能改變,功能也相對固定,無法裁減硬件資源,而且此類硬核多來自第三方公司,其知識產(chǎn)權(quán)費用導(dǎo)致成本地增加。如果利用軟核嵌入式系統(tǒng)處理器就能有效克服這些不利因素。最具有代表性的嵌入式軟核處理器是Altera公司的NiosII 軟核處理器。(3)基于 HardCopy 技術(shù)的 SOPC 系統(tǒng)。HardCopy 就是利用原有的 FPGA 開發(fā)工具,將成功實現(xiàn)于 FPGA 器件上的 SOPC 系統(tǒng)通過特定的技術(shù)直接向 ASIC 轉(zhuǎn)化,從而克服傳統(tǒng) ASIC 設(shè)計中普遍存在的問題。 Nios II 嵌入式軟核處理器Nios II 系列軟核處理器是 Altera 的第二代 FPGA 嵌入式軟核處理器,其性能超過200DMIPS,在 Altera FPGA 中實現(xiàn)僅需 35 美分。Altera 的 Stratix、Stratix GX、StratixII 和 Cyclone II、Cyclone III 系列 FPGA 全面支持 Nios II 處理器,以后推出的 FPGA器件也將全面支持 Nios II 處理器。Nios II 嵌入式處理器是一款通用的 RISC 結(jié)構(gòu)的 CPU,它定位于廣泛的嵌入式應(yīng)用。Nios II 處理器系列包括了三種核心——快速型(Nios II/f)、經(jīng)濟型(Nios II/e)和標(biāo)準(zhǔn)型(Nios II/s)內(nèi)核——每種都針對不同的性能范圍和成本而優(yōu)化。這三種內(nèi)核使用共同的 32 位的指令集結(jié)構(gòu)(ISA),并具有百分之一百的二進制代碼兼容性。Nios II 處理器具有完善的軟件開發(fā)套件,包括編譯器、集成開發(fā)環(huán)境(IDE)、JTAG調(diào)試器、實時操作系統(tǒng)(RTOS)和 TCP/IP 協(xié)議棧。設(shè)計者能夠用 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)的外設(shè):標(biāo)準(zhǔn)外設(shè)和定制外設(shè)。標(biāo)準(zhǔn)外設(shè)是指 Altera 公司提供的標(biāo)準(zhǔn)外圍設(shè)備庫,比如定時器、串行通信接口、SDRAM控制器等。定制外設(shè)可由設(shè)計者自行設(shè)計并集成到 Nios II 處理器系統(tǒng)。標(biāo)準(zhǔn)外設(shè)和定制外設(shè)與 Nios II 處理器核通過與 Avalon Switch Fabric 連接進行通信。Avalon 總線是一種相對簡單的總線結(jié)構(gòu),主要用于連接片內(nèi)處理器與外設(shè),以構(gòu)成可編程片上系統(tǒng)。它描述了主從組件外設(shè)間的端口連接關(guān)系,以及組件間通信的時序關(guān)系。Nios II 嵌入式處理器的特性: II 處理器核 Nios II 處理器系列由三個不同的內(nèi)核組成,可以靈活地控制成本和性能,從而擁有廣泛的應(yīng)用空間; 開發(fā)人員可以在 Nios II 處理器核內(nèi)增加硬件,用來執(zhí)行復(fù)雜運算任務(wù),為時序要求緊張的軟件提供加速算法; 調(diào)試模塊 JTAG 調(diào)試模塊提供了通過本地或遠端 PC 主機實現(xiàn) Nios II 處理器的在芯片控制、調(diào)試和通訊功能,這是 Nios II 處理器的一個極具競爭力的特性; Nios II 開發(fā)套件包括一套標(biāo)準(zhǔn)外圍設(shè)備庫,在 Altera 的 FPGA中可以免費使用。 FPGA/SOPC 開發(fā)工具FPGA 的領(lǐng)導(dǎo)廠商 Altera 公司提供了一套完整的 FPGA/SOPC 開發(fā)工具,包括Quartus II 設(shè)計軟件、SOPC Builder 系統(tǒng)開發(fā)工具、Mode1SimAltera 仿真軟件、Nios II IDE(Integrated Development Environment,集成開發(fā)環(huán)境)和 SingalTap II 嵌入式邏輯分析儀。Quartus II 軟件是 Altera 公司的綜合開發(fā)工具,它集成了 Altera 的 FPGA/CPLD 開發(fā)流程中所涉及的所有工具和第三方軟件接口。通過使用此綜合開發(fā)工具,設(shè)計者可以創(chuàng)建、組織和管理自己的設(shè)計。Quartus II 設(shè)計軟件具有很高的性能和易用性。采用Quartus II 軟件,可以在 Altera 器件中完成從設(shè)計、綜合、仿真到布局布線、測試的整個過程,并可以輕松設(shè)計、優(yōu)化并驗證 SOPC 設(shè)計。SOPC Builder 是 SOPC 系統(tǒng)的主要開發(fā)工具。它是一個革命性的系統(tǒng)級開發(fā)工具,它使得集成組件時花費的時間最少。SOPC Builder 可以快速地開發(fā)定制的方案,重建已經(jīng)存在的方案,并為其添加新的功能,提高系統(tǒng)的性能。SOPC Builder 提供了一個強大的平臺,用于組建一個在模塊級和組件級定義的系統(tǒng)。SOPC Builder 的組件庫包含了從簡單的固定邏輯的功能塊到復(fù)雜的、參數(shù)化的、可以動態(tài)生成的子系統(tǒng)等一系列的組件。這些組件可以是從 Altera 或其他第三方合作伙伴購買來的 IP 核,它們其中一些是可以免費下載用作評估的。設(shè)計者還可簡單地創(chuàng)建他們自己的定制的 SOPCBuiler 組件。當(dāng)設(shè)計完畢時,還可以借助 ModelSimAltera 仿真軟件進行仿真,SOPC Builder 為仿真系統(tǒng)自生成 VHDL 和 Verilog 仿真模型。在 SOPC Builder 和 Nios II IDE 自動生成的仿真環(huán)境中,能夠十分方便地對 Nios II 處理器系統(tǒng)進行仿真。Nios II IDE 是一個基于 Eclipse 架構(gòu)的集成開發(fā)環(huán)境,它包括一整套開發(fā)工具:GNU 開發(fā)工具,基于 GDB 的調(diào)試器,包括軟件仿真和硬件調(diào)試;提供用戶一個硬件抽象層 HAL;提供嵌入式操作系統(tǒng) Micro C/OSII 和 LwTCP/IP 協(xié)議棧的支持;提供幫助用戶快速入門的軟件模板;提供 Flash 下載支持(Flash Programmer 和 Quartus II Programmer)。SignalTap II 邏輯分析儀是 Altera 的第二代系統(tǒng)級調(diào)試工具,能夠獲取、顯示FPGA/SOPC 系統(tǒng)的實時信號,幫助設(shè)計者在其系統(tǒng)設(shè)計中觀察硬件和軟件的交互作用,從而方便地進行系統(tǒng)調(diào)試。 FPGA/SOPC 開發(fā)流程完整的 FPGA 設(shè)計流程包括設(shè)計輸入、功能仿真、綜合、綜合后仿真、布局布線、布線后仿真與驗證和板級仿真驗證與調(diào)試等主要步驟?;?FPGA 的 SOPC 設(shè)計總體上也遵循上述的開發(fā)流程,同時也具有一定的特殊性。SOPC 設(shè)計包括硬件和軟件兩部分,兩部分進行協(xié)同設(shè)計,實現(xiàn)系統(tǒng)的功能。其中,硬件設(shè)計主要基于 Quartus II 和 SOPC Builder,軟件設(shè)計則基于 Nios II IDE。在進行 SOPC 開發(fā)之前,首先必須分析系統(tǒng)需求,如應(yīng)用系統(tǒng)需求的計算性能、需要的帶寬和吞吐量、需求的接口類型等。硬件系統(tǒng)設(shè)計首先從 SOPC Builder 中選取滿足需求的 Nios II 處理器核、存儲器以及各其他外圍器件,并定制和配置它們的功能;分配外設(shè)地址及中斷號,設(shè)定復(fù)位地址;設(shè)計者也可以添加自身定制指令邏輯和自己設(shè)計的 IP 模塊到 Nios II 內(nèi)核以提升處理器性能。然后將生成的 SOPC 系統(tǒng)集成到 Quartus II 工程,在 Quartus II 中編譯綜合,進行布局布線,生成 FPGA 配置文件;最后可以使用編程工具通過下載電纜將配置文件下載到目標(biāo)板上。軟件系統(tǒng)開發(fā)使用 Nios II IDE。使用 SOPC Builder 生成系統(tǒng)后,可以直接使用 Nios II IDE 開始設(shè)計 C/C++應(yīng)用程序代碼。Altera 提供了 Nios II CPU 外設(shè)驅(qū)動程序和硬件抽象層(HAL),使用戶能夠快速編寫與低層硬件細節(jié)無關(guān)的 Nios II 程序,除了應(yīng)用代碼,設(shè)計者還可以在 Nios II IDE 工程中設(shè)計和重新使用定制庫。設(shè)計者可以使用 Nios II IDE 對程序進行編譯、鏈接,生成可執(zhí)行文件(*.elf)。接下來可以在 IDE 的指令集仿真器(ISS)上仿真軟件和運行/調(diào)試軟件,也可以將可執(zhí)行文件下載到在目標(biāo)板上對軟件進行調(diào)試。硬件和軟件設(shè)計調(diào)試完成后,則需要使用編程工具(Flash Programmer 和 Quartus II Programmer)將配置文件下載到 FPGA 的配置芯片或 Flash 存儲器,并將可執(zhí)行文件(*.elf)編程到 Flash 中。SOPC 開發(fā)流程簡圖流程如圖 所示。圖 SOPC 開發(fā)流程簡圖第3章 廣義預(yù)測控制算法廣義預(yù)測控制算法保持了最小方差控制器的在線辨識,模型預(yù)測和最小方差控制等特點,吸收了DMC和MAC中的優(yōu)點,提供了在復(fù)雜的環(huán)境下有效地利用過程信息進行優(yōu)化控制的途徑。它具有預(yù)測模型,滾動優(yōu)化,在線反饋校正和柔化作用等優(yōu)點的一種新型控制算法,是控制論中模型,控制和反饋概念的具體體現(xiàn)。 預(yù)測控制的特點預(yù)測控制是屬于一種基于模型的控制算法。其機理可描述為:在每一采樣時刻,根據(jù)當(dāng)前測量信息,求解一個有限時域開環(huán)最優(yōu)控制問題,并將得到的控制序列的第一個元素作用到被控制對象上直至下一個采樣周期,在下一時刻重復(fù)上述過程。算法共性有如下三點:預(yù)測模型,滾動優(yōu)化和反饋校正。 預(yù)測控制的原理結(jié)構(gòu)圖 預(yù)測模型預(yù)測控制的模型稱為預(yù)測模型。預(yù)測控制對模型結(jié)構(gòu)沒有嚴格的要求,在信息的基礎(chǔ)上根據(jù)功能要求按照最方便的途徑建立模型。預(yù)測控制對模型的要求不同于其他傳統(tǒng)的控制方法,其他的反饋控制器一般都依賴于當(dāng)前或過去的狀態(tài)信息,而它能夠根據(jù)系統(tǒng)的歷史信息和選定的未來輸入,預(yù)測其未來輸出值,因而可以根據(jù)實際對象的復(fù)雜程度,建立適當(dāng)?shù)念A(yù)測模型。因此,不僅狀態(tài)方程,傳遞函數(shù)這類傳統(tǒng)的模型可作為預(yù)測模型,而且那些易于在線辨識并能描述不穩(wěn)定系統(tǒng)的受控自回歸滑動平均模型和受控自回歸積分滑動平均模型等都可以作為預(yù)測模型。此外,非線性系統(tǒng),分布參數(shù)系統(tǒng)的模型,連續(xù)的或離散的,確定性的或隨機性的模型只要具備上述功能,也可以作為預(yù)測模型使用。CARIMA模型具有以下特點:(1)非平穩(wěn)擾動(2)可保證系統(tǒng)輸出穩(wěn)態(tài)誤差為0。CARIMA模型能自然地把積分作用納入控制律中,因此階躍負載擾動引起的偏差將自然消除。CARIMA模型描述的離散系統(tǒng): ()其中是一步后移算子,為零均值隨機的白噪聲,表示差分算子。,分別表示被控對象的輸入和輸出。這里介紹GPC的原來,設(shè)。為了推導(dǎo)出將來時刻輸出的預(yù)測值,使用Diophantine方程: () () ()將()式兩側(cè)乘以,得 ()由()式可得 ()由()和()可以看到,由于只與控制有關(guān),而只與輸出有關(guān),()式中最后一項為將來時刻的白噪聲,因此t時刻后j步輸出的最小方差預(yù)測值為 ()得到的()式即為廣義預(yù)測控制的預(yù)測模型。 改進的廣義預(yù)測控制算法廣義預(yù)測控制的基本算法受多項式穩(wěn)定的限制,同時還需求解Diophantine方程,而且在算法中未直接考慮到時滯的影響。接下來介紹一種基于遞推算法的改進的預(yù)測控制算