24小時(shí)聯(lián)系電話:18217114652、13661815404
中文
技術(shù)專題
嵌入式系統(tǒng)
嵌入式系統(tǒng)
嵌入式系統(tǒng)是為特定功能而設(shè)計(jì)的計(jì)算機(jī)硬件和軟件的組合。嵌入式系統(tǒng)也可以在更大的系統(tǒng)中運(yùn)行。該系統(tǒng)可以是可編程的或具有固定的功能。工業(yè)機(jī)器,消費(fèi)電子產(chǎn)品,農(nóng)業(yè)和加工業(yè)設(shè)備,汽車,醫(yī)療設(shè)備,照相機(jī),數(shù)字手表,家用電器,飛機(jī),自動(dòng)售貨機(jī)和玩具以及移動(dòng)設(shè)備都是嵌入式系統(tǒng)的可能位置。
盡管嵌入式系統(tǒng)是計(jì)算系統(tǒng),但是它們的范圍可以從沒有用戶界面(UI)(例如在設(shè)計(jì)為執(zhí)行單個(gè)任務(wù)的設(shè)備上)到復(fù)雜的圖形用戶界面(GUI),例如在移動(dòng)設(shè)備中。 用戶界面可以包括 按鈕,LED(發(fā)光二極管)和觸摸屏感應(yīng)。一些系統(tǒng)也使用遠(yuǎn)程用戶界面。
企業(yè)對(duì)企業(yè)(B2B)研究公司MarketsandMarkets預(yù)測(cè),到2025年,嵌入式市場(chǎng)的價(jià)值將達(dá)到1162億美元。嵌入式系統(tǒng)的芯片制造商包括許多知名的技術(shù)公司。預(yù)期的增長(zhǎng)部分歸因于對(duì) 人工智能(AI),移動(dòng)計(jì)算的持續(xù)投資以及對(duì)用于高級(jí)處理的芯片的需求。
嵌入式系統(tǒng)的例子
嵌入式系統(tǒng)被用于各行各業(yè)的多種技術(shù)中。一些示例包括:
汽車?,F(xiàn)代汽車通常由許多計(jì)算機(jī)(有時(shí)多達(dá)100臺(tái))或嵌入式系統(tǒng)組成,這些計(jì)算機(jī)旨在執(zhí)行車輛內(nèi)的不同任務(wù)。這些系統(tǒng)中的一些執(zhí)行基本的實(shí)用程序功能,而其他一些則提供娛樂或面向用戶的功能。消費(fèi)類汽車中的一些嵌入式系統(tǒng)包括巡航控制,后備傳感器,懸架控制,導(dǎo)航系統(tǒng)和安全氣囊系統(tǒng)。
手機(jī)。它們由許多嵌入式系統(tǒng)組成,包括GUI軟件和硬件,操作系統(tǒng)(OSes),相機(jī),麥克風(fēng)和USB(通用串行總線)I / O(輸入/輸出)模塊。
工業(yè)機(jī)械。它們可以包含嵌入式系統(tǒng)(例如傳感器),也可以是嵌入式系統(tǒng)本身。工業(yè)機(jī)器通常具有執(zhí)行特定監(jiān)視和控制功能的嵌入式自動(dòng)化系統(tǒng)。
醫(yī)療器材。這些可能包含嵌入式系統(tǒng),例如傳感器和控制機(jī)制。醫(yī)療設(shè)備(例如工業(yè)機(jī)器)也必須非常易于使用,以免因可預(yù)防的機(jī)器錯(cuò)誤而危害人類健康。這意味著它們通常會(huì)包括為適當(dāng)?shù)?span lang="EN-US">UI設(shè)計(jì)的更復(fù)雜的OS和GUI。
嵌入式系統(tǒng)如何工作?
嵌入式系統(tǒng)始終充當(dāng)完整設(shè)備的一部分-這就是術(shù)語“嵌入式”的含義。它們是嵌入在其他機(jī)械或電氣系統(tǒng)中的低成本,低功耗的小型計(jì)算機(jī)。通常,它們包括處理器,電源以及內(nèi)存和通信端口。嵌入式系統(tǒng)使用通信端口通過通信協(xié)議在處理器和外圍設(shè)備(通常是其他嵌入式系統(tǒng))之間傳輸數(shù)據(jù)。處理器借助存儲(chǔ)在存儲(chǔ)器中的最少軟件來解釋此數(shù)據(jù)。該軟件通常高度特定于嵌入式系統(tǒng)所服務(wù)的功能。
處理器可以是微處理器或微控制器。微控制器只是帶有外圍接口和集成存儲(chǔ)器的微處理器。微處理器將單獨(dú)的集成電路用于存儲(chǔ)器和外圍設(shè)備,而不是將其包括在芯片中。兩者都可以使用,但是與微處理器相比,微處理器通常需要更多的支持電路,因?yàn)榧傻轿⑻幚砥髦械妮^少。經(jīng)常使用術(shù)語片上系統(tǒng)(SoC)。SoC在單個(gè)芯片上包含多個(gè)處理器和接口。它們通常用于大容量嵌入式系統(tǒng)。SoC的一些示例類型是專用集成電路(ASIC)和現(xiàn)場(chǎng)可編程門陣列(FPGA)。
通常,嵌入式系統(tǒng)用于實(shí)時(shí)操作環(huán)境中,并使用實(shí)時(shí)操作系統(tǒng)(RTOS)與硬件進(jìn)行通信。準(zhǔn)實(shí)時(shí)技術(shù)適用于更高級(jí)別的芯片能力,這是由越來越多的設(shè)計(jì)人員定義的,他們?cè)絹碓秸J(rèn)為系統(tǒng)通常足夠快并且可以承受反應(yīng)的微小變化。在這些情況下,通常會(huì)部署精簡(jiǎn)版的Linux操作系統(tǒng),盡管已經(jīng)精簡(jiǎn)了其他操作系統(tǒng)以在嵌入式系統(tǒng)上運(yùn)行,包括嵌入式Java和Windows IoT(以前稱為Windows Embedded)。
嵌入式系統(tǒng)的特點(diǎn)
嵌入式系統(tǒng)的主要特征是它們是特定于任務(wù)的。
此外,嵌入式系統(tǒng)可以包括以下特征:
通常由硬件,軟件和固件組成;
可以嵌入更大的系統(tǒng)中以執(zhí)行特定功能,因?yàn)樗鼈兪菫橄到y(tǒng)內(nèi)的特殊任務(wù)而不是各種任務(wù)而構(gòu)建的;
可以是基于微處理器的,也可以是基于微控制器的-兩者都是使系統(tǒng)具有計(jì)算能力的集成電路;
通常用于物聯(lián)網(wǎng)(IoT)設(shè)備中的感應(yīng)和實(shí)時(shí)計(jì)算,這些設(shè)備是Internet連接的設(shè)備,不需要用戶進(jìn)行操作;
可能會(huì)在復(fù)雜性和功能上有所不同,從而影響他們使用的軟件,固件和硬件的類型;和
通常需要它們?cè)谝欢ǖ臅r(shí)間限制下執(zhí)行其功能,以保持較大的系統(tǒng)正常運(yùn)行。
嵌入式系統(tǒng)的結(jié)構(gòu)
嵌入式系統(tǒng)的復(fù)雜度各不相同,但通常由三個(gè)主要元素組成:
硬件。嵌入式系統(tǒng)的硬件基于微處理器和微控制器。微處理器與微控制器非常相似,通常指與其他基本計(jì)算組件(例如存儲(chǔ)芯片和數(shù)字信號(hào)處理器(DSP))集成在一起的CPU(中央處理單元)。微控制器將這些組件內(nèi)置在一個(gè)芯片中。
軟件和固件。嵌入式系統(tǒng)的軟件復(fù)雜度可能會(huì)有所不同。但是,工業(yè)級(jí)微控制器和嵌入式IoT系統(tǒng)通常運(yùn)行非常簡(jiǎn)單的軟件,幾乎不需要內(nèi)存。
實(shí)時(shí)操作系統(tǒng)。這些并不總是包含在嵌入式系統(tǒng)中,尤其是規(guī)模較小的系統(tǒng)中。RTOS通過在程序執(zhí)行期間監(jiān)督軟件和設(shè)置規(guī)則來定義系統(tǒng)的工作方式。
在硬件方面,基本的嵌入式系統(tǒng)將包含以下元素:
傳感器將物理感應(yīng)數(shù)據(jù)轉(zhuǎn)換為電信號(hào)。
模數(shù)(AD)轉(zhuǎn)換器將模擬電信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。
處理器處理數(shù)字信號(hào)并將其存儲(chǔ)在內(nèi)存中。
數(shù)模(DA)轉(zhuǎn)換器將來自處理器的數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為模擬數(shù)據(jù)。
執(zhí)行器將實(shí)際輸出與存儲(chǔ)器存儲(chǔ)的輸出進(jìn)行比較,然后選擇正確的輸出。
傳感器讀取外部輸入,轉(zhuǎn)換器使該輸入對(duì)處理器可讀,然后處理器將這些信息轉(zhuǎn)換成對(duì)嵌入式系統(tǒng)有用的輸出。
嵌入式系統(tǒng)的類型
有幾種基本的嵌入式系統(tǒng)類型,它們?cè)诠δ芤笊嫌兴煌?。他們是?span lang="EN-US">
移動(dòng)嵌入式系統(tǒng)是設(shè)計(jì)為便攜式的小型系統(tǒng)。數(shù)碼相機(jī)就是一個(gè)例子。
網(wǎng)絡(luò)嵌入式系統(tǒng)連接到網(wǎng)絡(luò)以向其他系統(tǒng)提供輸出。示例包括家庭安全系統(tǒng)和銷售點(diǎn)(POS)系統(tǒng)。
獨(dú)立嵌入式系統(tǒng)不依賴于主機(jī)系統(tǒng)。像任何嵌入式系統(tǒng)一樣,它們執(zhí)行專門的任務(wù)。但是,與其他嵌入式系統(tǒng)不同,它們不一定屬于主機(jī)系統(tǒng)。計(jì)算器或MP3播放器就是一個(gè)例子。
實(shí)時(shí)嵌入式系統(tǒng)在定義的時(shí)間間隔內(nèi)提供所需的輸出。它們經(jīng)常用于醫(yī)療,工業(yè)和軍事領(lǐng)域,因?yàn)樗鼈冐?fù)責(zé)時(shí)間緊迫的任務(wù)。交通控制系統(tǒng)就是一個(gè)例子。
嵌入式系統(tǒng)也可以根據(jù)其性能要求進(jìn)行分類:
小型嵌入式系統(tǒng)通常只使用8位微控制器。
中型嵌入式系統(tǒng)使用較大的微控制器(16-32位),并且經(jīng)常將微控制器鏈接在一起。
復(fù)雜的嵌入式系統(tǒng)通常使用幾種算法,導(dǎo)致軟件和硬件復(fù)雜,并且可能需要更復(fù)雜的軟件,可配置的處理器和/或可編程的邏輯陣列。
有幾種常見的嵌入式系統(tǒng)軟件體系結(jié)構(gòu),隨著嵌入式系統(tǒng)的發(fā)展和規(guī)模的日益復(fù)雜化,這些體系結(jié)構(gòu)變得必不可少。這些包括:
簡(jiǎn)單的控制循環(huán)調(diào)用子例程,該子例程管理硬件或嵌入式編程的特定部分。
中斷控制系統(tǒng)有兩個(gè)循環(huán):一個(gè)主循環(huán)和一個(gè)次循環(huán)。循環(huán)中斷會(huì)觸發(fā)任務(wù)。
協(xié)作多任務(wù)本質(zhì)上是位于應(yīng)用程序編程接口(API)中的簡(jiǎn)單控制循環(huán)。
搶占式多任務(wù)或多線程通常與RTOS一起使用,并具有同步和任務(wù)切換策略。
超大規(guī)模集成(VLSI)是一個(gè)描述集成電路(IC)復(fù)雜性的術(shù)語。VLSI是將數(shù)十萬個(gè)晶體管嵌入芯片的過程,而LSI(大規(guī)模集成)微芯片包含數(shù)千個(gè)晶體管,MSI(中等規(guī)模集成)包含數(shù)百個(gè)晶體管,而SSI(小規(guī)模集成)包含數(shù)十個(gè)晶體管。ULSI或超大規(guī)模集成是指在芯片上放置數(shù)百萬個(gè)晶體管。
VLSI電路是嵌入式系統(tǒng)的常見功能。嵌入式系統(tǒng)中的許多IC都是VLSI,而VLSI首字母縮略詞的使用已大失所望。
調(diào)試嵌入式系統(tǒng)
一個(gè)領(lǐng)域,與其他較大規(guī)模的計(jì)算機(jī)的操作系統(tǒng)和開發(fā)環(huán)境嵌入式系統(tǒng)的一部分的方式是在該地區(qū)的調(diào)試。通常,與臺(tái)式計(jì)算機(jī)環(huán)境一起工作的開發(fā)人員擁有的系統(tǒng)既可以運(yùn)行正在開發(fā)的代碼,又可以運(yùn)行單獨(dú)的調(diào)試器應(yīng)用程序,而這些調(diào)試器應(yīng)用程序通常不能監(jiān)視嵌入式系統(tǒng)程序員。
一些編程語言以足夠高的效率在微控制器上運(yùn)行,從而可以在芯片上直接進(jìn)行基本的交互式調(diào)試。此外,處理器通常具有可通過JTAG或類似調(diào)試端口進(jìn)行控制(從而控制程序執(zhí)行)的CPU調(diào)試器。
但是,在許多情況下,程序員需要通過串行端口或其他端口將單獨(dú)的調(diào)試系統(tǒng)連接到目標(biāo)系統(tǒng)的工具。在這種情況下,程序員可以在通用計(jì)算機(jī)的屏幕上看到源代碼,就像在臺(tái)式計(jì)算機(jī)上調(diào)試軟件一樣。另一種常用的方法是在PC上運(yùn)行軟件,以模擬軟件中的物理芯片。本質(zhì)上,這使調(diào)試軟件的性能成為可能,就像它在實(shí)際的物理芯片上運(yùn)行一樣。
廣義上講,嵌入式系統(tǒng)已被更多地關(guān)注于測(cè)試和調(diào)試,因?yàn)榇罅渴褂们度胧娇丶脑O(shè)備是為使用而設(shè)計(jì)的,尤其是在安全性和可靠性為重中之重的情況下。
嵌入式系統(tǒng)的歷史
嵌入式系統(tǒng)的歷史可以追溯到1960年代。查爾斯·史塔克·德雷珀(Charles
Stark Draper)于1961年開發(fā)了一種集成電路,以減小阿波羅制導(dǎo)計(jì)算機(jī)(安裝在阿波羅指揮模塊和月球模塊上的數(shù)字系統(tǒng))的尺寸和重量。第一臺(tái)使用IC的計(jì)算機(jī),它幫助宇航員收集實(shí)時(shí)飛行數(shù)據(jù)。
1965年,現(xiàn)為波音公司一部分的Autonetics公司開發(fā)了D-17B,這是一種用于Minuteman I導(dǎo)彈制導(dǎo)系統(tǒng)的計(jì)算機(jī)。它被公認(rèn)為第一個(gè)大規(guī)模生產(chǎn)的嵌入式系統(tǒng)。1966年民兵II投入生產(chǎn)時(shí),D-17B被NS-17導(dǎo)彈制導(dǎo)系統(tǒng)所取代,該系統(tǒng)以大量使用集成電路而著稱。1968年,第一個(gè)車載嵌入式系統(tǒng)問世。大眾1600使用微處理器來控制其電子燃油噴射系統(tǒng)。
到1960年代末和1970年代初,集成電路的價(jià)格下降,使用量激增。第一個(gè)微控制器是由德州儀器(Texas Instruments)于1971年開發(fā)的。TMS1000系列于1974年商用,它包含一個(gè)4位處理器,只讀存儲(chǔ)器(ROM)和隨機(jī)存取存儲(chǔ)器(RAM),價(jià)格約為2美元。批量訂購(gòu)。
同樣,在1971年,英特爾發(fā)布了被公認(rèn)為第一個(gè)商用處理器,即4004。4位微處理器設(shè)計(jì)用于計(jì)算器和小型電子設(shè)備,盡管它需要永恒的內(nèi)存和支持芯片。1972年發(fā)布的8位Intel 8008具有16 KB的內(nèi)存。隨后是1974年的Intel
8080,具有64 KB的內(nèi)存。8080的后繼產(chǎn)品x86系列于1978年發(fā)布,至今仍在大量使用。
1987年,Wind River發(fā)布了第一個(gè)嵌入式操作系統(tǒng)實(shí)時(shí)VxWorks,隨后在1996年發(fā)布了Microsoft的Windows Embedded CE。到1990年代后期,第一個(gè)嵌入式Linux產(chǎn)品開始出現(xiàn)。如今,幾乎所有嵌入式設(shè)備都使用Linux。
嵌入式系統(tǒng)趨勢(shì)
盡管某些嵌入式系統(tǒng)可能相對(duì)簡(jiǎn)單,但它們卻變得越來越復(fù)雜,并且越來越多的嵌入式系統(tǒng)現(xiàn)在能夠代替人為的決策或提供超出人所能提供的功能。例如,某些航空系統(tǒng),包括在無人機(jī)中使用的那些系統(tǒng),能夠集成傳感器數(shù)據(jù)并以比人類更快的速度作用于該信息,從而允許新型的操作功能。
嵌入式系統(tǒng)預(yù)計(jì)將繼續(xù)快速增長(zhǎng),這在很大程度上是由物聯(lián)網(wǎng)驅(qū)動(dòng)的。預(yù)計(jì)可擴(kuò)展的物聯(lián)網(wǎng)應(yīng)用(例如可穿戴設(shè)備,無人機(jī),智能家居,智能建筑,視頻監(jiān)控,3D打印機(jī)和智能交通)將推動(dòng)嵌入式系統(tǒng)的增長(zhǎng)。