嵌入式系統基礎知識總結
嵌入式系統是用來控制或者監視機器、裝置、工廠等大規模裝置的系統。以下是關於嵌入式系統基礎知識總結,歡迎大家認真閱讀!
1、嵌入式系統的定義
(1)定義:以應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。
(2)嵌入式系統發展的4個階段:無作業系統階段、簡單作業系統階段、實時作業系統階段、面向Internet階段。
(3)智慧財產權核(IP核):具有智慧財產權的、功能具體、介面規範、可在多個積體電路設計中重複使用的功能模組,是實現系統晶片(SOC)的基本構件。
(4)IP核模組有行為、結構和物理3級不同程度的設計,對應描述功能行為的不同可以分為三類:軟核、固核、硬核。
2、嵌入式系統的組成
包含:硬體層、中間層、系統軟體層和應用軟體層
(1)硬體層:嵌入式微處理器、儲存器、通用裝置介面和I/O介面。
嵌入式核心模組=微處理器+電源電路+時鐘電路+儲存器
Cache:位於主存和嵌入式微處理器核心之間,存放的是最近一段時間微處理器使用最多的程式程式碼和資料。它的主要目標是減小儲存器給微處理器核心造成的儲存器訪問瓶頸,使處理速度更快。
(2)中間層(也稱為硬體抽象層HAL或者板級支援包BSP).
它將系統上層軟體和底層硬體分離開來,使系統上層軟體開發人員無需關係底層硬體的具體情況,根據BSP層提供的介面開發即可。
BSP有兩個特點:硬體相關性和作業系統相關性。
設計一個完整的BSP需要完成兩部分工作:
A、 嵌入式系統的硬體初始化和BSP功能。
片級初始化:純硬體的初始化過程,把嵌入式微處理器從上電的預設狀態逐步設定成系統所要求的工作狀態。
板級初始化:包含軟硬體兩部分在內的初始化過程,為隨後的系統初始化和應用程式建立硬體和軟體的執行環境。
系統級初始化:以軟體為主的初始化過程,進行作業系統的初始化。
B、 設計硬體相關的裝置驅動。
(3)系統軟體層:由RTOS、檔案系統、GUI、網路系統及通用元件模組組成。
RTOS是嵌入式應用軟體的基礎和開發平臺。
(4)應用軟體:由基於實時系統開發的應用程式組成。
3、實時系統
(1)定義:能在指定或確定的時間內完成系統功能和對外部或內部、同步或非同步時間做出響應的系統。
(2)區別:通用系統一般追求的是系統的平均響應時間和使用者的使用方便;而實時系統主要考慮的是在最壞情況下的系統行為。
(3)特點:時間約束性、可預測性、可靠性、與外部環境的互動性。
(4)硬實時(強實時):指應用的時間需求應能夠得到完全滿足,否則就造成重大安全事故,甚至造成重大的生命財產損失和生態破壞,如:航天、軍事。
(5)軟實時(弱實時):指某些應用雖然提出了時間的要求,但實時任務偶爾違反這種需求對系統執行及環境不會造成嚴重影響,如:監控系統、實時資訊採集系統。
(6)任務的約束包括:時間約束、資源約束、執行順序約束和效能約束。
4、實時系統的排程
(1)排程:給定一組實時任務和系統資源,確定每個任務何時何地執行的整個過程。
(2)搶佔式排程:通常是優先順序驅動的排程,如uCOS。優點是實時性好、反應快,排程演算法相對簡單,可以保證高優先順序任務的時間約束;缺點是上下文切換多。
(3)非搶佔式排程:通常是按時間片分配的排程,不允許任務在執行期間被中斷,任務一旦佔用處理器就必須執行完畢或自願放棄,如WinCE。優點是上下文切換少;缺點是處理器有效資源利用率低,可排程性不好。
(4)靜態表驅動策略:系統在執行前根據各任務的時間約束及關聯關係,採用某種搜尋策略生成一張執行時刻表,指明各任務的起始執行時刻及執行時間。
(5)優先順序驅動策略:按照任務優先順序的高低確定任務的執行順序。
(6)實時任務分類:週期任務、偶發任務、非週期任務。
(7)實時系統的通用結構模型:資料採集任務實現感測器資料的採集,資料處理任務處理採集的資料、並將加工後的資料送到執行機構管理任務控制機構執行。
5、嵌入式微處理器體系結構
(1)馮諾依曼結構:程式和資料共用一個儲存空間,程式指令儲存地址和資料儲存地址指向同一個儲存器的不同物理位置,採用單一的地址及資料匯流排,程式和資料的寬度相同。例如:8086、ARM7、MIPS…
(2)哈佛結構:程式和資料是兩個相互獨立的儲存器,每個儲存器獨立編址、獨立訪問,是一種將程式儲存和資料儲存分開的儲存器結構。例如:AVR、ARM9、ARM10…
(3)CISC與RISC的特點比較。
計算機執行程式所需要的時間P可以用下面公式計算:
P=I×CPI×T
I:高階語言程式編譯後在機器上執行的指令數。
CPI:為執行每條指令所需要的平均週期數。
T:每個機器週期的時間。
(4)流水線的思想:在CPU中把一條指令的序列執行過程變為若干指令的子過程在CPU中重疊執行。
(5)流水線的指標:
吞吐率:單位時間裡流水線處理機流出的結果數。如果流水線的子過程所用時間不一樣長,則吞吐率應為最長子過程的倒數。
建立時間:流水線開始工作到達最大吞吐率的時間。若m個子過程所用時間一樣,均為t,則建立時間T=mt。
(6)資訊儲存的位元組順序
A、儲存器單位:位元組(8位)
B、字長決定了微處理器的定址能力,即虛擬地址空間的大小。
C、32位微處理器的虛擬地址空間位232,即4GB。
D、小端位元組順序:低位元組在記憶體低地址處,高位元組在記憶體高地址處。
E、大端位元組順序:高位元組在記憶體低地址處,低位元組在記憶體高地址處。
F、網路裝置的儲存順序問題取決於OSI模型底層中的資料鏈路層。
6、邏輯電路基礎
(1)根據電路是否具有儲存功能,將邏輯電路劃分為:組合邏輯電路和時序邏輯電路。
(2)組合邏輯電路:電路在任一時刻的輸出,僅取決於該時刻的輸入訊號,而與輸入訊號作用前電路的狀態無關。常用的邏輯電路有譯碼器和多路選擇器等。
(3)時序邏輯電路:電路任一時刻的輸出不僅與該時刻的輸入有關,而且還與該時刻電路的狀態有關。因此,時序電路中必須包含記憶元件。觸發器是構成時序邏輯電路的基礎。常用的時序邏輯電路有暫存器和計數器等。
(4)真值表、布林代數、摩根定律、閘電路的概念。
(5)NOR(或非)和NAND(與非)的閘電路稱為全能閘電路,可以實現任何一種邏輯函式。
(6)譯碼器:多輸入多輸出的組合邏輯網路。
每輸入一個n位的二進位制程式碼,在m個輸出端中最多有一個有效。
當m=2n是,為全譯碼;當m<2n時,為部分譯碼。
(7)由於積體電路的高電平輸出電流小,而低電平輸出電流相對比較大,採用整合閘電路直接驅動LED時,較多采用低電平驅動方式。液晶七段字元顯示器LCD利用液晶有外加電場和無外加電場時不同的光學特性來顯示字元。
(8)時鐘訊號是時序邏輯的基礎,它用於決定邏輯單元中的狀態合適更新。同步是時鐘控制系統中的主要制約條件。
(9)在選用觸發器的時候,觸發方式是必須考慮的因素。觸發方式有兩種:
電平觸發方式:具有結構簡單的有點,常用來組成暫存器。
邊沿觸發方式:具有很強的抗資料端干擾能力,常用來組成暫存器、計數器等。
7、匯流排電路及訊號驅動
(1)匯流排是各種訊號線的集合,是嵌入式系統中各部件之間傳送資料、地址和控制資訊的公共通路。在同一時刻,每條通路線路上能夠傳輸一位二進位制訊號。按照匯流排所傳送的資訊型別,可以分為:資料匯流排(DB)、地址匯流排(AB)和控制匯流排(CB)。
(2)匯流排的主要引數:
匯流排頻寬:一定時間內匯流排上可以傳送的資料量,一般用MByte/s表示。
匯流排寬度:匯流排能同時傳送的資料位數(bit),即人們常說的32位、64位等匯流排寬度的概念,也叫匯流排位寬。匯流排的位寬越寬,匯流排每秒資料傳輸率越大,也就是匯流排頻寬越寬。
匯流排頻率:工作時鐘頻率以MHz為單位,工作頻率越高,則匯流排工作速度越快,也即匯流排頻寬越寬。
匯流排頻寬 = 匯流排位寬×匯流排頻率/8, 單位是MBps。
常用匯流排:ISA匯流排、PCI匯流排、IIC匯流排、SPI匯流排、PC104匯流排和CAN匯流排等。
(3)只有具有三態輸出的`裝置才能夠連線到資料匯流排上,常用的三態門為輸出緩衝器。
(4)當匯流排上所接的負載超過匯流排的負載能力時,必須在匯流排和負載之間加接緩衝器或驅動器,最常用的是三態緩衝器,其作用是驅動和隔離。
(5)採用匯流排複用技術可以實現資料匯流排和地址匯流排的共用。但會帶來兩個問題:
A、需要增加外部電路對匯流排訊號進行復用解耦,例如:地址鎖存器。
B、匯流排速度相對非複用匯流排系統低。
(6)兩類匯流排通訊協議:同步方式、非同步方式。
(7)對匯流排仲裁問題的解決是以優先順序(優先權)的概念為基礎。
8、電平轉換電路
(1)數字積體電路可以分為兩大類:雙極型積體電路(TTL)、金氧半導體(MOS)。
(2)CMOS電路由於其靜態功耗極低,工作速度較高,抗干擾能力較強,被廣泛使用。
(3)解決TTL與CMOS電路介面困難的辦法是在TTL電路輸出端與電源之間接一上拉電阻R,上拉電阻R的取值由TTL的高電平輸出漏電流IOH來決定,不同系列的TTL應選用不同的R值。
9、可程式邏輯器件基礎
這方面的內容,從總體上有個概念性的認識應該就可以了。
10、嵌入式系統中資訊表示與運算基礎
(1)進位計數制與轉換:這樣比較簡單,也應該掌握怎麼樣進行換算,有出題的可能。
(2)計算機中數的表示:原始碼、反碼與補碼。
正數的反碼與原始碼相同,負數的反碼為該數的原始碼除符號位外按位取反。
正數的補碼與原始碼相同,負數的補碼為該數的反碼加一。
例如-98的原始碼:111****10B
反碼:10011101B
補碼:10011110B
(3)定點表示法:數的小數點的位置人為約定固定不變。
浮點表示法:數的小數點位置是浮動的,它由尾數部分和階數部分組成。
任意一個二進位制N總可以寫成:N=2P×S。S為尾數,P為階數。
(4)漢字表示法,搞清楚GB2318-80中國標碼和機內碼的變換。
(5)語音編碼中波形量化引數(可能會出簡單的計算題目哦)
取樣頻率:一秒內取樣的次數,反映了取樣點之間的間隔大小。
人耳的聽覺上限是20kHz,因此40kHz以上的取樣頻率足以使人滿意。
CD唱片採用的取樣頻率是44.1kHz。
測量精度:樣本的量化等級,目前標準取樣量級有8位和16位兩種。
聲道數:單聲道和立體聲雙道。立體聲需要兩倍的儲存空間。
11、差錯控制編碼
(1)根據碼組的功能,可以分為檢錯碼和糾錯碼兩類。檢錯碼是指能自動發現差錯的碼,例如奇偶檢驗碼;糾錯碼是指不僅能發現差錯而且能自動糾正差錯的碼,例如迴圈冗餘校驗碼。
(2)奇偶檢驗碼、海明碼、迴圈冗餘校驗碼(CRC)。
12、嵌入式系統的度量專案
(1)效能指標:分為部件效能指標和綜合性能指標,主要包括:吞吐率、實時性和各種利用率。
(2)可靠性與安全性
可靠性是嵌入式系統最重要、最突出的基本要求,是一個嵌入式系統能正常工作的保證,一般用平均故障間隔時間MTBF來度量。
(3)可維護性:一般用平均修復時間MTTR表示。
(4)可用性
(5)功耗
(6)環境適應性
(7)通用性
(8)安全性
(9)保密性
(10)可擴充套件性
價效比中的價格,除了直接購買嵌入式系統的價格外,還應包含安裝費用、若干年的執行維修費用和軟體租用費。
13、嵌入式系統的評價方法:測量法和模型法
(1)測量法是最直接最基本的方法,需要解決兩個問題:
A、根據研究的目的,確定要測量的系統引數。
B、選擇測量的工具和方式。
(2)測量的方式有兩種:取樣方式和事件跟蹤方式。
(3)模型法分為分析模型法和模擬模型法。分析模型法是用一些數學方程去刻畫系統的模型,而模擬模型法是用模擬程式的執行去動態表達嵌入式系統的狀態,而進行系統統計分析,得出效能指標。
(4)分析模型法中使用最多的是排隊模型,它包括三個部分:輸入流、排隊規則和服務機構。
(5)使用模型對系統進行評價需要解決3個問題:設計模型、解模型、校準和證實模型。