利用商業(yè)化平臺快速開發(fā)嵌入式系統(tǒng)
因此必須采取一定的措施來加快設計流程,提高設計質量,一種解決方案是采取現(xiàn)成可用的商業(yè)化平臺。在開發(fā)一個嵌入式設備時,除了考慮處理器架構、操作系統(tǒng)性能、以及其他組件之外,開發(fā)人員必須決定系統(tǒng)的哪些部分需要設計、哪些部分需要購買現(xiàn)成設備。如果采用自行設計的方案,其優(yōu)勢在于可以全面地自定義最終的解決方案并優(yōu)化成本,但是任何設計規(guī)格的更改或疏忽都將導致漫長且成本高昂的延期。與此相對的,使用商業(yè)現(xiàn)成的平臺將增加產品的銷售成本,或者可能為一些不需要的特性而花費成本,但是通常來說,現(xiàn)成的系統(tǒng)提供了更快的驗證周期,因而也就具有更為快捷的設計流程,從而在更短的上市時間內保證設計的質量。下文將闡述用于開發(fā)嵌入式系統(tǒng)的兩種方案:自行設計或使用現(xiàn)成平臺,并且討論與這兩種方案相關的技術和經濟風險。
方案一:自行設計
在開發(fā)之前,需要為系統(tǒng)的核心控制部分選擇一種處理器技術。例如以下五種技術:
1. 微控制器-微控制器的成本極為低廉,并且通常在單一的芯片上提供了集成的解決方案,且包括I/O外圍設備。它們通常帶有極小的片上存儲容量,而且難以用于復雜性高和需要擴展的場合。此外,其時鐘速率通常是10MHz的數(shù)量級,因此一般不能實現(xiàn)高性能的控制循環(huán)。
2. 微處理器-和微控制器相比,微處理器的時鐘速率更高且通常具有外部存儲接口,因而性能和擴展性并不成問題。但是應用程序可能需要進行復雜的驅動開發(fā),因為微處理器通常并不帶有片上模擬外圍設備。此外,微處理器可能需要高密度的封裝技術,例如球柵陣列封裝(ball-grid array,即BGA),這將導致較復雜的制造流程,增添了更為困難的硬件調試工作。
3. 數(shù)字信號處理器(DSP)-DSP是一種專用的微處理器,它提供額外的指令以優(yōu)化特定的數(shù)學函數(shù),例如乘法和累加操作。DSP對于計算繁重的應用場合來說是極為有用的,但是通常需要專業(yè)的知識來利用它的軟件性能。
4. 專用集成電路(ASIC)-ASIC芯片是專為某個特定的應用而設計的,不具有通用性。對于解決諸如功耗和產品成本等問題,ASIC被廣泛認為是一種極好的方案。但是,極為昂貴的ASIC開發(fā)和制造流程通常讓人望而卻步,一般僅限于具有極大產量的產品。
5. 現(xiàn)場可編程門陣列(FPGA)-FPGA在自定義的ASIC設計和現(xiàn)成的技術之間提供了極好的平衡。它們具有高度的專有化性能,同時可以通過編程重新配置邏輯模塊,因而其開發(fā)成本與ASIC相比要低得多。雖然FPGA可以被應用于各種場合,但是一般來說復雜的FPGA設計并不常見,因為對于大部分習慣于使用C語言進行順序編程的嵌入式軟件開發(fā)者來說,VHDL編程格式顯得十分陌生。
在許多情況下,單一的處理器技術并不足以解決應用的需求,因此,混合式架構逐漸成為發(fā)展的方向。如圖1所示,實時處理器用來管理網絡通信和用戶界面,而FPGA則負責與I/O模塊的接口和高速控制等任務。這種混合式架構在嵌入式系統(tǒng)設計中變得十分普遍。
圖1、混合式架構在嵌入式系統(tǒng)設計中變得十分普遍。在這種混合式架構中,實時處理器用來管理網絡通信和用戶界面,而FPGA則負責與I/O部件的接口和高速控制任務。
在確定了使用何種處理器技術之后,設計人員還需要完成I/O電路的開發(fā)。如果嵌入式系統(tǒng)中存在任何的模擬信號,那么就需要使用模數(shù)轉換器(ADC)、數(shù)模轉換器(DAC)、以及相應的軟件驅動。模擬電路的設計同樣會遇到很多復雜的問題,限于篇幅本文不再贅述。
方案二:利用現(xiàn)有平臺
另外一種方案就是使用現(xiàn)成的平臺來開發(fā)嵌入式系統(tǒng)。雖然通常來說需要付出比板卡組件成本更高的價錢,但是可以顯著縮短產品進入市場的時間。除此之外,這些系統(tǒng)具有較好的可擴展性。隨著處理器技術的進步,嵌入式系統(tǒng)出現(xiàn)以下幾種不同的實現(xiàn)技術:
[!--empirenews.page--]1. 非集成式嵌入式系統(tǒng)-具有多種不同的形狀尺寸,例如Mini-ITX、PC/104等。對于使用現(xiàn)成產品來構建系統(tǒng),非集成式嵌入式系統(tǒng)通常是最為經濟的解決方案。這些系統(tǒng)具有各種不同的處理器架構以供選擇,且?guī)в胁僮飨到y(tǒng)和一小部分I/O支持套件。但是,針對這種系統(tǒng)的軟件開發(fā)工具幾乎從未集成,而且這些系統(tǒng)通常需要進行各種監(jiān)管認證,例如EMI和CE認證。
2. 集成式嵌入式系統(tǒng)-除了具有與非集成式嵌入式系統(tǒng)相同的組件之外,集成式嵌入式系統(tǒng)提供了諸如沖擊、振動、工作溫度、以及環(huán)境認證之類的技術說明。通常來說,這些系統(tǒng)更加昂貴,但是他們通常帶有集成的軟件開發(fā)環(huán)境且具有更為豐富的I/O選擇。
3. 工業(yè)級PC-利用現(xiàn)成的PC技術,工業(yè)級PC為開發(fā)工具及I/O性能提供了最為豐富的選擇。它們也具有許多與其他集成式嵌入式系統(tǒng)相同的技術說明和認證,但這種性能是以成本為代價的。這種系統(tǒng)比前述兩種方式更為昂貴。
圖2、NI CompactRIO正是集成式嵌入式系統(tǒng)的一個實例。
NI CompactRIO集成式嵌入式系統(tǒng)架構,與圖1所示的簡單方框圖極為相似。它使用了Freescale PowerPC微處理器運行VxWorks實時操作系統(tǒng)。PowerPC通過內部的PCI總線與FPGA相連接。此外,F(xiàn)PGA直接連接至各種模擬和數(shù)字I/O模塊,從而可以連接各種傳感器、激勵器以及通信總線,同時也允許開發(fā)人員設計自定義的模塊。圖2給出了NI CompactRIO集成式嵌入式系統(tǒng)示意圖,圖3是CompactRIO的系統(tǒng)結構圖。
圖3、NI CompactRIO系統(tǒng)結構圖
選擇哪種方案?-嵌入式系統(tǒng)設計中的“隱性”成本
在選擇自行設計還是利用現(xiàn)成平臺時,通常技術性能并不是決定性因素,而需要進行簡單的經濟性分析。如果最終的利潤足以填補產品開發(fā)過程中所花費的工程成本投資,那么做出的決定就是明智的。做出決定之前,必須準確估計自行設計方案所花費的成本。但這并是看上去那么簡單;如果只是把板卡組件的成本和硬件及軟件的開發(fā)時間相加,那么只是非常粗略地低估了總投資成本。還應當考慮其他的“隱性”成本才能準確地評估真正的任務成本。
一旦評估了工程投資成本,那么就可以簡單計算一下的財務收支平衡分析。假設針對某種產品的開發(fā),需要兩個工程師花費九個月的時間來自行開發(fā)一塊板卡,從需求分析到供貨,其投資成本大約是300,000。并且在預安裝、原型設計、預發(fā)布單元、加工以及其他偶然的工程成本等每個方面都花費了25,000,從而使得整個投資成本上升到400,000。在完成了這些工作后,自行設計的產品其成本將比使用現(xiàn)成的平臺便宜400。使用公式1,可以看到投資收支平衡點位于第1,000個單位產品,直到售出第1,001個單位產品才會盈利。而且,這并沒有包含上面所討論的其他“隱性”成本。但是,如果選擇了集成式嵌入式系統(tǒng),就可以縮短上市時間,并且早期的利潤將會用于成本優(yōu)化和特性改進。通過這種方式,可以在整個產品生命周期內攤銷投資成本,而不是在早期的開發(fā)過程中投入所有的資金。
公式1、可以使用簡單的公式來計算任何自定義系統(tǒng)的收支平衡點
本文小結
那是否就不用自行設計板卡了?當然不是。對于那些對形狀尺寸有專門要求且具有極高產量的系統(tǒng)、或者具有極為苛刻技術要求(例如極低的功率消耗)的系統(tǒng)來說,自行設計的方式將更具有優(yōu)勢。而對于產量較低、技術復雜又需要快速上市的產品,使用現(xiàn)成平臺可以讓供應商負擔物流和“隱性”成本從而使得我們可以專注于技術上的優(yōu)勢突出,從而在市場競爭中保持領先。