當前位置:文思屋>社會工作>IT認證>

嵌入式系統組成

文思屋 人氣:3.19W

簡介

嵌入式系統組成

一個嵌入式系統裝置一般都由嵌入式計算機系統和執行裝置組成,如圖1-1所示,嵌入式計算機系統是整個嵌入式系統的核心,由硬體層、中間層、系統軟體層和應用軟體層組成。執行裝置也稱為被控物件,它可以接受嵌入式計算機系統發出的控制命令,執行所規定的操作或任務。執行裝置可以很簡單,如手機上的一個微小型的電機,當手機處於震動接收狀態時開啟;也可以很複雜,如SONY智慧機器狗,上面集成了多個微小型控制電機和多種感測器,從而可以執行各種複雜的動作和感受各種狀態資訊。

硬體層

硬體層中包含嵌入式微處理器、儲存器(SDRAM、ROM、Flash等)、通用裝置介面和I/O介面(A/D、D/A、I/O等)。在一片嵌入式處理器基礎上新增電源電路、時鐘電路和儲存器電路,就構成了一個嵌入式核心控制模組。其中作業系統和應用程式都可以固化在ROM中。

1、嵌入式微處理器

嵌入式系統硬體層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在於嵌入式微處理器大多工作在為特定使用者群所專用設計的系統中,它將通用CPU許多由板卡完成的任務整合在晶片內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。

嵌入式微處理器的體系結構可以採用馮·諾依曼體系或哈佛體系結構;指令系統可以選用精簡指令系統(Reduced Instruction Set Computer,RISC)和複雜指令系統CISC(Complex Instruction Set Computer,CISC)。RISC計算機在通道中只包含最有用的指令,確保資料通道快速執行每一條指令,從而提高了執行效率並使CPU硬體結構設計變得更為簡單。

嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時鐘頻率和資料匯流排寬度,或集成了不同的外設和介面。據不完全統計,目前全世界嵌入式微處理器已經超過1000多種,體系結構有30多個系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場不同的是,沒有一種嵌入式微處理器可以主導市場,僅以32位的產品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據具體的應用而決定的。

2、儲存器

嵌入式系統需要儲存器來存放和執行程式碼。嵌入式系統的儲存器包含Cache、主存和輔助儲存器。

1>Cache

Cache是一種容量小、速度快的儲存器陣列它位於主存和嵌入式微處理器核心之間,存放的是最近一段時間微處理器使用最多的程式程式碼和資料。在需要進行資料讀取操作時,微處理器儘可能的從Cache中讀取資料,而不是從主存中讀取,這樣就大大改善了系統的效能,提高了微處理器和主存之間的資料傳輸速率。Cache的主要目標就是:減小儲存器(如主存和輔助儲存器)給微處理器核心造成的儲存器訪問瓶頸,使處理速度更快,實時性更強。

在嵌入式系統中Cache全部整合在嵌入式微處理器內,可分為資料Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會把Cache整合進去。

2>主存

主存是嵌入式微處理器能直接訪問的暫存器,用來存放系統和使用者的程式及資料。它可以位於微處理器的內部或外部,其容量為256KB~1GB,根據具體的應用而定,一般片記憶體儲器容量小,速度快,片外儲存器容量大。

常用作主存的儲存器有:

ROM類 NOR Flash、EPROM和PROM等。

RAM類 SRAM、DRAM和SDRAM等。

其中NOR Flash 憑藉其可擦寫次數多、儲存速度快、儲存容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。

3>輔助儲存器

輔助儲存器用來存放大資料量的程式程式碼或資訊,它的容量大、但讀取速度與主存相比就慢的很多,用來長期儲存使用者的資訊。

嵌入式系統中常用的外存有:硬碟、NAND Flash、CF卡、MMC和SD卡等。

3、通用裝置介面和I/O介面

嵌入式系統和外界互動需要一定形式的通用裝置介面,如A/D、D/A、I/O等,外設通過和片外其他裝置的或感測器的連線來實現微處理器的輸入/輸出功能。每個外設通常都只有單一的功能,它可以在晶片外也可以內建晶片中。外設的種類很多,可從一個簡單的序列通訊裝置到非常複雜的802.11無線裝置。

目前嵌入式系統中常用的通用裝置介面有A/D(模/數轉換介面)、D/A(數/模轉換介面),I/O介面有RS-232介面(序列通訊介面)、Ethernet(乙太網介面)、USB(通用序列匯流排介面)、音訊介面、VGA視訊輸出介面、I2C(現場匯流排)、SPI(序列外圍裝置介面)和IrDA(紅外線介面)等。

中間層

硬體層與軟體層之間為中間層,也稱為硬體抽象層(Hardware Abstract Layer,HAL)或板級支援包(Board Support Package,BSP),它將系統上層軟體與底層硬體分離開來,使系統的底層驅動程式與硬體無關,上層軟體開發人員無需關心底層硬體的具體情況,根據BSP 層提供的介面即可進行開發。該層一般包含相關底層硬體的初始化、資料的輸入/輸出操作和硬體裝置的配置功能。BSP具有以下兩個特點。

硬體相關性:因為嵌入式實時系統的硬體環境具有應用相關性,而作為上層軟 件與硬體平臺之間的介面,BSP需要為作業系統提供操作和控制具體硬體的方法。

作業系統相關性:不同的作業系統具有各自的軟體層次結構,因此,不同的作業系統具有特定的硬體介面形式。

實際上,BSP是一個介於作業系統和底層硬體之間的軟體層次,包括了系統中大部分與硬體聯絡緊密的軟體模組。設計一個完整的BSP需要完成兩部分工作:嵌入式系統的硬體初始化以及BSP功能,設計硬體相關的裝置驅動。

1、嵌入式系統硬體初始化

系統初始化過程可以分為3個主要環節,按照自底向上、從硬體到軟體的次序依次為:片級初始化、板級初始化和系統級初始化。

片級初始化

完成嵌入式微處理器的初始化,包括設定嵌入式微處理器的核心暫存器和控制暫存器、嵌入式微處理器核心工作模式和嵌入式微處理器的區域性匯流排模式等。片級初始化把嵌入式微處理器從上電時的預設狀態逐步設定成系統所要求的工作狀態。這是一個純硬體的初始化過程。