1 什么是嵌入式
IEEE(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)是一個控制程序存儲在ROM中的嵌入式處理器控制板。事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個程序?qū)崿F(xiàn)整個控制邏輯。
從應(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)。
一個嵌入式系統(tǒng)裝置一般都由嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置組成,嵌入式計(jì)算機(jī)系統(tǒng)是整個嵌入式系統(tǒng)的,由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成。執(zhí)行裝置也稱為被控對象,它可以接受嵌入式計(jì)算機(jī)系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。執(zhí)行裝置可以很簡單,如手機(jī)上的一個微小型的電機(jī),當(dāng)手機(jī)處于震動接收狀態(tài)時打開;也可以很復(fù)雜,如SONY 智能機(jī)器狗,上面集成了多個微小型控制電機(jī)和多種傳感器,從而可以執(zhí)行各種復(fù)雜的動作和感受各種狀態(tài)信息。2 嵌入式系統(tǒng)的組成
硬件層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設(shè)備接口和I/O接口(A/D、D/A、I/O等)。在一嵌入式處理器基礎(chǔ)上添加電源電路、時鐘電路和存儲器電路,就構(gòu)成了一個嵌入式控制模塊。其中操作系統(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是一個介于操作系統(tǒng)和底層硬件之間的軟件層次,包括了系統(tǒng)中大部分與硬件聯(lián)系緊密的軟件模塊。設(shè)計(jì)一個完整的BSP需要完成兩部分工作:嵌入工系統(tǒng)的硬件初始化的BSP功能,設(shè)計(jì)硬件相關(guān)的設(shè)備驅(qū)動。
系統(tǒng)軟件層由實(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ā)平臺。
3 實(shí)時系統(tǒng)
(1)定義:能在指定或確定的時間內(nèi)完成系統(tǒng)功能和對外部或內(nèi)部、同步或異步時間做出響應(yīng)的系統(tǒng)。
(2)區(qū)別:通用系統(tǒng)一般追求的是系統(tǒng)的平均響應(yīng)時間和用戶的使用方便;而實(shí)時系統(tǒng)主要考慮的是在壞情況下的系統(tǒng)行為。
(3)特點(diǎn):時間約束性、可預(yù)測性、可靠性、與外部環(huán)境的交互性。
(4)硬實(shí)時(強(qiáng)實(shí)時):指應(yīng)用的時間需求應(yīng)能夠得到完全滿足,否則就造成重大安全事故,甚至造成重大的生命財(cái)產(chǎn)損失和生態(tài)破壞,如:航天、軍事。
(5)軟實(shí)時(弱實(shí)時):指某些應(yīng)用雖然提出了時間的要求,但實(shí)時任務(wù)偶爾違反這種需求對系統(tǒng)運(yùn)行及環(huán)境不會造成嚴(yán)重影響,如:監(jiān)控系統(tǒng)、實(shí)時信息采集系統(tǒng)。
(6)任務(wù)的約束包括:時間約束、資源約束、執(zhí)行順序約束和性能約束。
4 實(shí)時系統(tǒng)的調(diào)度
(1)調(diào)度:給定一組實(shí)時任務(wù)和系統(tǒng)資源,確定每個任務(wù)何時何地執(zhí)行的整個過程。
(2)搶占式調(diào)度:通常是優(yōu)先級驅(qū)動的調(diào)度,如uCOS。優(yōu)點(diǎn)是實(shí)時性好、反應(yīng)快,調(diào)度算法相對簡單,可以保證高優(yōu)先級任務(wù)的時間約束;缺點(diǎn)是上下文切換多。
(3)非搶占式調(diào)度:通常是按時間片分配的調(diào)度,不允許任務(wù)在執(zhí)行期間被中斷,任務(wù)一旦占用處理器就必須執(zhí)行完畢或自愿放棄,如WinCE。優(yōu)點(diǎn)是上下文切換少;缺點(diǎn)是處理器有效資源利用率低,可調(diào)度性不好。
(4)靜態(tài)表驅(qū)動策略:系統(tǒng)在運(yùn)行前根據(jù)各任務(wù)的時間約束及關(guān)聯(lián)關(guān)系,采用某種搜索策略生成一張運(yùn)行時刻表,指明各任務(wù)的起始運(yùn)行時刻及運(yùn)行時間。
(5)優(yōu)先級驅(qū)動策略:按照任務(wù)優(yōu)先級的高低確定任務(wù)的執(zhí)行順序。
(6)實(shí)時任務(wù)分類:周期任務(wù)、偶發(fā)任務(wù)、非周期任務(wù)。
(7)實(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í)行。
5 嵌入式微處理器體系結(jié)構(gòu)
(1)馮諾依曼結(jié)構(gòu):程序和數(shù)據(jù)共用一個存儲空間,程序指令存儲地址和數(shù)據(jù)存儲地址指向同一個存儲器的不同物理位置,采用單一的地址及數(shù)據(jù)總線,程序和數(shù)據(jù)的寬度相同。例如:8086、ARM7、MIPS…
(2)哈佛結(jié)構(gòu):程序和數(shù)據(jù)是兩個相互獨(dú)立的存儲器,每個存儲器獨(dú)立編址、獨(dú)立訪問,是一種將程序存儲和數(shù)據(jù)存儲分開的存儲器結(jié)構(gòu)。例如:AVR、ARM9、ARM10…??(3)CISC與RISC的特點(diǎn)比較。計(jì)算機(jī)執(zhí)行程序所需要的時間P可以用下面公式計(jì)算:P=I×CPI×TI:語言程序編譯后在機(jī)器上運(yùn)行的指令數(shù)。CPI:為執(zhí)行每條指令所需要的平均周期數(shù)。T:每個機(jī)器周期的時間。??(4)流水線的思想:在CPU中把一條指令的串行執(zhí)行過程變?yōu)槿舾芍噶畹淖舆^程在CPU中重疊執(zhí)行。??(5)流水線的指標(biāo):吞吐率:單位時間里流水線處理機(jī)流出的結(jié)果數(shù)。如果流水線的子過程所用時間不一樣長,則吞吐率應(yīng)為長子過程的倒數(shù)。建立時間:流水線開始工作到達(dá)吞吐率的時間。若m個子過程所用時間一樣,均為t,則建立時間T=mt。??(6)信息存儲的字節(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ù)鏈路層。6 邏輯電路基礎(chǔ)
(1)根據(jù)電路是否具有存儲功能,將邏輯電路劃分為:組合邏輯電路和時序邏輯電路。
(2)組合邏輯電路:電路在任一時刻的輸出,僅取決于該時刻的輸入信號,而與輸入信號作用前電路的狀態(tài)無關(guān)。常用的邏輯電路有譯碼器和多路選擇器等。??(3)時序邏輯電路:電路任一時刻的輸出不僅與該時刻的輸入有關(guān),而且還與該時刻電路的狀態(tài)有關(guān)。因此,時序電路中必須包含記憶元件。觸發(fā)器是構(gòu)成時序邏輯電路的基礎(chǔ)。常用的時序邏輯電路有寄存器和計(jì)數(shù)器等。??(4)真值表、布爾代數(shù)、摩根定律、門電路的概念。??(5)NOR(或非)和NAND(與非)的門電路稱為門電路,可以實(shí)現(xiàn)任何一種邏輯函數(shù)。??(6)譯碼器:多輸入多輸出的組合邏輯網(wǎng)絡(luò)。每輸入一個n位的二進(jìn)制代碼,在m個輸出端中多有一個有效。當(dāng)m=2n是,為全譯碼;當(dāng)m《2n時,為部分譯碼。??(7)由于集成電路的高電平輸出電流小,而低電平輸出電流相對比較大,采用集成門電路直接驅(qū)動LED時,較多采用低電平驅(qū)動方式。液晶七段字符顯示器LCD利用液晶有外加電場和無外加電場時不同的光學(xué)特性來顯示字符。??(8)時鐘信號是時序邏輯的基礎(chǔ),它用于決定邏輯單元中的狀態(tài)合適更新。同步是時鐘控制系統(tǒng)中的主要制約條件。??(9)在選用觸發(fā)器的時候,觸發(fā)方式是必須考慮的因素。觸發(fā)方式有兩種:方式1:電平觸發(fā)方式:具有結(jié)構(gòu)簡單的有點(diǎn),常用來組成暫存器。方式2:邊沿觸發(fā)方式:具有很強(qiáng)的抗數(shù)據(jù)端干擾能力,常用來組成寄存器、計(jì)數(shù)器等。
7 總線電路及信號驅(qū)動
(1)總線是各種信號線的集合,是嵌入式系統(tǒng)中各部件之間傳送數(shù)據(jù)、地址和控制信息的公共通路。在同一時刻,每條通路線路上能夠傳輸一位二進(jìn)制信號。按照總線所傳送的信息類型,可以分為:數(shù)據(jù)總線(DB)、地址總線(AB)和控制總線(CB)。
(2)總線的主要參數(shù):總線帶寬:一定時間內(nèi)總線上可以傳送的數(shù)據(jù)量,一般用MByte/s表示。總線寬度:總線能同時傳送的數(shù)據(jù)位數(shù)(bit),即人們常說的32位、64位等總線寬度的概念,也叫總線位寬。總線的位寬越寬,總線每秒數(shù)據(jù)傳輸率越大,也就是總線帶寬越寬。總線頻率:工作時鐘頻率以MHz為單位,工作頻率越高,則總線工作速度越快,也即總線帶寬越寬。總線帶寬 = 總線位寬×總線頻率/8, 單位是MBps。常用總線:ISA總線、PCI總線、IIC總線、SPI總線、PC104總線和CAN總線等。??(3)只有具有三態(tài)輸出的設(shè)備才能夠連接到數(shù)據(jù)總線上,常用的三態(tài)門為輸出緩沖器。
(4)當(dāng)總線上所接的負(fù)載超過總線的負(fù)載能力時,必須在總線和負(fù)載之間加接緩沖器或驅(qū)動器,常用的是三態(tài)緩沖器,其作用是驅(qū)動和隔離。??(5)采用總線復(fù)用技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)總線和地址總線的共用。但會帶來兩個問題:A、需要增加外部電路對總線信號進(jìn)行復(fù)用解耦,例如:地址鎖存器。B、總線速度相對非復(fù)用總線系統(tǒng)低。??(6)兩類總線通信協(xié)議:同步方式、異步方式。??(7)對總線仲裁問題的解決是以優(yōu)先級(優(yōu)先權(quán))的概念為基礎(chǔ)。
8 電平轉(zhuǎn)換電路
(1)數(shù)字集成電路可以分為兩大類:雙極型集成電路(TTL)、金屬氧化物半導(dǎo)體(MOS)。
(2)CMOS電路由于其靜態(tài)功耗極低,工作速度較高,抗干擾能力較強(qiáng),被廣泛使用。
(3)解決TTL與CMOS電路接口困難的辦法是在TTL電路輸出端與電源之間接一上拉電阻R,上拉電阻R的取值由TTL的高電平輸出漏電流IOH來決定,不同系列的TTL應(yīng)選用不同的R值。
9 嵌入式系統(tǒng)中信息表示與運(yùn)算基礎(chǔ)
(1)進(jìn)位計(jì)數(shù)制與轉(zhuǎn)換:這樣比較簡單,也應(yīng)該掌握怎么樣進(jìn)行換算,有出題的可能。
(2)計(jì)算機(jī)中數(shù)的表示:源碼、反碼與補(bǔ)碼。正數(shù)的反碼與源碼相同,負(fù)數(shù)的反碼為該數(shù)的源碼除符號位外按位取反。正數(shù)的補(bǔ)碼與源碼相同,負(fù)數(shù)的補(bǔ)碼為該數(shù)的反碼加一。例如-98的源碼:11100010B反碼:10011101B補(bǔ)碼:10011110B??(3)定點(diǎn)表示法:數(shù)的小數(shù)點(diǎn)的位置人為約定固定不變。浮點(diǎn)表示法:數(shù)的小數(shù)點(diǎn)位置是浮動的,它由尾數(shù)部分和階數(shù)部分組成。任意一個二進(jìn)制N總可以寫成:N=2P×S。S為尾數(shù),P為階數(shù)。??(4)漢字表示法,搞清楚GB2318-80中國標(biāo)碼和機(jī)內(nèi)碼的變換。??(5)語音編碼中波形量化參數(shù)采樣頻率:一秒內(nèi)采樣的次數(shù),反映了采樣點(diǎn)之間的間隔大小。人耳的聽覺上限是20kHz,因此40kHz以上的采樣頻率足以使人滿意。CD唱片采用的采樣頻率是44.1kHz。測量精度:樣本的量化等級,目前標(biāo)準(zhǔn)采樣量級有8位和16位兩種。聲道數(shù):單聲道和立體聲雙道。立體聲需要兩倍的存儲空間。
10 差錯控制編碼
(1)根據(jù)碼組的功能,可以分為檢錯碼和糾錯碼兩類。檢錯碼是指能自動發(fā)現(xiàn)差錯的碼,例如奇偶檢驗(yàn)碼;糾錯碼是指不僅能發(fā)現(xiàn)差錯而且能自動糾正差錯的碼,例如循環(huán)冗余校驗(yàn)碼。
(2)奇偶檢驗(yàn)碼、海明碼、循環(huán)冗余校驗(yàn)碼(CRC)。
11 差錯控制編碼嵌入式系統(tǒng)的度量項(xiàng)目
(1)性能指標(biāo):分為部件性能指標(biāo)和綜合性能指標(biāo),主要包括:吞吐率、實(shí)時性和各種利用率。
(2)可靠性與安全性:可靠性是嵌入式系統(tǒng)重要、突出的基本要求,是一個嵌入式系統(tǒng)能正常工作的保證,一般用平均故障間隔時間MTBF來度量。
(3)可維護(hù)性:一般用平均修復(fù)時間MTTR表示。
(4)可用性(5)功耗(6)環(huán)境適應(yīng)性(7)通用性(8)安全性(9)保密性(10)可擴(kuò)展性
性價比中的價格,除了直接購買嵌入式系統(tǒng)的價格外,還應(yīng)包含安裝費(fèi)用、若干年的運(yùn)行維修費(fèi)用和軟件租用費(fèi)。
嵌入式系統(tǒng)的評價方法:測量法和模型法
(1)測量法是基本的方法,需要解決兩個問題:A、根據(jù)研究的目的,確定要測量的系統(tǒng)參數(shù)。B、選擇測量的工具和方式。
(2)測量的方式有兩種:采樣方式和事件跟蹤方式。
(3)模型法分為分析模型法和模擬模型法。分析模型法是用一些數(shù)學(xué)方程去刻畫系統(tǒng)的模型,而模擬模型法是用模擬程序的運(yùn)行去動態(tài)表達(dá)嵌入式系統(tǒng)的狀態(tài),而進(jìn)行系統(tǒng)統(tǒng)計(jì)分析,得出性能指標(biāo)。
(4)分析模型法中使用多的是排隊(duì)模型,它包括三個部分:輸入流、排隊(duì)規(guī)則和服務(wù)機(jī)構(gòu)。
(5)使用模型對系統(tǒng)進(jìn)行評價需要解決3個問題:設(shè)計(jì)模型、解模型、校準(zhǔn)和證實(shí)模型。
評論