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