新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 如何在開發(fā)嵌入式系統(tǒng)時做出明智的選擇

如何在開發(fā)嵌入式系統(tǒng)時做出明智的選擇

作者: 時間:2012-06-01 來源:網(wǎng)絡(luò) 收藏

許多系統(tǒng)設(shè)計師將執(zhí)行軟/硬件協(xié)同設(shè)計周期(圖1),即同時開發(fā)硬件和軟件。理解硬件與軟件功能之間的關(guān)系以及對兩者進(jìn)行劃分有助于確保完全和正確地實現(xiàn)。

在定義和分析需求的初期階段,系統(tǒng)開發(fā)者需要與設(shè)計工程師緊密合作,將要求實現(xiàn)的功能分配給硬件或軟件。這是根據(jù)早期系統(tǒng)仿真、建立原型和行為建模的結(jié)果,再加上對前面提及的多種因素的折衷以及過去的設(shè)計經(jīng)驗來進(jìn)行分配的(圖2)。一旦完成這種分配,就將開始詳細(xì)的設(shè)計和實現(xiàn)。當(dāng)同時進(jìn)行硬件和軟件設(shè)計時,各種不同的分析技術(shù)將被應(yīng)用到實時系統(tǒng)的開發(fā)過程中,它們包括:硬件和軟件仿真、硬件/軟件協(xié)同仿真、可規(guī)劃性建模(如速率單調(diào)性分析)、建立原型和增量開發(fā)。

能夠用于各種不同抽象級的仿真技術(shù)可以對性能做出。低抽象級的仿真能夠用于對總線帶寬和數(shù)據(jù)流建模,而且它們對評估性能也非常有用。高抽象級的仿真能解決功能交互問題,并研究硬件/軟件的折衷方案和驗證設(shè)計的有效性。運用仿真方法,復(fù)雜的系統(tǒng)能夠被抽象為基礎(chǔ)的元件和行為。仿真能幫助解決功能方面的問題(數(shù)據(jù)和算法)、行為方面的問題(處理的先后順序)或性能方面的問題(資源利用率、吞吐量和時序)。

嵌入式實時系統(tǒng)的優(yōu)化十分重要。因為這些系統(tǒng)設(shè)計用于解決相對較窄范圍的問題,所以硬件和軟件經(jīng)優(yōu)化后只要能執(zhí)行好單個應(yīng)用就行。目標(biāo)是在硬件與軟件達(dá)到最佳平衡的條件下來設(shè)計系統(tǒng)。這個階段的主要影響因素包括處理器的選擇、如何在硬件與軟件之間分割應(yīng)用以及整個系統(tǒng)的集成。圖1:嵌入式系統(tǒng)設(shè)計周期。

在為嵌入式實時系統(tǒng)選擇處理器時,應(yīng)考慮以下因素:

1.性能:處理器必須具備足夠的性能來處理任務(wù),并能支持產(chǎn)品的生命周期。

2.實現(xiàn):根據(jù)具體的應(yīng)用,需要的處理器可能是高度集成的產(chǎn)品,甚至于符合軍用規(guī)范。對于一個DSP應(yīng)用,它可以在幾種方案中進(jìn)行選擇。一種選擇是ASIC。這種器件能被用作DSP協(xié)處理器,但對許多通用信號處理應(yīng)用而言,它不是非常靈活。另一種選擇是RISC處理器。這種器件具有極快的時鐘速度,但可能不具備可伸縮性,而且可能還存在其它實時問題。FPGA是一種快速器件,能非常迅速和高效地執(zhí)行某些DSP功能,但與DSP相比,它們?nèi)院茈y開發(fā)。

在DSP中,一個簡單的程序就能完成這些相同的功能。如果應(yīng)用是宿主信號處理應(yīng)用,那么選擇一款功能更強大、功耗更高的通用處理器可能沒有問題。如果信號處理應(yīng)用要求能快速升級,那么像DSP這樣的可編程器件將比定制的硬件解決方案更有吸引力。

3.工具支持:支持軟件創(chuàng)建、調(diào)試、系統(tǒng)集成、代碼調(diào)整和優(yōu)化的工具對于整個項目的成功非常重要。

4.操作系統(tǒng)支持:應(yīng)用的復(fù)雜性要求采用有益的抽象來降低復(fù)雜度。針對所選處理器優(yōu)化的商用操作系統(tǒng)能夠縮短應(yīng)用開發(fā)周期和產(chǎn)品上市時間。

5.過去的經(jīng)驗:以前使用所選處理器或處理器系列的經(jīng)驗可以減少學(xué)習(xí)新處理器、工具和技巧所需的時間。

6.仿真支持:周期精確的仿真技術(shù)在某些種類的應(yīng)用中十分重要,尤其對于數(shù)字信號處理,它的大部分功能是依靠仿真技術(shù)來驗證正確性的。的軟/硬件協(xié)同設(shè)計模型也使得處理器仿真器成為開發(fā)流程中的一個有用工具。圖2:概念形成和系統(tǒng)定義。

