如何在開發(fā)嵌入式系統(tǒng)時(shí)做出明智的選擇
許多系統(tǒng)設(shè)計(jì)師將執(zhí)行軟/硬件協(xié)同設(shè)計(jì)周期(圖1),即同時(shí)開發(fā)硬件和軟件。理解硬件與軟件功能之間的關(guān)系以及對(duì)兩者進(jìn)行劃分有助于確保完全和正確地實(shí)現(xiàn)系統(tǒng)需求。
在定義和分析需求的初期階段,系統(tǒng)開發(fā)者需要與設(shè)計(jì)工程師緊密合作,將要求實(shí)現(xiàn)的功能分配給硬件或軟件。這是根據(jù)早期系統(tǒng)仿真、建立原型和行為建模的結(jié)果,再加上對(duì)前面提及的多種因素的折衷以及過(guò)去的設(shè)計(jì)經(jīng)驗(yàn)來(lái)進(jìn)行分配的(圖2)。一旦完成這種分配,就將開始詳細(xì)的設(shè)計(jì)和實(shí)現(xiàn)。當(dāng)同時(shí)進(jìn)行硬件和軟件設(shè)計(jì)時(shí),各種不同的分析技術(shù)將被應(yīng)用到實(shí)時(shí)系統(tǒng)的開發(fā)過(guò)程中,它們包括:硬件和軟件仿真、硬件/軟件協(xié)同仿真、可規(guī)劃性建模(如速率單調(diào)性分析)、建立原型和增量開發(fā)。
能夠用于各種不同抽象級(jí)的仿真技術(shù)可以對(duì)性能做出早期評(píng)估。低抽象級(jí)的仿真能夠用于對(duì)總線帶寬和數(shù)據(jù)流建模,而且它們對(duì)評(píng)估性能也非常有用。高抽象級(jí)的仿真能解決功能交互問(wèn)題,并研究硬件/軟件的折衷方案和驗(yàn)證設(shè)計(jì)的有效性。運(yùn)用仿真方法,復(fù)雜的系統(tǒng)能夠被抽象為基礎(chǔ)的元件和行為。仿真能幫助解決功能方面的問(wèn)題(數(shù)據(jù)和算法)、行為方面的問(wèn)題(處理的先后順序)或性能方面的問(wèn)題(資源利用率、吞吐量和時(shí)序)。
嵌入式實(shí)時(shí)系統(tǒng)的優(yōu)化十分重要。因?yàn)檫@些系統(tǒng)設(shè)計(jì)用于解決相對(duì)較窄范圍的問(wèn)題,所以硬件和軟件經(jīng)優(yōu)化后只要能執(zhí)行好單個(gè)應(yīng)用就行。目標(biāo)是在硬件與軟件達(dá)到最佳平衡的條件下來(lái)設(shè)計(jì)系統(tǒng)。這個(gè)階段的主要影響因素包括處理器的選擇、如何在硬件與軟件之間分割應(yīng)用以及整個(gè)系統(tǒng)的集成。
在為嵌入式實(shí)時(shí)系統(tǒng)選擇處理器時(shí),應(yīng)考慮以下因素:
1.性能:處理器必須具備足夠的性能來(lái)處理任務(wù),并能支持產(chǎn)品的生命周期。
2.實(shí)現(xiàn):根據(jù)具體的應(yīng)用,需要的處理器可能是高度集成的產(chǎn)品,甚至于符合軍用規(guī)范。對(duì)于一個(gè)DSP應(yīng)用,它可以在幾種方案中進(jìn)行選擇。一種選擇是ASIC。這種器件能被用作DSP協(xié)處理器,但對(duì)許多通用信號(hào)處理應(yīng)用而言,它不是非常靈活。另一種選擇是RISC處理器。這種器件具有極快的時(shí)鐘速度,但可能不具備可伸縮性,而且可能還存在其它實(shí)時(shí)問(wèn)題。FPGA是一種快速器件,能非常迅速和高效地執(zhí)行某些DSP功能,但與DSP相比,它們?nèi)院茈y開發(fā)。
在DSP中,一個(gè)簡(jiǎn)單的程序就能完成這些相同的功能。如果應(yīng)用是宿主信號(hào)處理應(yīng)用,那么選擇一款功能更強(qiáng)大、功耗更高的通用處理器可能沒(méi)有問(wèn)題。如果信號(hào)處理應(yīng)用要求能快速升級(jí),那么像DSP這樣的可編程器件將比定制的硬件解決方案更有吸引力。
3.工具支持:支持軟件創(chuàng)建、調(diào)試、系統(tǒng)集成、代碼調(diào)整和優(yōu)化的工具對(duì)于整個(gè)項(xiàng)目的成功非常重要。
4.操作系統(tǒng)支持:嵌入式系統(tǒng)應(yīng)用的復(fù)雜性要求采用有益的抽象來(lái)降低復(fù)雜度。針對(duì)所選處理器優(yōu)化的商用操作系統(tǒng)能夠縮短應(yīng)用開發(fā)周期和產(chǎn)品上市時(shí)間。
5.過(guò)去的經(jīng)驗(yàn):以前使用所選處理器或處理器系列的經(jīng)驗(yàn)可以減少學(xué)習(xí)新處理器、工具和技巧所需的時(shí)間。
6.仿真支持:周期精確的仿真技術(shù)在某些種類的應(yīng)用中十分重要,尤其對(duì)于數(shù)字信號(hào)處理,它的大部分功能是依靠仿真技術(shù)來(lái)驗(yàn)證正確性的。嵌入式系統(tǒng)的軟/硬件協(xié)同設(shè)計(jì)模型也使得處理器仿真器成為開發(fā)流程中的一個(gè)有用工具。
7.應(yīng)用支持:支持方式分為許多種——從通過(guò)熱線或網(wǎng)站提供的應(yīng)用指南到預(yù)打包的軟件;從應(yīng)用框架到可用的測(cè)試基準(zhǔn)。某些DSP處理器還一并提供用于外圍設(shè)備的驅(qū)動(dòng)程序、板支持包以及其它“啟動(dòng)套件”。這些軟件使應(yīng)用開發(fā)者不必再編寫沒(méi)有增值意義的軟件,如設(shè)備驅(qū)動(dòng)程序,轉(zhuǎn)而專注于為應(yīng)用開發(fā)增值功能,它們將使產(chǎn)品在市場(chǎng)上表現(xiàn)出個(gè)性化特色。
8.成本:嵌入式應(yīng)用對(duì)成本非常敏感。幾美分的成本差異就能決定產(chǎn)品在市場(chǎng)上的成敗。
9.功耗:許多便攜型的嵌入式實(shí)時(shí)系統(tǒng)是依靠電池供電的。因此,電池壽命成為系統(tǒng)的一個(gè)重要參數(shù)。在這種情況下,應(yīng)考慮采用針對(duì)便攜式應(yīng)用優(yōu)化的低功耗器件。
10.遺留代碼:選用需要移植現(xiàn)有代碼的處理器可能會(huì)顯著延長(zhǎng)開發(fā)周期。選擇一款代碼兼容的器件則可以縮短或省去移植代碼的步驟。
11.算法復(fù)雜性:特定處理器能很高效地運(yùn)行特定算法。選擇的處理器應(yīng)該盡可能與應(yīng)用相匹配。例如,包含大量控制代碼的有限狀態(tài)機(jī)應(yīng)用應(yīng)該選用RISC器件,如ARM處理器。而諸如編碼、解碼和回波消除等信號(hào)處理應(yīng)用則應(yīng)當(dāng)選用DSP或帶有信號(hào)處理加速器的某些器件。
12.面市時(shí)間:項(xiàng)目的最終期限可能會(huì)影響處理器的選擇。這與前述的幾項(xiàng)選擇標(biāo)準(zhǔn)有密切關(guān)系,如操作系統(tǒng)和其它軟件的可供應(yīng)性以及代碼的可移植性問(wèn)題等。
因?yàn)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/嵌入式系統(tǒng)">嵌入式系統(tǒng)的預(yù)算不斷縮減,實(shí)時(shí)操作系統(tǒng)(RTOS)和TCP/IP堆棧等商業(yè)技術(shù)已經(jīng)得到增強(qiáng),加上對(duì)嵌入式系統(tǒng)的需求不斷擴(kuò)展,所以采用現(xiàn)成商業(yè)技術(shù)的做法正變得越來(lái)越流行。使用現(xiàn)成商業(yè)技術(shù)可以縮短開發(fā)周期的某些階段,包括編碼、調(diào)試、單元測(cè)試和代碼檢查等。
不過(guò),如果決定購(gòu)買而不是自主開發(fā),那么這將改變一家公司的基本開發(fā)流程。選擇購(gòu)買現(xiàn)成商業(yè)技術(shù)的公司預(yù)計(jì)要進(jìn)行的一些新工作包括:研究和評(píng)估供應(yīng)商、產(chǎn)品評(píng)估以及后續(xù)與供應(yīng)商的互動(dòng)和關(guān)系維護(hù)等。
很重要的一點(diǎn)是應(yīng)該讓終端用戶和技術(shù)人員參與選擇現(xiàn)成商業(yè)技術(shù)供應(yīng)商的過(guò)程。在選擇的過(guò)程中,不僅要考慮技術(shù)問(wèn)題,還要重點(diǎn)關(guān)注商業(yè)需求。影響成本的因素包括:易學(xué)性、易用性、供應(yīng)商的信譽(yù)和穩(wěn)定度、許可協(xié)議以及培訓(xùn)事宜。在選擇供應(yīng)商時(shí)的主要任務(wù)包括:研究和理解技術(shù)標(biāo)準(zhǔn);向供應(yīng)商征詢建議;評(píng)估供應(yīng)商的建議并對(duì)他們作出排名;選擇一家供應(yīng)商并與之簽署合同。
嵌入式系統(tǒng)供應(yīng)商已經(jīng)認(rèn)識(shí)到,他們需要通過(guò)提供軟件模塊和框架,來(lái)加速軟件開發(fā)進(jìn)程。在DSP領(lǐng)域,供應(yīng)商提供了數(shù)百個(gè)DSP軟件給DSP設(shè)計(jì)師,供他們?cè)诋a(chǎn)品和系統(tǒng)開發(fā)中使用,其中包括參考框架。
在應(yīng)用開發(fā)的早期階段,已經(jīng)設(shè)計(jì)好的參考框架對(duì)于設(shè)計(jì)師而言是能夠用以啟動(dòng)項(xiàng)目的解決方案。參考框架包含在許多應(yīng)用中可以通用的源代碼。設(shè)計(jì)師可以選擇最能滿足其系統(tǒng)需要的特定參考框架,然后將參考框架與算法(由其他供應(yīng)商銷售的DSP商業(yè)現(xiàn)成技術(shù)或者它們自己開發(fā)的算法)整合在一起,從而為一系列終端設(shè)備創(chuàng)造特定應(yīng)用,包括寬帶、語(yǔ)音、視頻成像、生物測(cè)定和無(wú)線基礎(chǔ)設(shè)施等。
評(píng)論