在開發(fā)一個嵌入式設備時,確定使用哪種技術(shù)來實現(xiàn)系統(tǒng)的核心控制器是早期最為關(guān)鍵的項目進度里程碑之一。除了考慮處理器架構(gòu)、操作系統(tǒng)性能、以及其它組件之外,您必須決定系統(tǒng)的哪些部分需要設計、哪些部分需要購買現(xiàn)成設備。通過設計和創(chuàng)建一個自定義的控制器,您可以全面地自定義最終的解決方案并優(yōu)化成本,但是任何設計規(guī)范的更改或疏忽都將導致漫長且成本高昂的延期。換句話說,使用現(xiàn)成的平臺將增加產(chǎn)品的銷售成本(cost of goods sold,即COGS),而且您可能為您的設計中不需要的特性而花費成本。但是通常來說,現(xiàn)成的系統(tǒng)提供了更快的驗證周期,因而也就具有更短的上市時間。本指南闡述了用于開發(fā)新型控制器時的兩種選擇——創(chuàng)建或購買——并且討論了與這兩種方式相關(guān)的技術(shù)和經(jīng)濟風險。
自定義的嵌入式系統(tǒng)設計——“創(chuàng)建”的方式
在開發(fā)之前,您必須為系統(tǒng)的核心控制器選擇一種處理器技術(shù)。例如如下所列舉的五種技術(shù):
微控制器-微控制器的成本極為低廉,并且通常在單一的芯片上提供了集成的解決方案,且包括I/O外圍設備。它們通常帶有極小的片上存儲容量,而且不易于用于復雜性高和需要擴展的場合。此外,其
時鐘速率通常是10M赫茲的數(shù)量級,因此您通常不能實現(xiàn)高性能的控制循環(huán)。
微處理器-利用微處理器,時鐘速率將更高而且通常具有外部存儲接口,因而性能和擴展性并不成問題。但是您的應用程序可能需要復雜的驅(qū)動開發(fā),因為它們通常并不帶有片上模擬外圍設備。此外,高密度的封裝技術(shù),例如球門陣列封裝(ball-grid array,即BGA)可能導致需要極為復雜的制造流程。這就增添了更為困難的硬件調(diào)試工作。
數(shù)字信號處理器(DSP)-DSP是一種專用的微處理器,它具有額外的指令以優(yōu)化特定的數(shù)學函數(shù),例如乘法和累加操作。DSP對于計算繁重的應用場合來說是極為有用的,但是您通常需要專業(yè)的知識來利用它的軟件性能。
專用集成電路(ASIC)-一款ASIC芯片是專為某個特定的應用而設計的,而不是為了通用的可編程性。ASIC廣泛被認為是一種極好的技術(shù)用來解決諸如功率消耗和產(chǎn)品成本等技術(shù)性問題。但是,極為昂貴的ASIC開發(fā)和制造流程通常讓人望而卻步,除了那些具有極大產(chǎn)量的產(chǎn)品。
現(xiàn)成可編程門陣列(FPGA)-FPGA 在自定義的ASIC設計和現(xiàn)成的技術(shù)之間提供了極好的平衡。它們具有高度的專有化性能,但是它們可以重新配置,因而您不會付出與開發(fā)ASIC相同的高昂制造成本。雖然您可以在廣泛的處理應用場合中使用FPGA,但是會遇到并不常見的復雜的FPGA設計,因為對于大部分習慣于使用C語言進行順序編程的嵌入式軟件開發(fā)者來說,VHDL編程格式顯得十分陌生。
在許多情況下,單一的處理器技術(shù)并不足以解決應用的需要。因此,近年來混合式架構(gòu)就變得極為流行。一種使用這種方式的架構(gòu)如圖1所示。實時處理器用來管理網(wǎng)絡通信和用戶界面,而FPGA則管理著與I/O組件和高速控制任務間的接口。這種混合式架構(gòu)在嵌入式系統(tǒng)設計中變得十分普遍。
圖1、混合式架構(gòu)在嵌入式系統(tǒng)設計中變得十分普遍
圖2、NI CompactRIO正是集成式嵌入式系統(tǒng)的一個實例
圖3、CompactRIO系統(tǒng)方框圖
做出決定-嵌入式系統(tǒng)設計中的“隱性”成本公式1、您可以使用簡單的公式來計算任何自定義系統(tǒng)的收支平衡點
因此就不要開發(fā)自定義的板卡了?當然不是。反而,對于那些需要極高專用化波形系數(shù)且具有極高產(chǎn)量的系統(tǒng)、或者具有極為苛刻技術(shù)要求(例如極低的功率消耗)的系統(tǒng)來說,當您評估對您產(chǎn)品成功至關(guān)重要的技術(shù)時它將節(jié)省您的辛苦付出。而在那些您使用現(xiàn)成技術(shù)的領(lǐng)域,可以讓供應商負擔物流和“隱性”成本從而使得您可以專注于技術(shù)差異化以獲得更優(yōu)的產(chǎn)品。