FPGA進(jìn)行開發(fā)嵌入式系統(tǒng)中用的幾個發(fā)展方向
顧名思義,嵌入式系統(tǒng)指的是嵌入到系統(tǒng)內(nèi)部的計算機(jī)系統(tǒng),是面向特定應(yīng)用設(shè)計的專用計算機(jī)系統(tǒng)。
本文引用地址:http://m.butianyuan.cn/article/191575.htm早期的嵌入式系統(tǒng)一般是以通用處理器或單片機(jī)為核心,在外圍電路中加入存儲器、功率驅(qū)動器、通信接口、顯示接口、人機(jī)輸入接口等外圍接口,再加上應(yīng)用軟件,有些還加上了嵌入式操作系統(tǒng),從而構(gòu)成完整的系統(tǒng)。
隨著微電子技術(shù)的進(jìn)步,SoC已經(jīng)在很多應(yīng)用中取代了傳統(tǒng)的以單片機(jī)為中心的架構(gòu),將很多外設(shè)和存儲器集成在一個芯片中,使系統(tǒng)的功耗和體積越來越小,而功能卻越來越強(qiáng)。
FPGA在嵌入式系統(tǒng)中的應(yīng)用前景
現(xiàn)在的MCU和DSP的功能已經(jīng)非常強(qiáng)了,但處理能力畢竟還是有限的,廠商在推出一款器件的時候,其性能就已經(jīng)固定了。當(dāng)某一款產(chǎn)品的性能無法滿足要求時,就必須選用新的處理器,常常意味著重新進(jìn)行PCB的設(shè)計,重新進(jìn)行各項軟硬件的驗證測試,所導(dǎo)致的工程資源的浪費是非常驚人的。
FPGA是通過邏輯組合來實現(xiàn)各種功能的器件,幾乎可以進(jìn)行任何類型的處理;對于常用的數(shù)字信號處理,有些FPGA專門還提供了DSP模塊來實現(xiàn)加速;FPGA的并行處理架構(gòu)非常適合圖像處理、數(shù)字信號處理等運算密集的應(yīng)用;用某款芯片無法滿足要求時,還可以通過使用同樣封裝且容量更大的FPGA芯片來提供更高的處理能力,這樣就可以保持管腳的兼容性,從而無須對PCB板進(jìn)行修改;FPGA的可編程性使設(shè)計工程師可以隨時對設(shè)計進(jìn)行修改,即使在產(chǎn)品部署后也能對設(shè)計錯誤進(jìn)行更正;FPGA不但可以完成MCU和DSP的各種功能,還可以根據(jù)需要生成新的功能,或者調(diào)配各項功能之間的資源配比,使同一個硬件電路設(shè)計可以滿足不同的應(yīng)用需求;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還要快,價格在很多應(yīng)用中已不再是障礙了。特別是在一些需要特定功能的應(yīng)用中,設(shè)計師在市場上找不到可以滿足要求的器件,他們就必須自己開發(fā)ASIC芯片,或者用FPGA進(jìn)行設(shè)計。但開發(fā)ASIC的成本和風(fēng)險在不斷提高,甚至超過了未來的收益,用FPGA就成了一個非常實際的選擇。
開發(fā)流程的演進(jìn)
傳統(tǒng)嵌入式系統(tǒng)的開發(fā)流程是一般先做好硬件平臺,再在硬件平臺上面應(yīng)用嵌入式系統(tǒng)開發(fā)工具進(jìn)行軟件開發(fā)。這樣做的結(jié)果是軟件開發(fā)人員必須在硬件設(shè)計完成后才能工作,或者是用各種仿真工具在虛擬的硬件平臺上進(jìn)行開發(fā)。
在用FPGA進(jìn)行開發(fā)時,開發(fā)人員首先要設(shè)計輸入(FPGA廠商專用工具+語言/原理圖+IP CORE),然后編譯仿真(FPGA廠商工具+仿真工具),再進(jìn)行板級調(diào)試(測試板制作+邏輯分析儀),如果發(fā)現(xiàn)問題,再循環(huán)進(jìn)行上面的環(huán)節(jié)。
這種設(shè)計模式存在諸多問題:設(shè)計可移植性差,語言的不足及IP CORE的費用昂貴,系統(tǒng)仿真的可靠性及速度瓶頸,需要制作專用測試板,外接測試儀器的局限性,測試板的重復(fù)制作導(dǎo)致開發(fā)周期延長。
此外,從原理圖設(shè)計、邏輯驗證和仿真、電路板設(shè)計、嵌入式軟件的開發(fā)和調(diào)試,到最后的綜合調(diào)試,在整個過程中要用到多個廠商的不同工具,不但需要開發(fā)人員掌握各個軟件的使用方法和技巧,僅僅從資本投入上就是一筆不小的開支。而且,各個軟件之間還經(jīng)常要互相調(diào)用文件,盡管各個廠商都宣稱自己的軟件可保證兼容性,但軟件日益復(fù)雜的功能和不斷增長的代碼讓人難以對兼容性完全放心。
有沒有一個能完成整個FPGA嵌入式系統(tǒng)設(shè)計的一體化開發(fā)環(huán)境呢?有,這就是Altium Designer6.0,該軟件的前身就是被電子工程師所廣為熟知的Protel,直到現(xiàn)在,還有大量的工程師在用Protel進(jìn)行PCB板設(shè)計。Altium Designer由三部分組成:Foundation是電子產(chǎn)品設(shè)計前端,包含了原理圖輸入、電路仿真和驗證、PCB及CAM文檔資料瀏覽功能;Board Implementation可實現(xiàn)傳統(tǒng)板級電路設(shè)計、驗證及CAM文檔編輯功能;Embedded Intelligence Implementation是基于大規(guī)模可編程邏輯器件(FPGA/CPLD)的數(shù)字電路設(shè)計、片上可編程嵌入式系統(tǒng)軟件開發(fā)和數(shù)字電路實時驗證功能。
評論