7.應(yīng)用支持:支持方式分為許多種——從通過熱線或網(wǎng)站提供的應(yīng)用指南到預(yù)打包的軟件;從應(yīng)用框架到可用的測試基準(zhǔn)。某些DSP處理器還一并提供用于外圍設(shè)備的驅(qū)動程序、板支持包以及其它“啟動套件”。這些軟件使應(yīng)用開發(fā)者不必再編寫沒有增值意義的軟件,如設(shè)備驅(qū)動程序,轉(zhuǎn)而專注于為應(yīng)用開發(fā)增值功能,它們將使產(chǎn)品在市場上表現(xiàn)出個性化特色。

8.成本:嵌入式應(yīng)用對成本非常敏感。幾美分的成本差異就能決定產(chǎn)品在市場上的成敗。

9.功耗:許多便攜型的嵌入式實時系統(tǒng)是依靠電池供電的。因此,電池壽命成為系統(tǒng)的一個重要參數(shù)。在這種情況下,應(yīng)考慮采用針對便攜式應(yīng)用優(yōu)化的低功耗器件。

10.遺留代碼:選用需要移植現(xiàn)有代碼的處理器可能會顯著延長開發(fā)周期。選擇一款代碼兼容的器件則可以縮短或省去移植代碼的步驟。

11.算法復(fù)雜性:特定處理器能很高效地運行特定算法。選擇的處理器應(yīng)該盡可能與應(yīng)用相匹配。例如,包含大量控制代碼的有限狀態(tài)機應(yīng)用應(yīng)該選用RISC器件,如ARM處理器。而諸如編碼、解碼和回波消除等信號處理應(yīng)用則應(yīng)當(dāng)選用DSP或帶有信號處理加速器的某些器件。

12.面市時間:項目的最終期限可能會影響處理器的選擇。這與前述的幾項選擇標(biāo)準(zhǔn)有密切關(guān)系,如操作系統(tǒng)和其它軟件的可供應(yīng)性以及代碼的可移植性問題等。

因為的預(yù)算不斷縮減,實時操作系統(tǒng)(RTOS)和TCP/IP堆棧等商業(yè)技術(shù)已經(jīng)得到增強,加上對嵌入式系統(tǒng)的需求不斷擴(kuò)展,所以采用現(xiàn)成商業(yè)技術(shù)的做法正變得越來越流行。使用現(xiàn)成商業(yè)技術(shù)可以縮短開發(fā)周期的某些階段,包括編碼、調(diào)試、單元測試和代碼檢查等。

不過,如果決定購買而不是自主開發(fā),那么這將改變一家公司的基本開發(fā)流程。選擇購買現(xiàn)成商業(yè)技術(shù)的公司預(yù)計要進(jìn)行的一些新工作包括:研究和評估供應(yīng)商、產(chǎn)品評估以及后續(xù)與供應(yīng)商的互動和關(guān)系維護(hù)等。

很重要的一點是應(yīng)該讓終端用戶和技術(shù)人員參與選擇現(xiàn)成商業(yè)技術(shù)供應(yīng)商的過程。在選擇的過程中,不僅要考慮技術(shù)問題,還要重點關(guān)注商業(yè)需求。影響成本的因素包括:易學(xué)性、易用性、供應(yīng)商的信譽和穩(wěn)定度、許可協(xié)議以及培訓(xùn)事宜。在選擇供應(yīng)商時的主要任務(wù)包括:研究和理解技術(shù)標(biāo)準(zhǔn);向供應(yīng)商征詢建議;評估供應(yīng)商的建議并對他們作出排名;選擇一家供應(yīng)商并與之簽署合同。

嵌入式系統(tǒng)供應(yīng)商已經(jīng)認(rèn)識到,他們需要通過提供軟件模塊和框架,來加速軟件開發(fā)進(jìn)程。在DSP領(lǐng)域,供應(yīng)商提供了數(shù)百個DSP軟件給DSP設(shè)計師,供他們在產(chǎn)品和系統(tǒng)開發(fā)中使用,其中包括參考框架。

在應(yīng)用開發(fā)的早期階段,已經(jīng)設(shè)計好的參考框架對于設(shè)計師而言是能夠用以啟動項目的解決方案。參考框架包含在許多應(yīng)用中可以通用的源代碼。設(shè)計師可以選擇最能滿足其系統(tǒng)需要的特定參考框架,然后將參考框架與算法(由其他供應(yīng)商銷售的DSP商業(yè)現(xiàn)成技術(shù)或者它們自己開發(fā)的算法)整合在一起,從而為一系列終端設(shè)備創(chuàng)造特定應(yīng)用,包括寬帶、語音、視頻成像、生物測定和無線基礎(chǔ)設(shè)施等。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