嵌入式系統(tǒng)的核心:嵌入式計(jì)算機(jī)系統(tǒng)

來源:投影時(shí)代 更新日期:2010-04-02 作者:pjtime資訊組

    一個(gè)嵌入式系統(tǒng)裝置一般都由嵌入式計(jì)算機(jī)系統(tǒng)和執(zhí)行裝置組成,嵌入式計(jì)算機(jī)系統(tǒng)是整個(gè)嵌入式系統(tǒng)的核心,由硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層組成。執(zhí)行裝置也稱為被控對(duì)象,它可以接受嵌入式計(jì)算機(jī)系統(tǒng)發(fā)出的控制命令,執(zhí)行所規(guī)定的操作或任務(wù)。執(zhí)行裝置可以很簡(jiǎn)單,如手機(jī)上的一個(gè)微小型的電機(jī),當(dāng)手機(jī)處于震動(dòng)接收狀態(tài)時(shí)打開;也可以很復(fù)雜,如SONY 智能機(jī)器狗,上面集成了多個(gè)微小型控制電機(jī)和多種傳感器,從而可以執(zhí)行各種復(fù)雜的動(dòng)作和感受各種狀態(tài)信息。

    下面對(duì)嵌入式計(jì)算機(jī)系統(tǒng)的組成進(jìn)行介紹。

    1)硬件層

    硬件層中包含嵌入式微處理器、存儲(chǔ)器(SDRAM、ROM、Flash等)、通用設(shè)備接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式處理器基礎(chǔ)上添加電源電路、時(shí)鐘電路和存儲(chǔ)器電路,就構(gòu)成了一個(gè)嵌入式核心控制模塊。其中操作系統(tǒng)和應(yīng)用程序都可以固化在ROM中。

    (1)嵌入式微處理器

    嵌入式系統(tǒng)硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在于嵌入式微處理器大多工作在為特定用戶群所專用設(shè)計(jì)的系統(tǒng)中,它將通用CPU許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)在設(shè)計(jì)時(shí)趨于小型化,同時(shí)還具有很高的效率和可靠性。

    嵌入式微處理器的體系結(jié)構(gòu)可以采用馮·諾依曼體系或哈佛體系結(jié)構(gòu);指令系統(tǒng)可以選用精簡(jiǎn)指令系統(tǒng)(Reduced Instruction Set Computer,RISC)和復(fù)雜指令系統(tǒng)CISC(Complex Instruction Set Computer,CISC)。RISC計(jì)算機(jī)在通道中只包含最有用的指令,確保數(shù)據(jù)通道快速執(zhí)行每一條指令,從而提高了執(zhí)行效率并使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單。

    嵌入式微處理器有各種不同的體系,即使在同一體系中也可能具有不同的時(shí)鐘頻率和數(shù)據(jù)總線寬度,或集成了不同的外設(shè)和接口。據(jù)不完全統(tǒng)計(jì),目前全世界嵌入式微處理器已經(jīng)超過1000多種,體系結(jié)構(gòu)有30多個(gè)系列,其中主流的體系有ARM、MIPS、PowerPC、X86和SH等。但與全球PC市場(chǎng)不同的是,沒有一種嵌入式微處理器可以主導(dǎo)市場(chǎng),僅以32位的產(chǎn)品而言,就有100種以上的嵌入式微處理器。嵌入式微處理器的選擇是根據(jù)具體的應(yīng)用而決定的。

    (2)存儲(chǔ)器

    嵌入式系統(tǒng)需要存儲(chǔ)器來存放和執(zhí)行代碼。嵌入式系統(tǒng)的存儲(chǔ)器包含Cache、主存和輔助存儲(chǔ)器,其存儲(chǔ)結(jié)構(gòu)如圖1-2所 示。

    1>Cache

    Cache是一種容量小、速度快的存儲(chǔ)器陣列它位于主存和嵌入式微處理器內(nèi)核之間,存放的是最近一段時(shí)間微處理器使用最多的程序代碼和數(shù)據(jù)。在需要進(jìn)行數(shù)據(jù)讀取操作時(shí),微處理器盡可能的從Cache中讀取數(shù)據(jù),而不是從主存中讀取,這樣就大大改善了系統(tǒng)的性能,提高了微處理器和主存之間的數(shù)據(jù)傳輸速率。Cache的主要目標(biāo)就是:減小存儲(chǔ)器(如主存和輔助存儲(chǔ)器)給微處理器內(nèi)核造成的存儲(chǔ)器訪問瓶頸,使處理速度更快,實(shí)時(shí)性更強(qiáng)。

    在嵌入式系統(tǒng)中Cache全部集成在嵌入式微處理器內(nèi),可分為數(shù)據(jù)Cache、指令Cache或混合Cache,Cache的大小依不同處理器而定。一般中高檔的嵌入式微處理器才會(huì)把Cache集成進(jìn)去。

    2>主存

    主存是嵌入式微處理器能直接訪問的寄存器,用來存放系統(tǒng)和用戶的程序及數(shù)據(jù)。它可以位于微處理器的內(nèi)部或外部,其容量為256KB~1GB,根據(jù)具體的應(yīng)用而定,一般片內(nèi)存儲(chǔ)器容量小,速度快,片外存儲(chǔ)器容量大。

    常用作主存的存儲(chǔ)器有:

    ROM類 NOR Flash、EPROM和PROM等。

    RAM類 SRAM、DRAM和SDRAM等。

    其中NOR Flash 憑借其可擦寫次數(shù)多、存儲(chǔ)速度快、存儲(chǔ)容量大、價(jià)格便宜等優(yōu)點(diǎn),在嵌入式領(lǐng)域內(nèi)得到了廣泛應(yīng)用。

    3>輔助存儲(chǔ)器

    輔助存儲(chǔ)器用來存放大數(shù)據(jù)量的程序代碼或信息,它的容量大、但讀取速度與主存相比就慢的很多,用來長(zhǎng)期保存用戶的信息。

    嵌入式系統(tǒng)中常用的外存有:硬盤、NAND Flash、CF卡、MMC和SD卡等。

    (3)通用設(shè)備接口和I/O接口

    嵌入式系統(tǒng)和外界交互需要一定形式的通用設(shè)備接口,如A/D、D/A、I/O等,外設(shè)通過和片外其他設(shè)備的或傳感器的連接來實(shí)現(xiàn)微處理器的輸入/輸出功能。每個(gè)外設(shè)通常都只有單一的功能,它可以在芯片外也可以內(nèi)置芯片中。外設(shè)的種類很多,可從一個(gè)簡(jiǎn)單的串行通信設(shè)備到非常復(fù)雜的802.11無線設(shè)備。

    目前嵌入式系統(tǒng)中常用的通用設(shè)備接口有A/D(模/數(shù)轉(zhuǎn)換接口)、D/A(數(shù)/模轉(zhuǎn)換接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太網(wǎng)接口)、USB(通用串行總線接口)、音頻接口、VGA視頻輸出接口、I2C(現(xiàn)場(chǎng)總線)、SPI(串行外圍設(shè)備接口)和IrDA(紅外線接口)等。

    2)中間層

    硬件層與軟件層之間為中間層,也稱為硬件抽象層(Hardware Abstract Layer,HAL)或板級(jí)支持包(Board Support Package,BSP),它將系統(tǒng)上層軟件與底層硬件分離開來,使系統(tǒng)的底層驅(qū)動(dòng)程序與硬件無關(guān),上層軟件開發(fā)人員無需關(guān)心底層硬件的具體情況,根據(jù)BSP 層提供的接口即可進(jìn)行開發(fā)。該層一般包含相關(guān)底層硬件的初始化、數(shù)據(jù)的輸入/輸出操作和硬件設(shè)備的配置功能。BSP具有以下兩個(gè)特點(diǎn)。

    硬件相關(guān)性:因?yàn)榍度胧綄?shí)時(shí)系統(tǒng)的硬件環(huán)境具有應(yīng)用相關(guān)性,而作為上層軟 件與硬件平臺(tái)之間的接口,BSP需要為操作系統(tǒng)提供操作和控制具體硬件的方法。

    操作系統(tǒng)相關(guān)性:不同的操作系統(tǒng)具有各自的軟件層次結(jié)構(gòu),因此,不同的操作系統(tǒng)具有特定的硬件接口形式。

    實(shí)際上,BSP是一個(gè)介于操作系統(tǒng)和底層硬件之間的軟件層次,包括了系統(tǒng)中大部分與硬件聯(lián)系緊密的軟件模塊。設(shè)計(jì)一個(gè)完整的BSP需要完成兩部分工作:嵌入式系統(tǒng)的硬件初始化以及BSP功能,設(shè)計(jì)硬件相關(guān)的設(shè)備驅(qū)動(dòng)。

    (1)嵌入式系統(tǒng)硬件初始化

    系統(tǒng)初始化過程可以分為3個(gè)主要環(huán)節(jié),按照自底向上、從硬件到軟件的次序依次為:片級(jí)初始化、板級(jí)初始化和系統(tǒng)級(jí)初始化。

    片級(jí)初始化

    完成嵌入式微處理器的初始化,包括設(shè)置嵌入式微處理器的核心寄存器和控制寄存器、嵌入式微處理器核心工作模式和嵌入式微處理器的局部總線模式等。片級(jí)初始化把嵌入式微處理器從上電時(shí)的默認(rèn)狀態(tài)逐步設(shè)置成系統(tǒng)所要求的工作狀態(tài)。這是一個(gè)純硬件的初始化過程。

    板級(jí)初始化

    完成嵌入式微處理器以外的其他硬件設(shè)備的初始化。另外,還需設(shè)置某些軟件的數(shù)據(jù)結(jié)構(gòu)和參數(shù),為隨后的系統(tǒng)級(jí)初始化和應(yīng)用程序的運(yùn)行建立硬件和軟件環(huán)境。這是一個(gè)同時(shí)包含軟硬件兩部分在內(nèi)的初始化過程。

    系統(tǒng)初始化

    該初始化過程以軟件初始化為主,主要進(jìn)行操作系統(tǒng)的初始化。BSP將對(duì)嵌入式微處理器的控制權(quán)轉(zhuǎn)交給嵌入式操作系統(tǒng),由操作系統(tǒng)完成余下的初始化操作,包含加載和初始化與硬件無關(guān)的設(shè)備驅(qū)動(dòng)程序,建立系統(tǒng)內(nèi)存區(qū),加載并初始化其他系統(tǒng)軟件模塊,如網(wǎng)絡(luò)系統(tǒng)、文件系統(tǒng)等。最后,操作系統(tǒng)創(chuàng)建應(yīng)用程序環(huán)境,并將控制權(quán)交給應(yīng)用程序的入口。

    (2)硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序

    BSP的另一個(gè)主要功能是硬件相關(guān)的設(shè)備驅(qū)動(dòng)。硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序的初始化通常是一個(gè)從高到低的過程。盡管BSP中包含硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序,但是這些設(shè)備驅(qū)動(dòng)程序通常不直接由BSP使用,而是在系統(tǒng)初始化過程中由BSP將他們與操作系統(tǒng)中通用的設(shè)備驅(qū)動(dòng)程序關(guān)聯(lián)起來,并在隨后的應(yīng)用中由通用的設(shè)備驅(qū)動(dòng)程序調(diào)用,實(shí)現(xiàn)對(duì)硬件設(shè)備的操作。與硬件相關(guān)的驅(qū)動(dòng)程序是BSP設(shè)計(jì)與開發(fā)中另一個(gè)非常關(guān)鍵的環(huán)節(jié)。

    3)系統(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ā)平臺(tái)。

廣告聯(lián)系:010-82755684 | 010-82755685 手機(jī)版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影時(shí)代網(wǎng) 版權(quán)所有 關(guān)于投影時(shí)代 | 聯(lián)系我們 | 歡迎來稿 | 網(wǎng)站地圖
返回首頁 網(wǎng)友評(píng)論 返回頂部 建議反饋
快速評(píng)論
驗(yàn)證碼: 看不清?點(diǎn)一下
發(fā)表評(píng)論