你了解嵌入式系統(tǒng)的組成結(jié)構(gòu)嗎?
嵌入式系統(tǒng)的核心計(jì)算系統(tǒng)可以抽象出一個(gè)典型的組成模型:硬件層、中間層、軟件層和功能層。那么我們來(lái)一一看下這些結(jié)構(gòu)有哪些特點(diǎn)吧。
1.硬件層
硬件層中包含嵌入式微處理器、存儲(chǔ)器(如 SDRAM、ROM、 Flash等)、通用設(shè)備接口和I/O接口(如A/D、D/A、I/O等)。在一片嵌入式處理器基礎(chǔ)上添加電源電路、時(shí)鐘電路和存儲(chǔ)器電路,就構(gòu)成了一個(gè)嵌入式核心控制模塊。其中,操作系統(tǒng)和應(yīng)用程序都可以固化在ROM中。
(1)嵌入式微處理器
嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU的不同在于嵌入式微處理器大多工作在為特定用戶群所專門設(shè)計(jì)的系統(tǒng)中,它將通用CPU許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計(jì)時(shí)趨于小型化,同時(shí)還具有很高的效率和可靠性。
嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時(shí)鐘頻率和數(shù)據(jù)總線寬度,或集成了不同的外設(shè)和接口。據(jù)不完全統(tǒng)計(jì),目前全世界嵌入式微處理器已經(jīng)超過1000多種,體系結(jié)構(gòu)有30多個(gè)系列,其中主流的體系有ARM、MIPS( Microprocessor without Interlocked Piped Stages,無(wú)互鎖流水級(jí)的微處理器)/Power PC、X86、SH等。
(2)存儲(chǔ)器
嵌入式系統(tǒng)需要存儲(chǔ)器來(lái)存放可執(zhí)行代碼和數(shù)據(jù)。嵌入式系統(tǒng)的存儲(chǔ)器包含Cache、內(nèi)存和外存。
① Cache: Cache是一種容量小、速度快的存儲(chǔ)器陣列,它位于內(nèi)存和嵌入式微處理器內(nèi)核之間,存放的是近一段時(shí)間微處理器使用多的程序代碼和數(shù)據(jù)。在嵌入式系統(tǒng)中,Cache全部集成在嵌入式微處理器內(nèi),可分為數(shù)據(jù)Cache、指令Cache和混合Cache, Cache的大小依不同處理器而定。
②內(nèi)存:位于微處理器的內(nèi)部,用來(lái)存放系統(tǒng)和用戶的程序及數(shù)據(jù)。片內(nèi)存儲(chǔ)器容量小、速度快。
③外存:外存用來(lái)存放大數(shù)據(jù)量的程序代碼或信息,它的容量大,但讀取速度與內(nèi)存相比慢很多,用來(lái)長(zhǎng)期保存用戶的信息。
嵌入式系統(tǒng)中常用的外存有硬盤、NAND Flash、CF卡、MMC、SD卡等。
(3)通用設(shè)備接口和I/O接口
嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口,如A/D、D/A、I/O等,外設(shè)通過和片外其他設(shè)備或傳感器的連接來(lái)實(shí)現(xiàn)微處理器的輸入/輸出功能。每個(gè)外設(shè)通常都只有單一的功能,它可以在芯片外也可以內(nèi)置芯片中。外設(shè)的種類很多,可從一個(gè)簡(jiǎn)單的串行通信設(shè)備到非常復(fù)雜的802.11無(wú)線設(shè)備。
目前,嵌入式系統(tǒng)中常用的通用設(shè)備接口有A/D(模/數(shù)轉(zhuǎn)換接口)、D/A(數(shù)/模轉(zhuǎn)換接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太網(wǎng)接口)、USB(通用串行總線接口)、音頻接口、VGA視頻輸出接口、I2C(現(xiàn)場(chǎng)總線)、SPI(串行外圍設(shè)備接口)、IrDA(紅外線接口)等
2.中間層
硬件層與軟件層之間為中間層,也稱為硬件抽象層( Hardware Abstract Layer,HAL)或板級(jí)支持包( Board support Package,BSP),它將系統(tǒng)上層軟件與底層硬件分離開來(lái),使系統(tǒng)的底層驅(qū)動(dòng)程序與硬件無(wú)關(guān),上層軟件開發(fā)人員無(wú)須關(guān)心底層硬件的具體情況,根據(jù)BSP層提供的接口即可進(jìn)行開發(fā)。該層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置功能。
實(shí)際上,BSP是一個(gè)介于操作系統(tǒng)和底層硬件之間的軟件層次,包括了系統(tǒng)中大部分與硬件聯(lián)系緊密的軟件模塊。設(shè)計(jì)一個(gè)完整的BSP需要完成兩部分工作:嵌入式系統(tǒng)的硬件初始化以及BSP功能,設(shè)計(jì)硬件相關(guān)的設(shè)備驅(qū)動(dòng)。
3.軟件層
軟件層由嵌入式操作系統(tǒng)( Embedded Operation System,EOS)、文件系統(tǒng)、圖形用戶接口( Graphic User Interface,GUI)、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成。EOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺(tái)。以下先介紹前三種。
(1)嵌入式操作系統(tǒng)
不同功能的嵌入式系統(tǒng)的復(fù)雜程度有很大不同。簡(jiǎn)單的嵌入式系統(tǒng)僅僅具有單一的功能,存儲(chǔ)器中的程序就是為了這一功能設(shè)計(jì)的,其系統(tǒng)處理核心也是單一任務(wù)處理器。復(fù)雜的嵌入式系統(tǒng)不僅功能強(qiáng)大,往往還配有嵌入式操作系統(tǒng),如功能強(qiáng)大的智能手機(jī)等,幾乎具有與微型計(jì)算機(jī)一樣的功能。
嵌入式操作系統(tǒng)( Embedded OperaTIon System,BOS)是一種用途廣泛的系統(tǒng)軟件,過去它主要應(yīng)用于工業(yè)控制和國(guó)防系統(tǒng)領(lǐng)域。EOS負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動(dòng)。它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來(lái)達(dá)到系統(tǒng)所要求的功能。目前,已推出一些應(yīng)用比較成功的EOS產(chǎn)品系列。隨著 Internet技術(shù)的發(fā)展、信息家電的普及應(yīng)用及EOS的微型化和專業(yè)化,EOS開始從單一的弱功能向高專業(yè)化的強(qiáng)功能方向發(fā)展。嵌入式操作系統(tǒng)在系統(tǒng)實(shí)時(shí)高效性、硬件的相關(guān)依賴性、軟件固化、應(yīng)用的專用性等方面具有較為突出的特點(diǎn)。
(2)文件系統(tǒng)
嵌入式文件系統(tǒng)比較簡(jiǎn)單,主要提供文件存儲(chǔ)、檢索、更新等功能,一般不提供保護(hù)、加密等安全機(jī)制。它以系統(tǒng)調(diào)用和命令方式提供文件的各種操作,主要有設(shè)置、修改對(duì)文件和目錄的存取權(quán)限,提供建立、修改、改變和刪除目錄等服務(wù),提供創(chuàng)建、打開、讀寫、關(guān)閉和撤銷文件等服務(wù)。
(3)圖形用戶接口
圖形用戶接口(GUI)的廣泛應(yīng)用是當(dāng)今計(jì)算機(jī)發(fā)展的重大成就之一,它極大地方便了非專業(yè)用戶的使用,人們從此不再需要死記硬背大量的命令,取而代之的是通過窗口、菜單、按鍵等方式來(lái)方便地進(jìn)行操作。而嵌入式GUI具有下面幾個(gè)方面的基本要求:輕型、占用資源少、高性能、高可靠性、便于移植、可配置等特點(diǎn)。
4.功能層
功能層也稱為應(yīng)用軟件層,應(yīng)用軟件是由基于實(shí)時(shí)系統(tǒng)開發(fā)的應(yīng)用程序組成,運(yùn)行在嵌入式操作系統(tǒng)之上,一般情況下與操作系統(tǒng)是分開的。應(yīng)用軟件用來(lái)實(shí)現(xiàn)對(duì)被控制對(duì)象的控制功能。功能層是要面對(duì)被控對(duì)象和用戶,為方便用戶操作,往往需要提供一個(gè)友好的人機(jī)界面。