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