一、什么是嵌入式
IEEE(Institute of Electrical and Electronics Engineers,美國電氣和電子工程師協會)對嵌入式系統的定義:“用于控制、監視或者輔助操作機器和設備的裝置”。原文為:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。
嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個控制程序存儲在 ROM 中的嵌入式處理器控制板。事實上,所有帶數字接口的設備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。
從應用對象上加以定義,嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。
一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,嵌入式計算機系統是整個嵌入式系統的核心,由硬件層、中間層、系統軟件層和應用軟件層組成。執行裝置也稱為被控對象,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。
執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處于震動接收狀態時打開;也可以很復雜,如SONY 智能機器狗,上面集成了多個微小型控制電機和多種傳感器,從而可以執行各種復雜的動作和感受各種狀態信息。
二、嵌入式系統的組成
1、 ?硬件層 ?
硬件層中包含嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備接口和I/O接口(A/D、D/A、I/O等)。在一嵌入式處理器基礎上添加電源電路、時鐘電路和存儲器電路,就構成了一個嵌入式核心控制模塊。其中操作系統和應用程序都可以固化在 ROM 中。
2、 ?中間層 ?
硬件層與軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或者板級支持包(Board Support Package,BSP),它半系統上層軟件與底層硬件分離開來,使系統的底層驅動程序與硬件無關,上層軟件開發人員無需關心底層硬件的具體情況,根據 BSP 層提供的接口即可進行開發。該層一般包含相關底層硬件的初始化、數據的輸入/輸出操作和硬件設備的配置功能。?
實際上,BSP是一個介于操作系統和底層硬件之間的軟件層次,包括了系統中大部分與硬件聯系緊密的軟件模塊。設計一個完整的BSP需要完成兩部分工作:嵌入式系統的硬件初始化的BSP功能,設計硬件相關的設備驅動。?
3、 ?系統軟件層 ?
系統軟件層由實時多任務操作系統(Real-time Operation System,RTOS)、文件系統、圖形用戶接口(Graphic User Interface,GUI)、網絡系統及通用組件模塊組成。RTOS是嵌入式應用軟件的基礎和開發平臺。
三、實時系統
定義:在指定或確定的時間內完成系統功能和對外部或內部、同步或異步時間做出響應的系統。
區別:通用系統一般追求的是系統的平均響應時間和用戶的使用方便;而實時系統主要考慮的是在最壞情況下的系統行為。
特點:時間約束性、可預測性、可靠性、與外部環境的交互性。
硬實時(強實時):指應用的時間需求應能夠得到完全滿足,否則就造成重大安全事故,甚至造成重大的生命財產損失和生態破壞,如:航天、軍事。
軟實時(弱實時):指某些應用雖然提出了時間的要求,但實時任務偶爾違反這種需求對系統運行及環境不會造成嚴重影響,如:監控系統、實時信息采集系統。
任務的約束包括:時間約束、資源約束、執行順序約束和性能約束。
四、實時系統的調度
調度:給定一組實時任務和系統資源,確定每個任務何時何地執行的整個過程?!?/p>
搶占式調度:通常是優先級驅動的調度,如uCOS。優點是實時性好、反應快,調度算法相對簡單,可以保證高優先級任務的時間約束;缺點是上下文切換多。
非搶占式調度:通常是按時間片分配的調度,不允許任務在執行期間被中斷,任務一旦占用處理器就必須執行完畢或自愿放棄,如WinCE。優點是上下文切換少;缺點是處理器有效資源利用率低,可調度性不好。
靜態表驅動策略:系統在運行前根據各任務的時間約束及關聯關系,采用某種搜索策略生成一張運行時刻表,指明各任務的起始運行時刻及運行時間。
優先級驅動策略:按照任務優先級的高低確定任務的執行順序。
實時任務分類:周期任務、偶發任務、非周期任務。
實時系統的通用結構模型:數據采集任務實現傳感器數據的采集,數據處理任務處理采集的數據、并將加工后的數據送到執行機構管理任務控制機構執行。
五、嵌入式微處理器體系結構
馮*諾依曼結構:程序和數據共用一個存儲空間,程序指令存儲地址和數據存儲地址指向同一個存儲器的不同物理位置,采用單一的地址及數據總線,程序和數據的寬度相同。例如:8086、ARM7、MIPS…
哈佛結構:程序和數據是兩個相互獨立的存儲器,每個存儲器獨立編址、獨立訪問,是一種將程序存儲和數據存儲分開的存儲器結構。例如:AVR、ARM9、ARM10… CISC與RISC的特點比較: 計算機執行程序所需要的時間 P 可以用下面公式計算:P=I×CPI×T I:高級語言程序編譯后在機器上運行的指令數。 CPI:為執行每條指令所需要的平均周期數。
T:每個機器周期的時間?! ?/p>
流水線的思想:在CPU中把一條指令的串行執行過程變為若干指令的子過程在CPU中重疊執行。 流水線的指標:
吞吐率:單位時間里流水線處理機流出的結果數。如果流水線的子過程所用時間不一樣長,則吞吐率應為最長子過程的倒數。
建立時間:流水線開始工作到達最大吞吐率的時間。若m個子過程所用時間一樣,均為 t,則建立時間 T=mt?! ?/p>
信息存儲的字節順序
A、存儲器單位:字節(8位)
B、字長決定了微處理器的尋址能力,即虛擬地址空間的大小。
C、32位微處理器的虛擬地址空間位232,即4GB。
D、小端字節順序:低字節在內存低地址處,高字節在內存高地址處。
E、大端字節順序:高字節在內存低地址處,低字節在內存高地址處。
F、網絡設備的存儲順序問題取決于OSI模型底層中的數據鏈路層。
六、邏輯電路基礎
根據電路是否具有存儲功能,將邏輯電路劃分為:組合邏輯電路和時序邏輯電路。
組合邏輯電路:電路在任一時刻的輸出,僅取決于該時刻的輸入信號,而與輸入信號作用前電路的狀態無關。常用的邏輯電路有譯碼器和多路選擇器等。
時序邏輯電路:電路任一時刻的輸出不僅與該時刻的輸入有關,而且還與該時刻電路的狀態有關。因此,時序電路中必須包含記憶元件。觸發器是構成時序邏輯電路的基礎。常用的時序邏輯電路有寄存器和計數器等。
真值表、布爾代數、摩根定律、門電路的概念。
NOR(或非)和NAND(與非)的門電路稱為全能門電路,可以實現任何一種邏輯函數。
譯碼器:多輸入多輸出的組合邏輯網絡。
每輸入一個n位的二進制代碼,在m個輸出端中最多有一個有效。
當m=2n是,為全譯碼;當m<2n時,為部分譯碼。
由于集成電路的高電平輸出電流小,而低電平輸出電流相對比較大,采用集成門電路直接驅動LED時,較多采用低電平驅動方式。液晶七段字符顯示器LCD利用液晶有外加電場和無外加電場時不同的光學特性來顯示字符。
時鐘信號是時序邏輯的基礎,它用于決定邏輯單元中的狀態合適更新。同步是時鐘控制系統中的主要制約條件。
在選用觸發器的時候,觸發方式是必須考慮的因素。觸發方式有兩種:電平觸發方式:具有結構簡單的有點,常用來組成暫存器。邊沿觸發方式:具有很強的抗數據端干擾能力,常用來組成寄存器、計數器等。
七、總線電路及信號驅動
總線是各種信號線的集合,是嵌入式系統中各部件之間傳送數據、地址和控制信息的公共通路。在同一時刻,每條通路線路上能夠傳輸一位二進制信號。按照總線所傳送的信息類型,可以分為:數據總線(DB)、地址總線(AB)和控制總線(CB)?! ?/p>
總線的主要參數:
總線帶寬:一定時間內總線上可以傳送的數據量,一般用MByte/s表示。 總線寬度:總線能同時傳送的數據位數(bit),即人們常說的32位、64位等總線寬度的概念,也叫總線位寬??偩€的位寬越寬,總線每秒數據傳輸率越大,也就是總線帶寬越寬。
總線頻率:工作時鐘頻率以MHz為單位,工作頻率越高,則總線工作速度越快,也即總線帶寬越寬。
總線帶寬 = 總線位寬×總線頻率/8, 單位是MBps。
常用總線:ISA總線、PCI總線、IIC總線、SPI總線、PC104總線和CAN總線等。
只有具有三態輸出的設備才能夠連接到數據總線上,常用的三態門為輸出緩沖器?! ?br />
當總線上所接的負載超過總線的負載能力時,必須在總線和負載之間加接緩沖器或驅動器,最常用的是三態緩沖器,其作用是驅動和隔離?! ?br />
采用總線復用技術可以實現數據總線和地址總線的共用。但會帶來兩個問題:
A、需要增加外部電路對總線信號進行復用解耦,例如:地址鎖存器。
B、總線速度相對非復用總線系統低。
兩類總線通信協議:同步方式、異步方式。
對總線仲裁問題的解決是以優先級(優先權)的概念為基礎。
八、電平轉換電路
數字集成電路可以分為兩大類:雙極型集成電路(TTL)、金屬氧化物半導體(MOS)。
CMOS電路由于其靜態功耗極低,工作速度較高,抗干擾能力較強,被廣泛使用。
解決TTL與CMOS電路接口困難的辦法是在TTL電路輸出端與電源之間接一上拉電阻R,上拉電阻R的取值由TTL的高電平輸出漏電流IOH來決定,不同系列的TTL應選用不同的R值。
九、嵌入式系統中信息表示與運算基礎
進位計數制與轉換:這樣比較簡單,也應該掌握怎么樣進行換算,有出題的可能?! ?br />
計算機中數的表示:源碼、反碼與補碼。 正數的反碼與源碼相同,負數的反碼為該數的源碼除符號位外按位取反。 正數的補碼與源碼相同,負數的補碼為該數的反碼加一。
例如-98的源碼:11100010B
反碼:10011101B
補碼:10011110B
定點表示法:數的小數點的位置人為約定固定不變。
浮點表示法:數的小數點位置是浮動的,它由尾數部分和階數部分組成。
任意一個二進制N總可以寫成:N=2P×S。S為尾數,P為階數。
漢字表示法,搞清楚GB2318-80中國標碼和機內碼的變換。
語音編碼中波形量化參數(可能會出簡單的計算題目哦)
采樣頻率:一秒內采樣的次數,反映了采樣點之間的間隔大小。
人耳的聽覺上限是20kHz,因此40kHz以上的采樣頻率足以使人滿意。
CD唱片采用的采樣頻率是44.1kHz。
測量精度:樣本的量化等級,目前標準采樣量級有8位和16位兩種。
聲道數:單聲道和立體聲雙道。立體聲需要兩倍的存儲空間。
十、差錯控制編碼
根據碼組的功能,可以分為檢錯碼和糾錯碼兩類。檢錯碼是指能自動發現差錯的碼,例如奇偶檢驗碼;糾錯碼是指不僅能發現差錯而且能自動糾正差錯的碼,例如循環冗余校驗碼。
奇偶檢驗碼、海明碼、循環冗余校驗碼(CRC)。
十一、嵌入式系統的度量項目
性能指標:分為部件性能指標和綜合性能指標,主要包括:吞吐率、實時性和各種利用率。
可靠性與安全性
可靠性是嵌入式系統最重要、最突出的基本要求,是一個嵌入式系統能正常工作的保證,一般用平均故障間隔時間MTBF來度量。
可維護性:一般用平均修復時間MTTR表示。
可用性
功耗
環境適應性
通用性
安全性
保密性
可擴展性
性價比中的價格,除了直接購買嵌入式系統的價格外,還應包含安裝費用、若干年的運行維修費用和軟件租用費。
嵌入式系統的評價方法:測量法和模型法
測量法是最直接最基本的方法,需要解決兩個問題:
A、根據研究的目的,確定要測量的系統參數。
B、選擇測量的工具和方式?! ?/p>
測量的方式有兩種:采樣方式和事件跟蹤方式。
模型法分為分析模型法和模擬模型法。分析模型法是用一些數學方程去刻畫系統的模型,而模擬模型法是用模擬程序的運行去動態表達嵌入式系統的狀態,而進行系統統計分析,得出性能指標。
分析模型法中使用最多的是排隊模型,它包括三個部分:輸入流、排隊規則和服務機構。
使用模型對系統進行評價需要解決3個問題:設計模型、解模型、校準和證實模型。
十二、存儲器
1、Flash存儲器
(1)Flash存儲器是一種非易失性存儲器,根據結構的不同可以將其分為NOR Flash和NAND Flash兩種?! ?/p>
(2)Flash存儲器的特點:
A、區塊結構:在物理上分成若干個區塊,區塊之間相互獨立。
B、先擦后寫:Flash的寫操作只能將數據位從1寫成0,不能從0寫成1,所以在對存儲器進行寫入之前必須先執行擦除操作,將預寫入的數據位初始化為1。擦除操作的最小單位是一個區塊,而不是單個字節。
C、操作指令:執行寫操作,它必須輸入一串特殊指令(NOR Flash)或者完成一段時序(NAND Flash)才能將數據寫入。
D、位反轉:由于Flash的固有特性,在讀寫過程中偶爾會產生一位或幾位的數據錯E、壞塊:區塊一旦損壞,將無法進行修復。對已損壞的區塊操作其結果不可預測。
(3)NOR Flash的特點:
應用程序可以直接在閃存內運行,不需要再把代碼讀到系統RAM中運行。NOR Flash的傳輸效率很高,在1MB~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能?! ?/p>
(4)NAND Flash的特點
能夠提高極高的密度單元,可以達到高存儲密度,并且寫入和擦除的速度也很快,這也是為何所有的U盤都使用NAND Flash作為存儲介質的原因。應用NAND Flash的困難在于閃存需要特殊的系統接口?! ?/p>
(5)NOR Flash與NAND Flash的區別:
A、NOR Flash的讀速度比NAND Flash稍快一些。
B、NAND Flash的擦除和寫入速度比NOR Flash快很多
C、NAND Flash的隨機讀取能力差,適合大量數據的連續讀取。
D、NOR Flash帶有SRAM接口,有足夠的地址引進來尋址,可以很容易地存取其內部的每一個字節。NAND Flash的地址、數據和命令共用8位總線(有寫公司的產品使用16位),每次讀寫都要使用復雜的I/O接口串行地存取數據。
E、NOR Flash的容量一般較小,通常在1MB~8MB之間;NAND Flash只用在8MB以上的產品中。因此,NOR Flash只要應用在代碼存儲介質中,NAND Flash適用于資料存儲。
F、NAND Flash中每個塊的最大擦寫次數是一百萬次,而NOR Flash是十萬次。
G、NOR Flash可以像其他內存那樣連接,非常直接地使用,并可以在上面直接運行代碼;NAND Flash需要特殊的I/O接口,在使用的時候,必須先寫入驅動程序,才能繼續執行其他操作。因為設計師絕不能向壞塊寫入,這就意味著在NAND Flash上自始至終必須進行虛擬映像。
H、NOR Flash用于對數據可靠性要求較高的代碼存儲、通信產品、網絡處理等領域,被成為代碼閃存;NAND Flash則用于對存儲容量要求較高的MP3、存儲卡、U盤等領域,被成為數據閃存。
2、RAM存儲器
(1) SRAM的特點:
SRAM表示靜態隨機存取存儲器,只要供電它就會保持一個值,它沒有刷新周期,由觸發器構成基本單元,集成度低,每個SRAM存儲單元由6個晶體管組成,因此其成本較高。它具有較高速率,常用于高速緩沖存儲器。 通常SRAM有4種引腳:
CE:片選信號,低電平有效。
R/W:讀寫控制信號。
ADDRESS:一組地址線。
DATA:用于數據傳輸的一組雙向信號線。
(2)DRAM的特點:
DRAM表示動態隨機存取存儲器。這是一種以電荷形式進行存儲的半導體存儲器。它的每個存儲單元由一個晶體管和一個電容器組成,數據存儲在電容器中。電容器會由于漏電而導致電荷丟失,因而DRAM器件是不穩定的。它必須有規律地進行刷新,從而將數據保存在存儲器中。 DRAM的接口比較復雜,通常有一下引腳:
CE:片選信號,低電平有效。
R/W:讀寫控制信號。
RAS:行地址選通信號,通常接地址的高位部分。
CAS:列地址選通信號,通常接地址的低位部分。
ADDRESS:一組地址線。
DATA:用于數據傳輸的一組雙向信號線?! ?/p>
(3) SDRAM的特點:
SDRAM表示同步動態隨機存取存儲器。同步是指內存工作需要同步時鐘,內部的命令發送與數據的傳輸都以它為基準;動態是指存儲器陣列需要不斷的刷新來保證數據不丟失。它通常只能工作在133MHz的主頻。
(4) DDRAM的特點
DDRAM表示雙倍速率同步動態隨機存取存儲器,也稱DDR。 DDRAM是基于SDRAM技術的,SDRAM在一個時鐘周期內只傳輸一次數據,它是在時鐘的上升期進行數據傳輸;而DDR內存則是一個時鐘周期內傳輸兩次次數據,它能夠在時鐘的上升期和下降期各傳輸一次數據。在133MHz的主頻下,DDR內存帶寬可以達到133×64b/8×2=2.1GB/s。
審核編輯:劉清
評論
查看更多