嵌入式系統的應用已經相當的廣泛,曾有專家預言——嵌入式系統的明天就相當于PC的今天,如今從某種程度上講預言已經實現,嵌入式系統被廣泛應用于工業設備、汽車航空、醫療電子、消費電子等領域,與此同時市場競爭也愈加激烈,如何快速地將符合需求的產品投入市場成為在競爭中保持一席之地的關鍵。然而,隨著系統構架的日益復雜化,例如,多核多任務的環境,MPU、DSP和FPGA混合編程,以及處理器和開發工具的多樣化等,都給嵌入式系統開發人員帶來了很大的挑戰。第三方獨立市場預測機構Embedded Market Forecasters(EMF)在對900多名嵌入式系統開發人員進行調研后指出,超過50%的嵌入式設計比預期時間晚上市,而平均延遲時間高達近4個月;并且在已發布的產品中,有近30%的設計未達到預期的功能和指標。
因此必須采取一定的措施來加快設計流程,提高設計質量,一種解決方案是采取現成可用的商業化平臺。在開發一個嵌入式設備時,除了考慮處理器架構、操作系統性能、以及其他組件之外,開發人員必須決定系統的哪些部分需要設計、哪些部分需要購買現成設備。如果采用自行設計的方案,其優勢在于可以全面地自定義最終的解決方案并優化成本,但是任何設計規格的更改或疏忽都將導致漫長且成本高昂的延期。與此相對的,使用商業現成的平臺將增加產品的銷售成本,或者可能為一些不需要的特性而花費成本,但是通常來說,現成的系統提供了更快的驗證周期,因而也就具有更為快捷的設計流程,從而在更短的上市時間內保證設計的質量。下文將闡述用于開發嵌入式系統的兩種方案:自行設計或使用現成平臺,并且討論與這兩種方案相關的技術和經濟風險。
方案一:自行設計
在開發之前,需要為系統的核心控制部分選擇一種處理器技術。例如以下五種技術:
1. 微控制器-微控制器的成本極為低廉,并且通常在單一的芯片上提供了集成的解決方案,且包括I/O外圍設備。它們通常帶有極小的片上存儲容量,而且難以用于復雜性高和需要擴展的場合。此外,其時鐘速率通常是10MHz的數量級,因此一般不能實現高性能的控制循環。
2. 微處理器-和微控制器相比,微處理器的時鐘速率更高且通常具有外部存儲接口,因而性能和擴展性并不成問題。但是應用程序可能需要進行復雜的驅動開發,因為微處理器通常并不帶有片上模擬外圍設備。此外,微處理器可能需要高密度的封裝技術,例如球柵陣列封裝(ball-grid array,即BGA),這將導致較復雜的制造流程,增添了更為困難的硬件調試工作。
3. 數字信號處理器(DSP)-DSP是一種專用的微處理器,它提供額外的指令以優化特定的數學函數,例如乘法和累加操作。DSP對于計算繁重的應用場合來說是極為有用的,但是通常需要專業的知識來利用它的軟件性能。
4. 專用集成電路(ASIC)-ASIC芯片是專為某個特定的應用而設計的,不具有通用性。對于解決諸如功耗和產品成本等問題,ASIC被廣泛認為是一種極好的方案。但是,極為昂貴的ASIC開發和制造流程通常讓人望而卻步,一般僅限于具有極大產量的產品。
5. 現場可編程門陣列(FPGA)-FPGA在自定義的ASIC設計和現成的技術之間提供了極好的平衡。它們具有高度的專有化性能,同時可以通過編程重新配置邏輯模塊,因而其開發成本與ASIC相比要低得多。雖然FPGA可以被應用于各種場合,但是一般來說復雜的FPGA設計并不常見,因為對于大部分習慣于使用C語言進行順序編程的嵌入式軟件開發者來說,VHDL編程格式顯得十分陌生。
在許多情況下,單一的處理器技術并不足以解決應用的需求,因此,混合式架構逐漸成為發展的方向。如圖1所示,實時處理器用來管理網絡通信和用戶界面,而FPGA則負責與I/O模塊的接口和高速控制等任務。這種混合式架構在嵌入式系統設計中變得十分普遍。
圖1、混合式架構在嵌入式系統設計中變得十分普遍。在這種混合式架構中,實時處理器用來管理網絡通信和用戶界面,而FPGA則負責與I/O部件的接口和高速控制任務。

在確定了使用何種處理器技術之后,設計人員還需要完成I/O電路的開發。如果嵌入式系統中存在任何的模擬信號,那么就需要使用模數轉換器(ADC)、數模轉換器(DAC)、以及相應的軟件驅動。模擬電路的設計同樣會遇到很多復雜的問題,限于篇幅本文不再贅述。
方案二:利用現有平臺
另外一種方案就是使用現成的平臺來開發嵌入式系統。雖然通常來說需要付出比板卡組件成本更高的價錢,但是可以顯著縮短產品進入市場的時間。除此之外,這些系統具有較好的可擴展性。隨著處理器技術的進步,嵌入式系統出現以下幾種不同的實現技術:
1. 非集成式嵌入式系統-具有多種不同的形狀尺寸,例如Mini-ITX、PC/104等。對于使用現成產品來構建系統,非集成式嵌入式系統通常是最為經濟的解決方案。這些系統具有各種不同的處理器架構以供選擇,且帶有操作系統和一小部分I/O支持套件。但是,針對這種系統的軟件開發工具幾乎從未集成,而且這些系統通常需要進行各種監管認證,例如EMI和CE認證。
2. 集成式嵌入式系統-除了具有與非集成式嵌入式系統相同的組件之外,集成式嵌入式系統提供了諸如沖擊、振動、工作溫度、以及環境認證之類的技術說明。通常來說,這些系統更加昂貴,但是他們通常帶有集成的軟件開發環境且具有更為豐富的I/O選擇。
3. 工業級PC-利用現成的PC技術,工業級PC為開發工具及I/O性能提供了最為豐富的選擇。它們也具有許多與其他集成式嵌入式系統相同的技術說明和認證,但這種性能是以成本為代價的。這種系統比前述兩種方式更為昂貴。

圖2、NI CompactRIO正是集成式嵌入式系統的一個實例
NI CompactRIO集成式嵌入式系統架構,與圖1所示的簡單方框圖極為相似。它使用了Freescale PowerPC微處理器運行VxWorks實時操作系統。PowerPC通過內部的PCI總線與FPGA相連接。此外,FPGA直接連接至各種模擬和數字I/O模塊,從而可以連接各種傳感器、激勵器以及通信總線,同時也允許開發人員設計自定義的模塊。圖2給出了NI CompactRIO集成式嵌入式系統示意圖,圖3是CompactRIO的系統結構圖。

圖3、NI CompactRIO系統結構圖