《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > FPGA在嵌入式系統(tǒng)中的開發(fā)方向
FPGA在嵌入式系統(tǒng)中的開發(fā)方向
摘要: FPGA在嵌入式系統(tǒng)中的開發(fā)方向,早期的嵌入式系統(tǒng)一般是以通用處理器或單片機為核心,,在外圍電路中加入存儲器,、功率驅(qū)動器,、通信接口,、顯示接口,、人機輸入接口等外圍接口,,再加上應用軟件,,有些還加上了嵌入式操作系統(tǒng),,從而構成完整的系統(tǒng),。隨
Abstract:
Key words :

        早期的嵌入式系統(tǒng)一般是以通用處理器或單片機為核心,,在外圍電路中加入存儲器、功率驅(qū)動器,、通信接口,、顯示接口、人機輸入接口等外圍接口,,再加上應用軟件,,有些還加上了嵌入式操作系統(tǒng),從而構成完整的系統(tǒng),。

  隨著微電子技術的進步,,SoC已經(jīng)在很多應用中取代了傳統(tǒng)的以單片機為中心的架構,將很多外設和存儲器集成在一個芯片中,,使系統(tǒng)的功耗和體積越來越小,,而功能卻越來越強。

  FPGA在嵌入式系統(tǒng)中的應用前景

  現(xiàn)在的MCU和DSP的功能已經(jīng)非常強了,,但處理能力畢竟還是有限的,,廠商在推出一款器件的時候,其性能就已經(jīng)固定了,。當某一款產(chǎn)品的性能無法滿足要求時,,就必須選用新的處理器,,常常意味著重新進行PCB的設計,重新進行各項軟硬件的驗證測試,,所導致的工程資源的浪費是非常驚人的,。

  FPGA是通過邏輯組合來實現(xiàn)各種功能的器件,幾乎可以進行任何類型的處理;對于常用的數(shù)字信號處理,,有些FPGA專門還提供了DSP模塊來實現(xiàn)加速;FPGA的并行處理架構非常適合圖像處理,、數(shù)字信號處理等運算密集的應用;用某款芯片無法滿足要求時,還可以通過使用同樣封裝且容量更大的FPGA芯片來提供更高的處理能力,,這樣就可以保持管腳的兼容性,,從而無須對PCB板進行修改;FPGA的可編程性使設計工程師可以隨時對設計進行修改,即使在產(chǎn)品部署后也能對設計錯誤進行更正;FPGA不但可以完成MCU和DSP的各種功能,,還可以根據(jù)需要生成新的功能,,或者調(diào)配各項功能之間的資源配比,使同一個硬件電路設計可以滿足不同的應用需求;FPGA還可以利用現(xiàn)成的處理器內(nèi)核,,直接生成軟處理器,,并在其上運行操作系統(tǒng)。

  由于FPGA是通過邏輯組合來實現(xiàn)功能的,,所以其功耗和成本一般高于MCU和DSP,。在幾年前,F(xiàn)PGA給人的印象一直是高高在上的價格,,除了通信,、航天、軍工,、工業(yè)等少數(shù)行業(yè),,F(xiàn)PGA更多地是在扮演原型驗證開發(fā)的角色,在消費類電子等更廣大的市場中遲遲未打開局面,。

  隨著Xilinx和Altera競相采用新的制造工藝,,其單位門電路的價格下降得比ASIC還要快,價格在很多應用中已不再是障礙了,。特別是在一些需要特定功能的應用中,,設計師在市場上找不到可以滿足要求的器件,他們就必須自己開發(fā)ASIC芯片,,或者用FPGA進行設計,。但開發(fā)ASIC的成本和風險在不斷提高,甚至超過了未來的收益,,用FPGA就成了一個非常實際的選擇,。

  開發(fā)流程的演進

  傳統(tǒng)嵌入式系統(tǒng)的開發(fā)流程是一般先做好硬件平臺,再在硬件平臺上面應用嵌入式系統(tǒng)開發(fā)工具進行軟件開發(fā),。這樣做的結果是軟件開發(fā)人員必須在硬件設計完成后才能工作,,或者是用各種仿真工具在虛擬的硬件平臺上進行開發(fā),。

  在用FPGA進行開發(fā)時,開發(fā)人員首先要設計輸入(FPGA廠商專用工具+語言/原理圖+IP CORE),,然后編譯仿真(FPGA廠商工具+仿真工具),,再進行板級調(diào)試(測試板制作+邏輯分析儀),如果發(fā)現(xiàn)問題,,再循環(huán)進行上面的環(huán)節(jié),。

  這種設計模式存在諸多問題:設計可移植性差,語言的不足及IP CORE的費用昂貴,,系統(tǒng)仿真的可靠性及速度瓶頸,,需要制作專用測試板,外接測試儀器的局限性,,測試板的重復制作導致開發(fā)周期延長,。

  此外,從原理圖設計,、邏輯驗證和仿真,、電路板設計、嵌入式軟件的開發(fā)和調(diào)試,,到最后的綜合調(diào)試,,在整個過程中要用到多個廠商的不同工具,不但需要開發(fā)人員掌握各個軟件的使用方法和技巧,,僅僅從資本投入上就是一筆不小的開支。而且,,各個軟件之間還經(jīng)常要互相調(diào)用文件,,盡管各個廠商都宣稱自己的軟件可保證兼容性,但軟件日益復雜的功能和不斷增長的代碼讓人難以對兼容性完全放心,。

  有沒有一個能完成整個FPGA嵌入式系統(tǒng)設計的一體化開發(fā)環(huán)境呢?有,,這就是Altium Designer6.0,該軟件的前身就是被電子工程師所廣為熟知的Protel,,直到現(xiàn)在,,還有大量的工程師在用Protel進行PCB板設計。Altium Designer由三部分組成:Foundation是電子產(chǎn)品設計前端,,包含了原理圖輸入,、電路仿真和驗證、PCB及CAM文檔資料瀏覽功能;Board Implementation可實現(xiàn)傳統(tǒng)板級電路設計,、驗證及CAM文檔編輯功能;Embedded Intelligence Implementation是基于大規(guī)??删幊踢壿嬈骷?FPGA/CPLD)的數(shù)字電路設計、片上可編程嵌入式系統(tǒng)軟件開發(fā)和數(shù)字電路實時驗證功能,。

  Altium Designer拓寬了板級設計的傳統(tǒng)界限,,將FPGA與PCB設計集成在一起,,同時支持原理圖輸入和HDL硬件描述輸入模式;同時支持基于VHDL的設計仿真,混合信號電路仿真,、布局前/后信號完整性分析,。PCB版圖設計中的布局布線采用完全規(guī)則驅(qū)動模式,并且在PCB布線中采用了無網(wǎng)格的Situs拓撲邏輯自動布線功能;同時,,將完整的CAM輸出功能的編輯結合在一起,。

  Altium Designer支持PCB與FPGA引腳的雙向同步,提供完善的混合信號仿真,、布線前后的信號完整性分析功能,,提供了對高密度封裝(如BGA)的交互布線功能。

  在原理圖部分,,Altium Designer新增的特性包括:文件管理功能,,多層次、多通道的原理設計,,可自動標注元器件,,F(xiàn)PGA引腳配置導入,原理圖環(huán)境中的PCB規(guī)則定義,,豐富的集成庫,,改善的編輯、查詢和可視化,。

  FPGA引腳配置導入功能允許管腳約束文件,,管腳定義可以直接來源于FPGA器件商的引腳約束文件,同時提供對引腳名稱和電氣類型定義的支持;不再強調(diào)必須在Altium Designer環(huán)境下完成包括FPGA內(nèi)部邏輯電路設計在內(nèi)的一體化系統(tǒng)設計,。

  在PCB部分提供了完整的由規(guī)則驅(qū)動的PCB設計環(huán)境;支持高速設計,,具有成熟的布線后信號完整性分析工具;支持差分對布線;支持BGA封裝器件的逃溢式扇出功能;支持漢字輸入;支持任意可配置引腳定義器件的網(wǎng)絡優(yōu)化功能;Orcad、PADS,、AutoCAD和其他軟件的文件導入和導出功能;完整的ODB++/Gerber CAM-系統(tǒng)使得用戶可以重新設計原有的設計,,彌補設計和制造之間的差異。PCB部分還支持布局優(yōu)化,、布線功能優(yōu)化,、PCB板的3D顯示、FPGA的全面協(xié)同,、CAM輸出,。

  Altium Desigenr內(nèi)嵌的仿真軟件兼容XSPICE/PSPICE電路仿真模型,它能將仿真結果以波形的方式顯示,,可進行混合電路仿真和仿真波形顯示,,支持多種仿真模型。在信號完整性分析部分,,提供了消除反射和串擾分析功能,,

  在Altium Designer中,,用戶可以用圖形化的方式來完成整個設計流程,系統(tǒng)自動調(diào)用FPGA廠商提供的工具進行布局布線,,設計環(huán)境中的集中過程控制和監(jiān)測功能使得信息能夠得到及時反饋從而實現(xiàn)交互式設計與調(diào)試,。

  使用“虛擬儀器”元件,工程師可以在原理圖級將“虛擬儀器”連入設計;FPGA編程后,,可以從外部控制;可以實時觀察FPGA發(fā)生的情況;調(diào)試時使用JTAG邊界掃描檢驗FPGA的信號;用Nexus協(xié)議和虛擬儀器進行通信并對設計進行調(diào)試,。

  Altium Designer還提供了大量通用的預驗證的IP Core,支持通用IP Core 的設計,,并且支持第三方提供的IP Core ,。通過與Nanoboard NB1系統(tǒng)驗證板的結合,可進行實時設計,,從而實現(xiàn)獨立于目標器件的FPGA設計,。

  Altium公司的這種設計方法,將硬件,、軟件和可編程硬件等領域均被統(tǒng)一在單一的開發(fā)系統(tǒng)內(nèi),,可以完全控制和同步從概念構想到完成實施的整個設計流程。

  這種一體化開發(fā)流程的缺點是,,盡管非常方便易用,,但軟件的各個部分在性能和功能上無法全部做到領先,在驗證,、功能設計,、PCB設計等方面要弱于一些專業(yè)性的或FPGA廠商自己的軟件,在需要針對器件進行非常細致的優(yōu)化以取得最佳性能時,,Altium Designer就未必是最佳選擇了,。定位不同的硬件開發(fā)板同軟件定位不同一樣,目前眾多的硬件開發(fā)電路板的市場定位也是不同的,。主流的FPGA廠商均推出了自己的開發(fā)板,為了市場推廣和銷售的需要,,他們也和一些大的經(jīng)銷商合作推出開發(fā)板,,更容易利用經(jīng)銷商在價格和渠道上的優(yōu)勢。

  Xilinx公司的主要經(jīng)銷商安富利公司開發(fā)了很多FPGA開發(fā)板,,在功能上更加豐富,,在定價和促銷上也更靈活。如,,安富利推出的Virtex-4 FX PCI Express開發(fā)工具套件和Virtex-5 LX開發(fā)工具套件,。 

   圖 Virtex-4 FX PCI Express開發(fā)套件

  找到精確滿足開發(fā)人員需求的FPGA開發(fā)基板是非常困難的,,在基板上添加子板是一個不錯的方法,。安富利推出的EXP擴展標準使設計人員在原型設計時候可以通過子卡添加多種功能,,滿足FPGA開發(fā)板的不同要求,免費提供給設計工程師用于定制基本板和擴展模塊,。使用EXP模塊的好處是成本低,、靈活性高、易于制作原型,。在結構上,,半長EXP模塊可提供84個用戶I/O、32個單端信號,、22個差分信號,、單端時鐘輸入和輸出、差分時鐘輸入和輸出,,單端和差分信號的最高頻率分別是200MHz和700MHz,。

  安富利提供的EXP模塊包括:視頻預處理模塊、高速ADC模塊,、高速DAC模塊,、ADI公司的EXP適配器模塊。有全長(126mm×80mm)和半長(108mm×80mm)兩種尺寸,,采用Samtec公司高性能的QTE/QSE連接器,。

  視頻預處理模塊的輸入兼容DVI、VGA,、S-Video,,輸出支持DVI、VGA,、LCD,,具有圖像傳感器、音頻輸入和輸出,。高速ADC EXP模塊采用TI的12位,、50MS/s ADC,帶有14位的LVDS接口,,用兩塊卡可以支持雙通道,。高速DAC模塊采用TI的雙通道、16位分辨率,、采樣率為1GS/s,、帶16位LVDS接口的DAC。還有支持ADI公司器件的EXP適配器模塊,,可以很方便地連接到90多種ADC*估板上,,支持LVDS和并行接口*估板,可連到Virtex-4、Virtex-5和Spartan-DSP基板上,。

  Altium公司的NanoBoard開發(fā)板支持的范圍更廣,,包括Xilinx、Altera,、Actel等公司的眾多FPGA型號,,與FPGA組成了可重新配置的系統(tǒng)設計驗證平臺;NanoBoard通過打印電纜接口與用戶PC進行通信,支持硬件設計的下載和實現(xiàn)Live設計驗證功能,。NanoBoard還支持可插拔的FPGA子板,,可以通過更換子板來調(diào)試不同的FPGA。

   圖 NanoBoard-NB2開發(fā)板

  NanoBoard的板上資源包括:CAN總線接口,、串行口,、VGA接口、顯示鏈輸入輸出,、外部存儲器,、I2C接口、連接用戶開發(fā)板接口,、連接FPGA子板的插座,、系統(tǒng)時鐘、JTAG接口,、PS2鍵盤和鼠標鼠標接口,、多用戶I /O接口。用戶在一塊板子上就可以完成整個系統(tǒng)的開發(fā)和驗證,,通過更換子卡,,可以試用各廠商的不同器件,找到性價比最佳的器件,,而不必重復購買開發(fā)板,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載,。