如何快速啟動(dòng)嵌入式系統(tǒng)開(kāi)發(fā)
為了削減成本,提升性能和保持靈活性,在工業(yè)、醫(yī)療、汽車(chē)、航天和軍用產(chǎn)品等廣泛的應(yīng)用領(lǐng)域,包括處理器和外設(shè)在內(nèi)的完整的嵌入式系統(tǒng)被整合到了FPGA 上。
本文引用地址:http://2s4d.com/article/257900.htm雖然FPGA的傳統(tǒng)用戶是硬件設(shè)計(jì)者,但是賽靈思的新型嵌入式設(shè)計(jì)平臺(tái),使得軟件開(kāi)發(fā)人員也能夠在熟悉的環(huán)境中輕松編程,包括Eclipse IDE、編譯器、調(diào)試器、操作系統(tǒng)和庫(kù)。編程可以利用uC/OS-II之類的RTOS 甚至全嵌入式Linux在裸金屬級(jí)完成。
圖1 嵌入式目標(biāo)參考設(shè)計(jì)
嵌入式設(shè)計(jì)趨勢(shì)及挑戰(zhàn)
FPGA的應(yīng)用到現(xiàn)在已經(jīng)有二十多年的時(shí)間了,我們?cè)诟鱾€(gè)領(lǐng)域都能看到各種FPGA的應(yīng)用,例如醫(yī)療、工業(yè)控制、汽車(chē)電子、連接IP、高端顯示、無(wú)線、監(jiān)控、軍事通信等等。然而,F(xiàn)PGA內(nèi)使用嵌入式處理器的時(shí)間只不過(guò)是近十年的事情,從1999年到現(xiàn)在,F(xiàn)PGA內(nèi)使用嵌入式處理器在逐年正向增加中。
圖2 EDK 軟件、硬件和集成流程
圖3 簡(jiǎn)單的SDK軟件開(kāi)發(fā)流程步驟
隨著FPGA內(nèi)使用嵌入式處理器設(shè)計(jì)越來(lái)越多,我們面臨的挑戰(zhàn)也越來(lái)越多,主要挑戰(zhàn)分為三個(gè)方向:
• 滿足不斷提高的技術(shù)要求
–要求有一個(gè)適用于該應(yīng)用的處理器系統(tǒng)
–要求能夠選擇正確的功能(外設(shè))組合
• 即便只有很少的FPGA設(shè)計(jì)經(jīng)驗(yàn),也能開(kāi)發(fā)軟件
–需要易于定制的預(yù)配置系統(tǒng)
• 降低進(jìn)度風(fēng)險(xiǎn)
–希望花更少的時(shí)間創(chuàng)建和調(diào)試定制IP模塊
–快速并行開(kāi)發(fā)和驗(yàn)證軟硬件
很多人都使用過(guò)嵌入式處理器,但當(dāng)一開(kāi)始在選擇一個(gè)嵌入式處理器作為系統(tǒng)核心時(shí),考慮要點(diǎn)是什么呢?一個(gè)適用于該系統(tǒng)應(yīng)用的處理器以及能夠正確滿足外設(shè)功能需求的組合將會(huì)是最后的選擇。這些選擇處理器的條件都是FPGA嵌入式處理的挑戰(zhàn)。
除此之外,F(xiàn)PGA硬件設(shè)計(jì)的難度必須要有效降低,能讓對(duì)FPGA經(jīng)驗(yàn)設(shè)計(jì)較少的人員也能夠開(kāi)發(fā)軟件,這點(diǎn)是因?yàn)閭鹘y(tǒng)的FPGA設(shè)計(jì)工程師,他們雖然沒(méi)有硬件的設(shè)計(jì)經(jīng)驗(yàn)也要能夠開(kāi)發(fā)軟件,這就必須要有一個(gè)易于制定的預(yù)配置系統(tǒng)。
在進(jìn)度風(fēng)險(xiǎn)的管理上,F(xiàn)PGA嵌入式設(shè)計(jì)顯得額外重要,由于FPGA嵌入式設(shè)計(jì)包含軟件和硬件同時(shí)在一個(gè)芯片上,所以當(dāng)問(wèn)題發(fā)生時(shí),硬件人員和軟件人員并不能很快理清問(wèn)題的癥結(jié)點(diǎn),所以常常延遲進(jìn)度,因此在選擇FPGA嵌入式系統(tǒng)時(shí),使用人員往往希望花更少的時(shí)間來(lái)調(diào)試硬件IP模塊,并同時(shí)開(kāi)發(fā)驗(yàn)證軟件,軟硬件的整合和效能提升是一個(gè)很大挑戰(zhàn)。
賽靈思嵌入式平臺(tái)
賽靈思基于FPGA的嵌入式平臺(tái)的基本價(jià)值在于為了滿足不斷提高的客戶要求。而嵌入式目標(biāo)參考設(shè)計(jì)可以讓對(duì)FPGA設(shè)計(jì)經(jīng)驗(yàn)很少的人也能夠快速開(kāi)發(fā)軟件。而內(nèi)含目標(biāo)參考設(shè)計(jì)Spartan-6和Virtex-6的嵌入式套件可以有效地管理降低客戶開(kāi)發(fā)進(jìn)度風(fēng)險(xiǎn)。
Spartan-6 FPGA嵌入式套件
• 描述:
–該套件支持使用MicroBlaze軟處理器的軟件開(kāi)發(fā)工作以及使用Spartan-6 LX45T FPGA的硬件處理器系統(tǒng)定制工作。
• 組件:
–采用Spartan-6 LX45T FPGA的SP605基礎(chǔ)板
• 下載/調(diào)試電纜、電源
–ISE設(shè)計(jì)套件:嵌入式版本
• ISE和 ChipScope Pro:S6LX45T專用的器件
• Platform Studio、軟件開(kāi)發(fā)套件(SDK) (Eclipse IDE)
–嵌入式目標(biāo)參考設(shè)計(jì)
• MicroBlaze™處理器子系統(tǒng)設(shè)計(jì)
–技術(shù)文檔
• 硬件設(shè)置指南和入門(mén)指南
• 深入的硬件和軟件分步輔導(dǎo)資料
–生態(tài)系統(tǒng)合作伙伴提供OS/RTOS支持
• Linux、uC/OS-II、TreckVirtex-6 FPGA嵌入式套件
• 描述:
–該套件支持使用MicroBlaze軟處理器的軟件開(kāi)發(fā)工作以及使用Virtex™-6 LX240T FPGA的硬件處理器系統(tǒng)定制工作
• 組件:
–采用Virtex-6 LX240T FPGA的 ML605基礎(chǔ)板
• 下載/調(diào)試電纜、電源
–ISE設(shè)計(jì)套件:嵌入式版本
• ISE和ChipScope Pro:V6LX240T專用的器件
• Platform Studio、軟件開(kāi)發(fā)套件(SDK) (Eclipse IDE)
–嵌入式目標(biāo)參考設(shè)計(jì)
• MicroBlaze處理器子系統(tǒng)設(shè)計(jì)
–技術(shù)文檔
• 硬件設(shè)置指南和入門(mén)指南
• 深入的硬件和軟件分步輔導(dǎo)資料
–生態(tài)系統(tǒng)合作伙伴提供OS/RTOS 支持
• Linux、uC/OS-II、Treck
圖4 簡(jiǎn)單硬件設(shè)計(jì)流程步驟
圖5 集成并優(yōu)化軟件/硬件
嵌入式目標(biāo)參考設(shè)計(jì)
Spartan-6和Virtex-6嵌入式目標(biāo)參考設(shè)計(jì)其實(shí)是非常相象的,它們都包含一個(gè)32位的MicroBlaze™RISC處理器,性能優(yōu)化,支持Linux RTOS,100MHz時(shí)鐘頻率。另外還包含集成式存儲(chǔ)控制器,包含DDR、DDR2、DDR3、LPDDR,數(shù)據(jù)速率達(dá)800Mbps。
全套優(yōu)化的軟IP外設(shè)和總線結(jié)構(gòu)包含UART、Flash、GPIO、I2C/SPI、Timer/Intr Controller、Debug。具體如圖1所示,參考設(shè)計(jì)中集成以太網(wǎng)MAC IP,資源百兆、千兆網(wǎng),子IP也可與外部碼作整合。處理器和處理器子系統(tǒng)全面可操作且簡(jiǎn)便易用,有助于立即著手系統(tǒng)開(kāi)發(fā)工作。
MicroBlaze處理器子系統(tǒng)
Spartan-6和Virtex-6嵌入式參考設(shè)計(jì)中,提供MicroBlaze處理器子系統(tǒng),稱為PSS(processer sub system),通過(guò)這樣一個(gè)PSS子系統(tǒng),用戶可以很快地將自己的定義邏輯加入這樣一個(gè)子系統(tǒng)中,由于這個(gè)目標(biāo)參考設(shè)計(jì)MicroBlaze子系統(tǒng)已經(jīng)整合了許多外設(shè)功能,用戶制定的這個(gè)邏輯便可以很快地通過(guò)網(wǎng)絡(luò)來(lái)控制或者讓DDR內(nèi)存作存儲(chǔ),這將有效降低客戶在開(kāi)發(fā)過(guò)程中的時(shí)間。
操作步驟
提高效率只需簡(jiǎn)單幾步,第一步,數(shù)分鐘內(nèi)啟動(dòng)設(shè)計(jì),包括連接電纜,接通開(kāi)發(fā)板電源,載入嵌入式平臺(tái)演示;第二步,評(píng)估,包括評(píng)估嵌入式平臺(tái)演示,用互動(dòng)界面評(píng)估性能參數(shù);第三步,定制,包括啟動(dòng)嵌入式目標(biāo)參考設(shè)計(jì)項(xiàng)目,根據(jù)軟件開(kāi)發(fā)輔導(dǎo)資料對(duì)軟件應(yīng)用進(jìn)行編程、調(diào)試和描述,根據(jù)硬件開(kāi)發(fā)輔導(dǎo)資料進(jìn)行設(shè)計(jì)修改。
在經(jīng)過(guò)第一步和第二步之后,用戶已經(jīng)充分了解嵌入式目標(biāo)參考設(shè)計(jì)的內(nèi)容,并可利用嵌入式目標(biāo)參考設(shè)計(jì)來(lái)加入用戶自己的邏輯和自己的軟件,使用XPS進(jìn)行硬件制定的開(kāi)發(fā),使用SDK進(jìn)行軟件的開(kāi)發(fā),這樣就可以按時(shí)完成設(shè)計(jì)要求。
EDK是Xilinx嵌入式開(kāi)發(fā)套件,其主要工具XPS是集成標(biāo)準(zhǔn)硬件流程ISE以及標(biāo)準(zhǔn)軟件流程SDK。XPS本身并不實(shí)現(xiàn)硬件流程,是通過(guò)呼叫ISE來(lái)達(dá)成硬件流程的實(shí)現(xiàn)。硬件流程包含了標(biāo)準(zhǔn)的FPGA硬件發(fā)展流程。XPS也不實(shí)現(xiàn)標(biāo)準(zhǔn)軟件流程,也是通過(guò)呼叫SDK來(lái)實(shí)現(xiàn)標(biāo)準(zhǔn)軟件流程。用戶可以通過(guò)XPS對(duì)系統(tǒng)作描述,如圖2所示。可以稱XPS為一個(gè)腳本產(chǎn)生器,是用來(lái)聯(lián)絡(luò)硬件和軟件流程的工具。
簡(jiǎn)單的SDK軟件開(kāi)發(fā)流程步驟如圖3所示,這些都將在SDK上完成。
• 采用SDK Eclipse IDE開(kāi)始設(shè)計(jì)
• 打開(kāi)專門(mén)針對(duì)MicroBlaze PSS 目標(biāo)參考設(shè)計(jì)配置的工作區(qū)(Workspace)
• 編程
• 創(chuàng)建獨(dú)立的軟件平臺(tái)或OS BSP
• 創(chuàng)建、編譯并構(gòu)建軟件應(yīng)用
• 用圖形調(diào)試器調(diào)試軟件應(yīng)用
簡(jiǎn)單硬件設(shè)計(jì)流程步驟如圖4所示。
• 用XPS開(kāi)始設(shè)計(jì)
• 啟動(dòng)MicroBlaze PSS目標(biāo)參考設(shè)計(jì)項(xiàng)目
• 修改
• 從EDK套件中選擇其他標(biāo)準(zhǔn)外設(shè)添加到PSS
• 根據(jù)“創(chuàng)建IP向?qū)?rdquo;創(chuàng)建定制IP
• 根據(jù)“調(diào)試配置向?qū)?rdquo;添加ChipScope調(diào)試IP
集成并優(yōu)化軟件/硬件的步驟如圖5所示。
• 用 ChipScope™Pro 分析工具調(diào)試軟件/硬件集成問(wèn)題
• 用SDK描述應(yīng)用并確定熱點(diǎn)
• 下載性能關(guān)鍵代碼(performance critical code)到硬件加速器
第三方提供嵌入式軟件支持主流的有Linux (PetaLinux)、uC/OS-II和Treck 網(wǎng)絡(luò)中間件,主要特性如表1所示。
表1 生態(tài)系統(tǒng)合作伙伴主要特性
總結(jié)
最后總結(jié)一下,新型嵌入式開(kāi)發(fā)套件可最大限度地縮短開(kāi)發(fā)時(shí)間也就是加速產(chǎn)品上市進(jìn)程,采用預(yù)集成組件降低風(fēng)險(xiǎn),也就是新型目標(biāo)參考設(shè)計(jì)可幫助設(shè)計(jì)人員提高工作效率??梢允乖O(shè)計(jì)人員致力于實(shí)現(xiàn)產(chǎn)品差異化和增值。
更多詳細(xì)內(nèi)容,敬請(qǐng)瀏覽:http://seminar.eccn.com/091230/jchf.asp
問(wèn)答選編
問(wèn):Spartan-6設(shè)計(jì)平臺(tái)采用“開(kāi)箱即用”設(shè)計(jì),具體都包含哪些含有FPGA系統(tǒng)開(kāi)發(fā)所需的軟硬件套件?
答:Spartan-6 FPGA Embedded Kit包含ISE套件Embedded Edition和SP605開(kāi)發(fā)板。
問(wèn):集成式存儲(chǔ)控制器,DDR、DDR2等的存儲(chǔ)空間都是多少?
答:這個(gè)取決于你的外部存儲(chǔ)空間有多大。
問(wèn):Spartan-6的存儲(chǔ)器時(shí)鐘最大頻率是多少呢?
答:Spartan-6的MCB最快能到400MHz。如果跟DDR3一起用的話,能達(dá)到800MB/s的帶寬。
問(wèn):Xilinx提供的標(biāo)準(zhǔn)嵌入式IP及第三方伙伴提供的IP添加完就可以直接使用?
答:mankit大部份Xilinx的標(biāo)準(zhǔn)嵌入式IP都是免費(fèi)的。
問(wèn):Spartan-6嵌入式套件和Spartan-6的數(shù)字信號(hào)處理開(kāi)發(fā)套件應(yīng)用上有哪些區(qū)別?
答:Spartan-6 Embedded Kit:SP605 (LX45T) + ISE DS Embedded Edition.
Spartan-6 DSP Kit:AS-LX150T board + ISE DS System Edition.
問(wèn):Spartan-6 FPGA采用什么工藝技術(shù)?
答:Spartan-6采用45nm工藝技術(shù),是45nm工藝的低成本FPGA。
問(wèn):Spartan-6對(duì)設(shè)計(jì)保密有何特長(zhǎng)?
答:Spartan-6有DeviceDNA來(lái)保護(hù)你的設(shè)計(jì),而在LX75/LX75T以上的器件有bitstream AES加密。
問(wèn):用spartan就可以實(shí)現(xiàn)比較簡(jiǎn)單的邏輯,但是如果串口速度比較高怎么辦?請(qǐng)問(wèn)s6里包含GTX嗎?
答:Spartan-6有LX和LXT系列,LXT系列有3.2Gbps的GTP。
問(wèn):Spartan-6最大容量是多少?
答:最大容量的Spartan-6有15萬(wàn)LUTs(XC6SLX150/XC6SLX150T)。
問(wèn):Xilinx有無(wú)低成本的Spartan-6 DEMO板供應(yīng)?
答:我們有入門(mén)版的DEMO板SP601,可以在www.xilinx.com/sp601找到。
問(wèn):Spartan-6 FPGA套件除了支持PCIegen1標(biāo)準(zhǔn)的接口與千兆位以太網(wǎng)鏈接外,是否還支持gen2標(biāo)準(zhǔn)的接口?
答:Spartan-6不支持gen2的PCIe.如果你需要gen2的支持, 你可以選擇Virtex-6,詳情參考V6 PCIe的文檔。
問(wèn):ISE的所有版本都支持MIG設(shè)計(jì)嗎?
答:所有版本的ISE都可以支持MIG設(shè)計(jì)。
問(wèn):Virtex-6是否兼容PCIExpress2.0標(biāo)準(zhǔn)?
答:Virtex-6已經(jīng)通過(guò)了PCI Express 2.0 (2.5Gbps和 5Gbps)的兼容測(cè)試。
問(wèn):Spartan-6的工作電壓等級(jí)是多少?
答:Spartan-6的工作電壓是1.2V的,我們也有提供low power的Spartan-6 -1L器件,它的工作電壓是1.0V。
問(wèn):Spartan-6在基站設(shè)計(jì)中有優(yōu)勢(shì)嗎?
答:Spartan-6的DSP Slice能使工程師在RRU設(shè)計(jì)上可以用低成本的Spartan-6 FPGA來(lái)實(shí)現(xiàn)DPD,PC-CFR,DUC,DDC等功能。
評(píng)論