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