如今,物聯(lián)網(wǎng)、AI、5G的發(fā)展都離不開嵌入式系統(tǒng),它就好比一個(gè)樂高拼圖,只要你會(huì)“玩”,就會(huì)發(fā)生意想不到的性能。那么到底什么是嵌入式系統(tǒng)?下面就給大家科普一下。
想要了解它的組成就先要知道它是如何成長(zhǎng)的。
第一個(gè)微處理器誕生于20 世紀(jì)70 年代初,是由成立3年的Intel推出的4004CPU,4位微處理器,10微米工藝。如今,嵌入式系統(tǒng)發(fā)展已有50年的歷史,大體上歷經(jīng)了四個(gè)階段:
一、無操作系統(tǒng)階段
基于初單片機(jī)上,多數(shù)以編程控制器的形式出現(xiàn),這一時(shí)期,一般沒有操作系統(tǒng)相關(guān)支持,只有通過匯編語言對(duì)系統(tǒng)進(jìn)行直接的控制,當(dāng)然在相關(guān)運(yùn)行結(jié)束之后再清除內(nèi)存。
主要特點(diǎn)是:系統(tǒng)機(jī)構(gòu)和功能相對(duì)都比較單一,處理效率較低、儲(chǔ)存量小,幾乎沒有用戶接口,由于具備以上特性,曾經(jīng)被工業(yè)領(lǐng)域廣泛認(rèn)可。
二、簡(jiǎn)單的操作系統(tǒng)階段
高可靠、低耗能的嵌入式CPU。
特點(diǎn):嵌入式操作系統(tǒng)比較簡(jiǎn)單,但已初步具備一定的兼容性和擴(kuò)展性,對(duì)控制系統(tǒng)負(fù)載以及監(jiān)控應(yīng)用程序的運(yùn)行有一定作用。
三、實(shí)時(shí)操作系統(tǒng)階段
在數(shù)字化通信和信息家電等巨大需求的牽引下,隨著硬件實(shí)時(shí)性要求的提高,嵌入式系統(tǒng)的軟件規(guī)模也在不斷擴(kuò)大,這一時(shí)期操作系統(tǒng)的實(shí)行性得到了很大的改善。
特點(diǎn):可在不同類型的微處理器上,實(shí)現(xiàn)高度的模塊化和擴(kuò)展性運(yùn)行,以此使得應(yīng)用軟件的開發(fā)變的更加簡(jiǎn)單。
四、面向internet階段
嵌入式設(shè)備與internet的完美結(jié)合才是嵌入式技術(shù)的真正未來,在這個(gè)信息時(shí)代和數(shù)字時(shí)代里,為嵌入式系統(tǒng)的開發(fā)帶來了巨大的機(jī)遇,同時(shí)對(duì)于嵌入式系統(tǒng)提供商來講也是新的挑戰(zhàn)。
嵌入式系統(tǒng)構(gòu)成:麻雀雖小五臟俱全
如果按照書本定義,嵌入式指的是把軟件直接燒錄在硬件里,而不是安裝在外部存儲(chǔ)介質(zhì)上。IEEE(美國(guó)電氣和電子工程師協(xié)會(huì))對(duì)嵌入式系統(tǒng)的定義是:“嵌入式系統(tǒng),是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適用于對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)?!?/p>
以應(yīng)用為中心,嵌入式系統(tǒng)是有明確實(shí)際用途的。以計(jì)算機(jī)技術(shù)為基礎(chǔ),說明它其實(shí)就是一種特殊的計(jì)算機(jī)。軟硬件可裁剪,說明它有很強(qiáng)的靈活性和可定制能力。
專用計(jì)算機(jī)系統(tǒng)的“專用”是什么意思。先說“通用”,就是指我們常用的個(gè)人PC、筆記本電腦、數(shù)據(jù)中心服務(wù)器,可以用于多種用途,就是“通用計(jì)算機(jī)系統(tǒng)”。那么嵌入式系統(tǒng)究竟具體應(yīng)用于哪些“專用”方向呢?
比較貼近生活的嵌入式產(chǎn)品,如智能手機(jī)、智能冰箱、電梯、汽車導(dǎo)航等;又如一些高大上的產(chǎn)品,谷歌眼鏡、數(shù)字電視、智能醫(yī)療、智能手表。當(dāng)然還有很多很多。
嵌入式系統(tǒng)就是以處理器(CPU)為核心,依靠總線(Bus)進(jìn)行連接的多模塊系統(tǒng):
一個(gè)嵌入式系統(tǒng)大體可以分為:
硬件系統(tǒng)
中間層
軟件系統(tǒng)
應(yīng)用層
這張圖含蓋了嵌入式系統(tǒng)的基本構(gòu)成:
在硬件層里面的主要分為:嵌入式處理器、存儲(chǔ)器、模擬電路、電源、接口控制器、接插件等。
其核心是嵌入式微處理器。
嵌入式微處理器與通用CPU最大的不同在于嵌入式微處理器大多工作在為特定用戶群所專用設(shè)計(jì)的系統(tǒng)中,它將通用CPU許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計(jì)時(shí)趨于小型化,同時(shí)還具有很高的效率和可靠性。
嵌入式微處理器的體系結(jié)構(gòu)可以采用馮·諾依曼體系[1]或哈佛體系結(jié)構(gòu);指令系統(tǒng)可以選用精簡(jiǎn)指令系統(tǒng)(RISC)和復(fù)雜指令系統(tǒng)(CISC)。其中RISC目前最為火熱,這種架構(gòu)只包含最有用的指令,確保數(shù)據(jù)通道快速執(zhí)行每一條指令,從而提高了執(zhí)行效率并使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單。 嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時(shí)鐘頻率和數(shù)據(jù)總線寬度,或集成了不同的外設(shè)和接口。目前全世界嵌入式微處理器已經(jīng)超過1000多種,體系結(jié)構(gòu)有30多個(gè)系列,其中主流體系有arm、MIPS、PowerPC、X86和SH等。
在嵌入式領(lǐng)域,arm架構(gòu)的處理器占據(jù)了半壁江山,而它卻沒有生產(chǎn)任何處理器,而只是提供了IP。
嵌入式微處理器有以下特點(diǎn):
1)對(duì)實(shí)時(shí)多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)內(nèi)核心的執(zhí)行時(shí)間減少到最低限度。
2)具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯(cuò)誤的交叉作用,需要設(shè)計(jì)強(qiáng)大的存儲(chǔ)區(qū)保護(hù)功能,同時(shí)也有利于軟件診斷。
3)可擴(kuò)展的處理器結(jié)構(gòu),以能最迅速地開展出滿足應(yīng)用的最高性能的嵌入式微處理器。
4)嵌入式微處理器必須功耗很低,尤其是用于便攜式的無線及移動(dòng)的計(jì)算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,功耗只有mW甚至μW級(jí)。
你是否把單片機(jī)和嵌入式處理器搞混?
還有一個(gè)叫做嵌入式微控制器MCU,MCU內(nèi)部集成ROM/RAM、總線邏輯、定時(shí)/計(jì)數(shù)器、看門狗、I/O、串口、A/D、D/A、FLASH等。典型代表是8051、8096、C8051F等。
其實(shí)MCU就是所謂的單片機(jī)。單片機(jī)就是將CPU、存儲(chǔ)器、定時(shí)計(jì)數(shù)器、I/O接口電路等集成在一塊芯片上,體積小,功耗小,叫做單片微型計(jì)算機(jī)。因?yàn)閱纹瑱C(jī)體積很小可以植入任何微小的設(shè)備、儀表當(dāng)中,被廣泛作為這些微小設(shè)備儀表的控制器,所以單片機(jī)又可稱作嵌入式微控制器。
典型產(chǎn)品:51單片機(jī)、STM32
嵌入式系統(tǒng)是一個(gè)大類,單片機(jī)是其中一個(gè)重要的子類。嵌入式系統(tǒng)像是一個(gè)完整的計(jì)算機(jī),而單片機(jī)更像是一個(gè)沒有外設(shè)的計(jì)算機(jī)?,F(xiàn)在各種硬件功能都能被做進(jìn)單片機(jī)之中。所以,嵌入式系統(tǒng)和單片機(jī)之間的硬件區(qū)別越來越小,分界線也越來越模糊。
單片機(jī)與嵌入式處理器最大區(qū)別
單片機(jī)的存儲(chǔ)空間和嵌入式處理器不是一個(gè)等級(jí),單片機(jī)通常片內(nèi)存儲(chǔ)只有幾k大小,而由于外設(shè)的限制也不太可能大范圍增加外設(shè)嵌入式多媒體控制器emmc,而嵌入式處理器通常有幾百兆的RAM,如此巨大的差別導(dǎo)致單片機(jī)幾乎不可能像嵌入式處理器那樣運(yùn)行操作系統(tǒng),甚至連TCP/IP協(xié)議棧和USB協(xié)議棧都跑不起來,一些高端的單片機(jī)比如ST的STM32系列,可能可以跑一些輕量級(jí)系統(tǒng)os和嵌入式網(wǎng)絡(luò)協(xié)議棧,比如IwIP協(xié)議棧。
此外,嵌入式處理器豐富強(qiáng)大的性能決定它能完成更多單片機(jī)不能完成的應(yīng)用,比如網(wǎng)絡(luò)通信功能,視頻傳輸處理功能等,而當(dāng)外設(shè)存儲(chǔ)增加后,嵌入式處理器能夠輕松運(yùn)行各種Linux系統(tǒng),以及圖形GUI界面。
其余部件
存儲(chǔ)器:嵌入式系統(tǒng)需要存儲(chǔ)器來存放和執(zhí)行代碼。包含Cache、主存(ROM和RAM)和輔助存儲(chǔ)器。
嵌入式外圍硬件設(shè)備:串口、以太網(wǎng)接口、USB、音頻接口、液晶顯示屏、攝像頭等。
除此之外,還有專門用于信號(hào)處理的嵌入式DSP處理器(Digital Signal Processor)以及嵌入式片上系統(tǒng)SoC。
下圖是一個(gè)嵌入式系統(tǒng)的實(shí)物樣例:
中間偏左上角是CPU,中間是RAM,然后還有ROM、網(wǎng)卡、串口、電源等??梢钥闯?,嵌入式系統(tǒng)麻雀雖小,五臟俱全。
軟件層
軟件層很好理解,它是一種用途廣泛的系統(tǒng)軟件,由實(shí)時(shí)多任務(wù)操作系統(tǒng)(RTOS)、文件系統(tǒng)、圖形用戶接口、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺(tái)。主要有:嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II、嵌入式Linux、Windows、VxWorks等,以及應(yīng)用在智能手機(jī)和平板電腦的Android、iOS等。
嵌入式中間層
所謂中間層就是軟件層和硬件層之間的接口層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或板級(jí)支持包(Board Support Package,BSP),它將系統(tǒng)上層軟件與底層硬件分離開來,使系統(tǒng)的底層驅(qū)動(dòng)程序與硬件無關(guān),上層軟件開發(fā)人員無需關(guān)心底層硬件的具體情況,根據(jù)BSP 層提供的接口即可進(jìn)行開發(fā)。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。