嵌入式系統(tǒng)設(shè)計的核心技術(shù)
1.處理器技術(shù)
處理器技術(shù)與實現(xiàn)系統(tǒng)功能的計算引擎結(jié)構(gòu)有關(guān),很多不可編程的數(shù)字系統(tǒng)也可以視為處理器,這些處理器的差別在于其面向特定功能的專用化程度,導(dǎo)致其設(shè)計指標與其它處理器不同。
(1)通用處理器
這類處理器可用于不同類型的應(yīng)用,一個重要的特征就是存儲程序,由于設(shè)計者不知道處理器將會運行何種運算,所以無法用數(shù)字電路建立程序。另一個特征就是通用的數(shù)據(jù)路徑,為了處理各類不同的計算,數(shù)據(jù)路徑是通用的,其數(shù)據(jù)路徑一般有大量的寄存器以及一個或多個通用的算術(shù)邏輯單元。設(shè)計者只需要對處理器的存儲器編程來執(zhí)行所需的功能,即設(shè)計相關(guān)的軟件。
在嵌入式系統(tǒng)中使用通用處理器具有設(shè)計指標上的一些優(yōu)勢。上市時間和NRE成本較低,因為設(shè)計者只需編寫程序,而不需要做任何數(shù)字設(shè)計,靈活性高,功能的改變通過修改程序進行即可。與自行設(shè)計處理器相比,數(shù)量少時單位成本較低。
當(dāng)然,這種方式也有一些設(shè)計指標上的缺陷,數(shù)量大時的單位成本相對較高,因為數(shù)量大時,自行設(shè)計的NRE成本分攤下來,可降低單位成本。同時,對于某些應(yīng)用,性能可能很差。由于包含了非必要的處理器硬件,系統(tǒng)的體積和功耗可能變大。
(2)單用途處理器
單用途處理器是設(shè)計用于執(zhí)行特定程序的數(shù)字電路,也指協(xié)處理器、加速器、外設(shè)等。如JPEG編碼解碼器執(zhí)行單一程序,壓縮或解壓視頻信息。嵌入式系統(tǒng)設(shè)計者可通過設(shè)計特定的數(shù)字電路來建立單用途的處理器。設(shè)計者也可以采用預(yù)先設(shè)計好的商品化的單用途處理器。
在嵌入式系統(tǒng)中使用單用途處理器,在指標上有一些優(yōu)缺點。這些優(yōu)缺點與通用處理器基本相反,性能可能更好,體積與功率可能較小,數(shù)量大時的單位成本可能較低,而設(shè)計時間與NRE成本可能較高,靈活性較差,數(shù)量小時的單位成本較高,對某些應(yīng)用性能不如通用處理器。
(3)專用處理器
專用指令集處理器(ASIP)是一個可編程處理器,針對某一特定類型的應(yīng)用進行最優(yōu)化。這類特定應(yīng)用具有相同的特征,如嵌入式控制、數(shù)字信號處理等。在嵌入式系統(tǒng)中使用ASIP可以保證良好的性能、功率和大小的情況下,提供更大的靈活性,但這類處理器仍需要昂貴的NRE成本建立處理器本身和編譯器,單片機和數(shù)字信號處理器是兩類應(yīng)用廣泛的ASIP,數(shù)字信號處理器是一種針對數(shù)字信號進行常見運算的微處理器,而單片機是一種針對嵌入式控制應(yīng)用進行最佳化的微處理器,通??刂茟?yīng)用中的常見外設(shè),如串行通信外設(shè)、定時器、計數(shù)器、脈寬調(diào)制器及數(shù)/模轉(zhuǎn)換器等都集成到了微處理器芯片上,從而使得產(chǎn)品的體積更小、成本更低。
2.IC技術(shù)
(1)全定制/VLSI
在全定制IC技術(shù)中,需要根據(jù)特定的嵌入式系統(tǒng)的數(shù)字實現(xiàn)來優(yōu)化各層設(shè)計人員從晶體管的版圖尺寸、位置、連線開始設(shè)計以達到芯片面積利用率高、速度快、功耗低的最優(yōu)化性能。利用掩膜在制造廠生產(chǎn)實際芯片,全定制的IC設(shè)計也常稱為大規(guī)模集成電路設(shè)計(VLSI),具有很高的NRE成本、很長的制造時間,適用于大量或?qū)π阅芤髧栏竦膽?yīng)用。
(2)半定制ASIC
半定制ASIC是一種約束型設(shè)計方法,包括門陣列設(shè)計法和標準單元設(shè)計法。它是在芯片制作好一些具有通用性的單元元件和元件組的半成品硬件,設(shè)計者僅需要考慮電路的邏輯功能和各功能模塊之間的合理連接即可。這種設(shè)計方法靈活方便、性價比高,縮短了設(shè)計周期,提高了成品率。
(3)可編程ASIC
可編程器件中所有各層都已經(jīng)存在,設(shè)計完成后,在實驗室里即可燒制出設(shè)計的芯片,不需要IC廠家參與,開發(fā)周期顯著縮短??删幊藺SIC具有較低的NRE成本,單位成本較高,功耗較大,速度較慢。
3.設(shè)計/驗證技術(shù)
嵌入式系統(tǒng)的設(shè)計技術(shù)主要包括硬件設(shè)計技術(shù)和軟件設(shè)計技術(shù)兩大類。其中,硬件設(shè)計領(lǐng)域的技術(shù)主要包括芯片級設(shè)計技術(shù)和電路板級設(shè)計技術(shù)兩個方面。
芯片級設(shè)計技術(shù)的核心是編譯/綜合、庫/IP、測試/驗證。編譯/綜合技術(shù)使設(shè)計者用抽象的方式描述所需的功能,并自動分析和插入實現(xiàn)細節(jié)。庫/IP技術(shù)將預(yù)先設(shè)計好的低抽象級實現(xiàn)用于高級。測試/驗證技術(shù)確保每級功能正確,減少各級之間反復(fù)設(shè)計的成本。
軟件設(shè)計技術(shù)的核心是軟件語言。軟件語言經(jīng)歷了從低級語言(機器語言、匯編語言)到高級語言(如結(jié)構(gòu)化設(shè)計語言、面向?qū)ο笤O(shè)計語言)的發(fā)展歷程,推動其發(fā)展的是匯編技術(shù)、分析技術(shù)、編譯/解釋技術(shù)等諸多相關(guān)技術(shù)。軟件語言的級別也從實現(xiàn)級、設(shè)計級、功能級逐漸向需求級語言發(fā)展過渡。
早期,隨著通用處理器概念的逐漸形成,軟件技術(shù)迅速發(fā)展,軟件的復(fù)雜度也開始增加,軟件設(shè)計和硬件設(shè)計的技術(shù)和領(lǐng)域完全分開。設(shè)計技術(shù)和工具在這兩個領(lǐng)域同步得到發(fā)展,也使得行為描述可以在越來越抽象的級別上進行,以適應(yīng)設(shè)計復(fù)雜度不斷增長的需要。這種同步發(fā)展如今又使得這兩領(lǐng)域都在使用同樣的時序模型來描述行為,因而這兩領(lǐng)域再度統(tǒng)一為一個領(lǐng)域即將成為可能。
評論