詳解嵌入式系統知識和接口技術(shù)總結
一、什么是嵌入式
本文引用地址:http://dyxdggzs.com/article/201712/373674.htmIEEE(Institute of Electrical and Electronics Engineers,美國電氣和電子工程師協(xié)會(huì ))對嵌入式系統的定義:“用于控制、監視或者輔助操作機器和設備的裝置”。原文為:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。
嵌入式系統是一種專(zhuān)用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個(gè)控制程序存儲在ROM中的嵌入式處理器控制板。事實(shí)上,所有帶有數字接口的設備,如手表、微波爐、錄像機、汽車(chē)等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個(gè)程序實(shí)現整個(gè)控制邏輯。
從應用對象上加以定義,嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術(shù)為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專(zhuān)用計算機系統。
一個(gè)嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,嵌入式計算機系統是整個(gè)嵌入式系統的核心,由硬件層、中間層、系統軟件層和應用軟件層組成。執行裝置也稱(chēng)為被控對象,它可以接受嵌入式計算機系統發(fā)出的控制命令,執行所規定的操作或任務(wù)。
執行裝置可以很簡(jiǎn)單,如手機上的一個(gè)微小型的電機,當手機處于震動(dòng)接收狀態(tài)時(shí)打開(kāi);也可以很復雜,如SONY 智能機器狗,上面集成了多個(gè)微小型控制電機和多種傳感器,從而可以執行各種復雜的動(dòng)作和感受各種狀態(tài)信息。
二、嵌入式系統的組成
一、 硬件層
硬件層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備接口和I/O接口(A/D、D/A、I/O等)。在一嵌入式處理器基礎上添加電源電路、時(shí)鐘電路和存儲器電路,就構成了一個(gè)嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在ROM中.
二、 中間層
硬件層與軟件層之間為中間層,也稱(chēng)為硬件抽象層(Hardware Abstract Layer,HAL)或者板級支持包(Board Support Package,BSP),它半系統上層軟件與底層硬件分離開(kāi)來(lái),使系統的底層驅動(dòng)程序與硬件無(wú)關(guān),上層軟件開(kāi)發(fā)人員無(wú)需關(guān)心底層硬件的具體情況,根據BSP層提供的接口即可進(jìn)行開(kāi)發(fā)。該層一般包含相關(guān)底層硬件的初始化、數據的輸入/輸出操作和硬件設備的配置功能。
實(shí)際上,BSP是一個(gè)介于操作系統和底層硬件之間的軟件層次,包括了系統中大部分與硬件聯(lián)系緊密的軟件模塊。設計一個(gè)完整的BSP需要完成兩部分工作:嵌入工系統的硬件初始化的BSP功能,設計硬件相關(guān)的設備驅動(dòng)。
三、 系統軟件層
系統軟件層由實(shí)時(shí)多任務(wù)操作系統(Real-time Operation System,RTOS)、文件系統、圖形用戶(hù)接口(Graphic User Interface,GUI)、網(wǎng)絡(luò )系統及通用組件模塊組成。RTOS是嵌入式應用軟件的基礎和開(kāi)發(fā)平臺。
三、實(shí)時(shí)系統
定義:能在指定或確定的時(shí)間內完成系統功能和對外部或內部、同步或異步時(shí)間做出響應的系統。
區別:通用系統一般追求的是系統的平均響應時(shí)間和用戶(hù)的使用方便;而實(shí)時(shí)系統主要考慮的是在最壞情況下的系統行為。
特點(diǎn):時(shí)間約束性、可預測性、可靠性、與外部環(huán)境的交互性。
硬實(shí)時(shí)(強實(shí)時(shí)):指應用的時(shí)間需求應能夠得到完全滿(mǎn)足,否則就造成重大安全事故,甚至造成重大的生命財產(chǎn)損失和生態(tài)破壞,如:航天、軍事。
軟實(shí)時(shí)(弱實(shí)時(shí)):指某些應用雖然提出了時(shí)間的要求,但實(shí)時(shí)任務(wù)偶爾違反這種需求對系統運行及環(huán)境不會(huì )造成嚴重影響,如:監控系統、實(shí)時(shí)信息采集系統。
任務(wù)的約束包括:時(shí)間約束、資源約束、執行順序約束和性能約束。
四、實(shí)時(shí)系統的調度
調度:給定一組實(shí)時(shí)任務(wù)和系統資源,確定每個(gè)任務(wù)何時(shí)何地執行的整個(gè)過(guò)程。
搶占式調度:通常是優(yōu)先級驅動(dòng)的調度,如uCOS。優(yōu)點(diǎn)是實(shí)時(shí)性好、反應快,調度算法相對簡(jiǎn)單,可以保證高優(yōu)先級任務(wù)的時(shí)間約束;缺點(diǎn)是上下文切換多。
非搶占式調度:通常是按時(shí)間片分配的調度,不允許任務(wù)在執行期間被中斷,任務(wù)一旦占用處理器就必須執行完畢或自愿放棄,如WinCE。優(yōu)點(diǎn)是上下文切換少;缺點(diǎn)是處理器有效資源利用率低,可調度性不好。
靜態(tài)表驅動(dòng)策略:系統在運行前根據各任務(wù)的時(shí)間約束及關(guān)聯(lián)關(guān)系,采用某種搜索策略生成一張運行時(shí)刻表,指明各任務(wù)的起始運行時(shí)刻及運行時(shí)間。
優(yōu)先級驅動(dòng)策略:按照任務(wù)優(yōu)先級的高低確定任務(wù)的執行順序。
實(shí)時(shí)任務(wù)分類(lèi):周期任務(wù)、偶發(fā)任務(wù)、非周期任務(wù)。
實(shí)時(shí)系統的通用結構模型:數據采集任務(wù)實(shí)現傳感器數據的采集,數據處理任務(wù)處理采集的數據、并將加工后的數據送到執行機構管理任務(wù)控制機構執行。
五、嵌入式微處理器體系結構
馮諾依曼結構:程序和數據共用一個(gè)存儲空間,程序指令存儲地址和數據存儲地址指向同一個(gè)存儲器的不同物理位置,采用單一的地址及數據總線(xiàn),程序和數據的寬度相同。例如:8086、ARM7、MIPS…
哈佛結構:程序和數據是兩個(gè)相互獨立的存儲器,每個(gè)存儲器獨立編址、獨立訪(fǎng)問(wèn),是一種將程序存儲和數據存儲分開(kāi)的存儲器結構。例如:AVR、ARM9、ARM10…
CISC與RISC的特點(diǎn)比較。
計算機執行程序所需要的時(shí)間P可以用下面公式計算:P=I×CPI×T
I:高級語(yǔ)言程序編譯后在機器上運行的指令數。
CPI:為執行每條指令所需要的平均周期數。
T:每個(gè)機器周期的時(shí)間。
流水線(xiàn)的思想:在CPU中把一條指令的串行執行過(guò)程變?yōu)槿舾芍噶畹淖舆^(guò)程在CPU中重疊執行。
流水線(xiàn)的指標:
吞吐率:?jiǎn)挝粫r(shí)間里流水線(xiàn)處理機流出的結果數。如果流水線(xiàn)的子過(guò)程所用時(shí)間不一樣長(cháng),則吞吐率應為最長(cháng)子過(guò)程的倒數。
建立時(shí)間:流水線(xiàn)開(kāi)始工作到達最大吞吐率的時(shí)間。若m個(gè)子過(guò)程所用時(shí)間一樣,均為t,則建立時(shí)間T=mt。
信息存儲的字節順序
A、存儲器單位:字節(8位)
B、字長(cháng)決定了微處理器的尋址能力,即虛擬地址空間的大小。
C、32位微處理器的虛擬地址空間位232,即4GB。
D、小端字節順序:低字節在內存低地址處,高字節在內存高地址處。
E、大端字節順序:高字節在內存低地址處,低字節在內存高地址處。
F、網(wǎng)絡(luò )設備的存儲順序問(wèn)題取決于OSI模型底層中的數據鏈路層。
六、邏輯電路基礎
根據電路是否具有存儲功能,將邏輯電路劃分為:組合邏輯電路和時(shí)序邏輯電路。
組合邏輯電路:電路在任一時(shí)刻的輸出,僅取決于該時(shí)刻的輸入信號,而與輸入信號作用前電路的狀態(tài)無(wú)關(guān)。常用的邏輯電路有譯碼器和多路選擇器等。
時(shí)序邏輯電路:電路任一時(shí)刻的輸出不僅與該時(shí)刻的輸入有關(guān),而且還與該時(shí)刻電路的狀態(tài)有關(guān)。因此,時(shí)序電路中必須包含記憶元件。觸發(fā)器是構成時(shí)序邏輯電路的基礎。常用的時(shí)序邏輯電路有寄存器和計數器等。
真值表、布爾代數、摩根定律、門(mén)電路的概念。
NOR(或非)和NAND(與非)的門(mén)電路稱(chēng)為全能門(mén)電路,可以實(shí)現任何一種邏輯函數。
譯碼器:多輸入多輸出的組合邏輯網(wǎng)絡(luò )。
每輸入一個(gè)n位的二進(jìn)制代碼,在m個(gè)輸出端中最多有一個(gè)有效。
當m=2n是,為全譯碼;當m《2n時(shí),為部分譯碼。
由于集成電路的高電平輸出電流小,而低電平輸出電流相對比較大,采用集成門(mén)電路直接驅動(dòng)LED時(shí),較多采用低電平驅動(dòng)方式。液晶七段字符顯示器LCD利用液晶有外加電場(chǎng)和無(wú)外加電場(chǎng)時(shí)不同的光學(xué)特性來(lái)顯示字符。
時(shí)鐘信號是時(shí)序邏輯的基礎,它用于決定邏輯單元中的狀態(tài)合適更新。同步是時(shí)鐘控制系統中的主要制約條件。
在選用觸發(fā)器的時(shí)候,觸發(fā)方式是必須考慮的因素。觸發(fā)方式有兩種:電平觸發(fā)方式:具有結構簡(jiǎn)單的有點(diǎn),常用來(lái)組成暫存器。邊沿觸發(fā)方式:具有很強的抗數據端干擾能力,常用來(lái)組成寄存器、計數器等。
七、總線(xiàn)電路及信號驅動(dòng)
總線(xiàn)是各種信號線(xiàn)的集合,是嵌入式系統中各部件之間傳送數據、地址和控制信息的公共通路。在同一時(shí)刻,每條通路線(xiàn)路上能夠傳輸一位二進(jìn)制信號。按照總線(xiàn)所傳送的信息類(lèi)型,可以分為:數據總線(xiàn)(DB)、地址總線(xiàn)(AB)和控制總線(xiàn)(CB)。
總線(xiàn)的主要參數:
總線(xiàn)帶寬:一定時(shí)間內總線(xiàn)上可以傳送的數據量,一般用MByte/s表示。
總線(xiàn)寬度:總線(xiàn)能同時(shí)傳送的數據位數(bit),即人們常說(shuō)的32位、64位等總線(xiàn)寬度的概念,也叫總線(xiàn)位寬??偩€(xiàn)的位寬越寬,總線(xiàn)每秒數據傳輸率越大,也就是總線(xiàn)帶寬越寬。
總線(xiàn)頻率:工作時(shí)鐘頻率以MHz為單位,工作頻率越高,則總線(xiàn)工作速度越快,也即總線(xiàn)帶寬越寬。
總線(xiàn)帶寬 = 總線(xiàn)位寬×總線(xiàn)頻率/8, 單位是MBps。
常用總線(xiàn):ISA總線(xiàn)、PCI總線(xiàn)、IIC總線(xiàn)、SPI總線(xiàn)、PC104總線(xiàn)和CAN總線(xiàn)等。
只有具有三態(tài)輸出的設備才能夠連接到數據總線(xiàn)上,常用的三態(tài)門(mén)為輸出緩沖器。
當總線(xiàn)上所接的負載超過(guò)總線(xiàn)的負載能力時(shí),必須在總線(xiàn)和負載之間加接緩沖器或驅動(dòng)器,最常用的是三態(tài)緩沖器,其作用是驅動(dòng)和隔離。
采用總線(xiàn)復用技術(shù)可以實(shí)現數據總線(xiàn)和地址總線(xiàn)的共用。但會(huì )帶來(lái)兩個(gè)問(wèn)題:
A、需要增加外部電路對總線(xiàn)信號進(jìn)行復用解耦,例如:地址鎖存器。
B、總線(xiàn)速度相對非復用總線(xiàn)系統低。
兩類(lèi)總線(xiàn)通信協(xié)議:同步方式、異步方式。
對總線(xiàn)仲裁問(wèn)題的解決是以?xún)?yōu)先級(優(yōu)先權)的概念為基礎。
評論