了解硬件體系 開(kāi)發(fā)嵌入式Linux
與單純的硬件開(kāi)發(fā)或軟件開(kāi)發(fā)有所不同,嵌入式Linux系統在研發(fā)過(guò)程中通常都要涉及到硬件和軟件兩個(gè)環(huán)節。許多計算機軟件開(kāi)發(fā)人員在轉向嵌入式系統Linux開(kāi)發(fā)的過(guò)程中顯得力不從心,一個(gè)原因就在于缺乏對嵌入式系統的硬件體系結構的了解,而偏偏嵌入式系統開(kāi)發(fā)又對硬件的要求非常高。
本文引用地址:http://dyxdggzs.com/article/201808/387868.htm從本質(zhì)上說(shuō),嵌入式Linux系統也屬于計算機系統的范疇,因此不可避免地要由三大基本部分組成:中央處理器(CPU)、存儲設備和I/O設備。此外,它還需要負責在三大部分之間進(jìn)行通信的設備。本文從這幾個(gè)方面入手介紹嵌入式Linux系統的硬件體系結構。
中央處理器
嵌入式系統的核心部件是各種類(lèi)型的嵌入式中央處理器。根據所用指令集的不同,嵌入式中央處理器可以分成兩種主要的體系結構,一種是復雜指令集(Complex Instruction Set Computer,CISC)系統,另一種則是精簡(jiǎn)指令集(Reduced Instruction Set Computer,RISC)系統。
在20世紀60年代,CISC結構曾是嵌入式中央處理器的設計主流。但是隨著(zhù)時(shí)間的推移,這種設計思想已經(jīng)越來(lái)越難以滿(mǎn)足實(shí)際應用的需要。于是有人開(kāi)始提出了一種全新的處理器體系結構——RISC。目前使用的嵌入式中央處理器大多采用RISC結構。
現在幾乎所有的半導體制造商都有能力生產(chǎn)嵌入式中央處理器,根據所用技術(shù)的不同,可以將嵌入式中央處理器分成如下四種類(lèi)型:
嵌入式微處理器(Embedded Micro Processor Unit,EMPU)
嵌入式微控制器(Embedded Micro-controller Unit,EMU)
嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)
嵌入式片上系統(Embedded System on Chip,ESoC)
微處理器
現在的通用計算機都是以微處理器為中心。從嚴格意義上說(shuō),“微處器”指的是芯片內部只包括CPU本身,而不包括存儲器和I/O接口等其它功能模塊,采用的是馮·諾依曼體系結構。在一些高端的嵌入式應用中,通過(guò)將微處理器裝配在專(zhuān)門(mén)設計的電路板上,并配以必要的外圍接口電路和擴展電路,可以快速構造出一個(gè)實(shí)用的嵌入式系統。
為了滿(mǎn)足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上與通用微處理器基本相同,但在工作電壓、工作溫度、抗干擾性和可靠性等方面都做了增強。一般說(shuō)來(lái),采用微處理器來(lái)構建嵌入式系統具有良好的實(shí)時(shí)性能、支持多任務(wù)處理、便于存儲區保護、提供處理器擴展、豐富的調試功能和完善的電源管理等優(yōu)勢。
微控制器
微處理器芯片中不包括I/O接口電路,也沒(méi)有其它外圍功能模塊,功能相對單一。因此,嵌入式系統的設計人員和硬件廠(chǎng)商開(kāi)始傾向于開(kāi)發(fā)另一種類(lèi)型的嵌入式處理器。這種處理器不用像通用處理器那樣具有強大而齊全的功能,但要力求做到小巧,而且省電。這就是嵌入式微控制器,通常也稱(chēng)之為單片機。
微控制器通常以某個(gè)微處理器內核為基礎,芯片內部集成ROM、RAM、FLASH、總線(xiàn)邏輯和I/O端口等各種必要的功能模塊,以適應特定場(chǎng)合的需要。與微處理器相比,微控制器最大的優(yōu)點(diǎn)就是集成化,使體積、功耗和成本得到了有效的控制,并且可靠性大大提高。微控制器是目前嵌入式系統的主流產(chǎn)品,在構建嵌入式系統時(shí),能節省系統開(kāi)支、降低出錯概率和減少高頻干擾。
在開(kāi)發(fā)嵌入式系統時(shí),經(jīng)常會(huì )遇到結構簡(jiǎn)單且數量眾多的外圍設備。這些設備有的需要CPU為之提供控制手段,有的則需要被CPU當作輸入信號,雖然功能各不相同,但通常都只需要表示開(kāi)和關(guān)兩個(gè)基本狀態(tài)就足夠了。因為無(wú)論是傳統的串口還是并口,對這些設備的處理都顯得力不從心,所以在微控制器芯片上大多會(huì )提供一個(gè)通用可編程I/O接口(GPIO),這是微控制器有別于微處理器的一個(gè)顯著(zhù)特征。
DSP處理器
數字信號處理器(Digital Signal Processor,DSP)是專(zhuān)門(mén)為數字信號處理而設計的處理器。它現在已經(jīng)被廣泛地應用在各種消費電子類(lèi)產(chǎn)品當中,比如手機就運用了DSP技術(shù)對數字語(yǔ)音信號進(jìn)行編碼和譯碼。DSP處理器通常是針對特定應用而開(kāi)發(fā)的,其優(yōu)點(diǎn)是能夠在短時(shí)間內對特定的數字信號進(jìn)行大量的處理,具有很強的實(shí)時(shí)運行功能。PC機上使用的通用處理器(如Intel的80x86)在工作時(shí),大約有百分之九十的時(shí)間都是在進(jìn)行加法運算,乘法運算所占的比重相對較少。因此,通用處理器一般不會(huì )在提高乘法運算能力上下很大功夫,而DSP處理器的出現正好彌補了這一缺陷。
為了加快數字信號的處理速度,DSP處理器在設計時(shí)加入了許多特殊結構,以增強它的并行處理能力。通用處理器在設計時(shí)遵循的是便宜和簡(jiǎn)單的原則,一般面向普通用戶(hù)。因而它采用的是馮·諾依曼體系結構,指令和數據處于同一地址空間。當處理器要執行某條指令時(shí),必須先將指令從內存中讀出來(lái)進(jìn)行譯碼,然后再將運算數據從內存中取出來(lái),之后才能執行真正的運算,耗費在運算之外的時(shí)間非常多。DSP處理器則擁有一種稱(chēng)為哈佛的總線(xiàn)結構。這種結構使用不同的指令和運算數據總線(xiàn),可以同時(shí)從內存中讀出指令和數據進(jìn)行運算,從而減少了運算所耗費的時(shí)間。
嵌入式DSP處理器對系統結構和指令都進(jìn)行了特殊設計,使其能夠在資源受限的情況下執行某種DSP算法。由于編譯效率和指令執行速度都很高,因此,像數字濾波、快速傅立葉變換和離散余弦變換等DSP算法正在被大量引入到嵌入式領(lǐng)域中來(lái)。目前,DSP處理器主要應用在嵌入式系統的智能化領(lǐng)域,如生物信息識別終端、實(shí)時(shí)語(yǔ)音處理和虛擬現實(shí)等。這類(lèi)智能化算法一般運算量較大,特別是乘法運算和向量運算非常多,而這恰好是DSP處理器的優(yōu)勢所在。
SoC
隨著(zhù)EDI的推廣和VLSI設計的普及,出現了片上系統(System on Chip,SoC)。SoC顧名思義指的是集成在CPU芯片上的部件比較多,足以獨立構成一個(gè)系統。實(shí)際上它與微控制器的區別并不十分嚴格,因此有時(shí)會(huì )將同一塊芯片既稱(chēng)為微控制器,又稱(chēng)為SoC。
在嵌入式系統中使用SoC處理器具有如下一些顯著(zhù)的優(yōu)點(diǎn):
降低內部工作電壓,減少芯片功耗;
減少芯片引腳數目,簡(jiǎn)化制造過(guò)程;
簡(jiǎn)化外圍驅動(dòng)單元,優(yōu)化處理速度;
優(yōu)化內部電路結構,降低系統噪聲。
存儲設備
存儲設備的主要作用是保存操作系統和應用程序的映像,以及系統在運行時(shí)所需的數據。在嵌入式系統中使用的存儲設備可以分為內部存儲器和外部存儲器兩類(lèi)。內部存儲器和處理器處于同一塊芯片上,CPU不必通過(guò)I/O電路就可以直接訪(fǎng)問(wèn)它們,處理速度非???,但造價(jià)也異常昂貴。外部存儲器是用來(lái)存儲程序或數據的獨立設備,訪(fǎng)問(wèn)時(shí)需要花費比內部存儲器更多的時(shí)間,并且需要在處理器周?chē)罱~外的尋址電路。
無(wú)論存儲器位于處理器的內部還是外部,都可以進(jìn)一步劃分成如下幾種類(lèi)型:
隨機存取存儲器(Random Access Memory,RAM);
只讀存儲器(Read Only Memory,ROM);
混合存儲器(Hybrid Memory)。
RAM
RAM是一種可以被隨機訪(fǎng)問(wèn)的存儲設備。RAM有時(shí)也被稱(chēng)為讀寫(xiě)存儲器,這是因為對這種存儲設備可以同時(shí)執行讀操作和寫(xiě)操作。根據工作原理的不同,RAM可以分為兩種類(lèi)型,動(dòng)態(tài)RAM(DRAM,Dynamic RAM)和靜態(tài)RAM(SRAM,Static RAM)。
RAM既可以位于處理器內部,也可以位于處理器外部。它與處理器的連線(xiàn)一般包括地址總線(xiàn)、數據總線(xiàn)、片選信號和讀/寫(xiě)控制信號等。通用計算機一般采用DRAM,而嵌入式系統則多少會(huì )采用一些SRAM,或者完全采用SRAM。
ROM
嵌入式系統一般都不采用磁盤(pán),其操作系統和應用程序的映像,以及系統運行時(shí)所需的數據,都必須保存在某種斷電以后數據不會(huì )丟失的存儲設備中,即通常所說(shuō)的不揮發(fā)存儲器。與通用計算機相比,嵌入式系統往往配備更多的不揮發(fā)存儲器?,F在基于半導體技術(shù)的不揮發(fā)存儲器大多是只讀的或接近只讀的,一般泛稱(chēng)為ROM,常見(jiàn)的有掩膜式ROM、可編程ROM和可擦除ROM。
ROM的特點(diǎn)是即使關(guān)閉電源,其中的內容仍然能夠保存不變。因此,它通常被嵌入式系統用來(lái)保存系統所需的程序代碼和所有永久性數據。
混合存儲器
在嵌入式系統中使用的混合存儲器主要有以下幾類(lèi):
EEPROM與EPROM類(lèi)似,不同點(diǎn)在于它是通過(guò)電信號進(jìn)行擦除的。
Flash也稱(chēng)為閃存,其本質(zhì)上是一種EEPROM,但能夠在正常的工作電壓和電流下進(jìn)行擦除和寫(xiě)入操作。因此,它可以在目標系統中在線(xiàn)地改變其內容
NVRAM也稱(chēng)為非易失性RAM,可以看成是帶有后備電池的SRAM,即使電源關(guān)閉后它的內容也可以保持不變。
在現有的技術(shù)條件下,閃存對嵌入式系統來(lái)講是理想的、不揮發(fā)存儲器。
I/O設備
一般來(lái)說(shuō),嵌入式系統配備的顯示設備大多是尺寸較小的LCD,按工作原理不同可以分為T(mén)FT和DSTN兩種。
TFT 由薄膜晶體管(Thin Film Transistor)陳列構成,優(yōu)點(diǎn)是亮度大、色彩鮮艷、可視角度大;缺點(diǎn)是價(jià)格高、耗電大,并且容易發(fā)生因個(gè)別晶體管損壞而在圖像上形成斑點(diǎn)的現象。
DSTN 利用液晶在不同電場(chǎng)下能夠呈現不同的光學(xué)特性,在顯示屏上用水平和垂直放置的導線(xiàn)做成網(wǎng)格,并加以電信號進(jìn)行掃描,就可以依次在每個(gè)交點(diǎn)上形成并保持一定的電場(chǎng),從而使該點(diǎn)上的液晶在反射或透射光線(xiàn)時(shí)能夠顯示出不同的顏色。
目前,在嵌入式系統中廣泛使用的LCD有主動(dòng)式和被動(dòng)式的區別。被動(dòng)式LCD顯示器的電壓控制部件設計在顯示面板的四周,反應時(shí)間長(cháng)且光線(xiàn)輸出量少,因而可視角度比較小,顯示動(dòng)態(tài)圖像時(shí)的效果比較差,并且容易產(chǎn)生殘影現象。主動(dòng)式LCD顯示器則通過(guò)在每個(gè)液晶單元內放置電壓控制單元,在縮短反應時(shí)間的同時(shí)增加了光線(xiàn)的輸出量,從而可以提供較好的動(dòng)態(tài)顯示效果。由于主動(dòng)式LCD顯示器的成本較高,因此目前只在一些高端的嵌入式設備中采用,如PDA和信息家電等。一般的嵌入式系統基于成本和實(shí)用性方面的考慮,大多采用被動(dòng)式LCD顯示器,如普通的移動(dòng)電話(huà)等。
配備了LCD顯示器的嵌入式設備往往還同時(shí)配有透明的觸摸屏,通常觸摸屏與液晶顯示器是疊放在一起的。這樣用戶(hù)可以用觸筆或手指在屏幕上定位,從而取代鼠標的作用,或者直接進(jìn)行手寫(xiě)輸入,以取代鍵盤(pán)的作用。
通信設備
Firewire
IEEE 1394也稱(chēng)為Firewire,其傳輸帶寬可以達到400Mb/s,最適合進(jìn)行多媒體數據的傳輸,可以運用在多媒體實(shí)時(shí)播放、剪輯或者傳輸的場(chǎng)合。在需要進(jìn)行快速且大量數據傳輸的嵌入式設備中,IEEE 1394是一個(gè)經(jīng)常被用到的數據傳輸接口。
IEEE 1394在進(jìn)行多媒體數據傳輸時(shí)的體系結構最上層為應用層(Application),以下依次為傳輸層(Transaction)、鏈路層(Link)和物理層(Physical)。多媒體數據在由應用層傳送到鏈路層后,將遵循IEEE 1394標準進(jìn)行封包,然后再經(jīng)由鏈路層和物理層把數據傳送出去。數據接收的另一端會(huì )接收打包數據,再經(jīng)過(guò)拆包將數據還原成原來(lái)的多媒體數據。
USB
USB接口原本是用于PC機的一種輸入/輸出接口,具有熱插拔特性。當擁有USB接口的外圍設備在與PC機連接時(shí),操作系統會(huì )自動(dòng)偵測到這一設備,并且能夠在不重新啟動(dòng)計算機的前提下完成軟硬件的配置。
因為USB 1.1規范中定義的數據傳輸速度可以高達12Mbps,所以使用USB接口的PDA在與PC進(jìn)行數據同步時(shí)的速度要比使用RS-232高出許多。而最新的USB 2.0規范中,數據傳輸的最高速度可以達到480Mbps,用于進(jìn)行大量且高速的數據傳輸。
藍牙
藍牙(Bluetooth)是一個(gè)用于無(wú)線(xiàn)通信的標準協(xié)議。它可以給嵌入式系統提供無(wú)線(xiàn)數據傳輸功能,其通信頻率處于2.4GHz以?xún)?,即使在無(wú)線(xiàn)噪聲很強的環(huán)境下仍然能夠保持很高的準確性。用于無(wú)線(xiàn)通信的藍牙模塊主要由三個(gè)部分組成,無(wú)線(xiàn)傳輸收發(fā)單元、基帶處理單元和數據傳輸接口。
當無(wú)線(xiàn)信號由藍牙的無(wú)線(xiàn)傳輸收發(fā)單元接收到之后,會(huì )被送到基帶處理單元進(jìn)行信號處理。處理后的數字信號再通過(guò)數據傳輸接口,傳送到嵌入式系統的處理器之中作進(jìn)一步的處理。
紅外線(xiàn)
嵌入式系統中的紅外收發(fā)模塊主要由三個(gè)部分組成:紅外線(xiàn)發(fā)光二極管、硅管光檢測器和控制電路。紅外線(xiàn)發(fā)光二級管是用于發(fā)射紅外線(xiàn)的裝置。它能夠發(fā)射波長(cháng)在0.85微米到0.90微米之間的紅外光波。硅管光檢測器是用于接收紅外線(xiàn)的裝置。由它接收到的信號將被傳到控制電路當中,然后再送給嵌入式系統的處理器作進(jìn)一步的處理。
紅外線(xiàn)收發(fā)模塊也有相應的標準。最早出現的是1994年的IrDA1.0,采用波長(cháng)在0.85微米到0.90微米的紅外線(xiàn)進(jìn)行傳輸,傳輸速度為115.2Kbps,距離大約在1米左右,接收角度在30度之內。而在1999年提出的VFIR標準中,傳輸速度已經(jīng)可以高達16Mbps,有效距離為8米。
802.11
802.11是IEEE在1997年提出的一個(gè)無(wú)線(xiàn)網(wǎng)絡(luò )通信標準,其目的是使各個(gè)廠(chǎng)商的無(wú)線(xiàn)網(wǎng)絡(luò )設備可以互相兼容,從而提供一個(gè)穩定的無(wú)線(xiàn)傳輸環(huán)境。到了1999年,IEEE又先后提出了IEEE 802.11a和IEEE 802.11b兩個(gè)無(wú)線(xiàn)傳輸協(xié)議,其中802.11a使用5.8GHz的頻帶進(jìn)行無(wú)線(xiàn)傳輸,而802.11b則使用2.4GHz的頻帶進(jìn)行無(wú)線(xiàn)傳輸?;?02.11b協(xié)議的無(wú)線(xiàn)網(wǎng)絡(luò )的最高速度是11Mbps,比常用的以太網(wǎng)稍微快一點(diǎn),現在已經(jīng)有許多嵌入式系統開(kāi)始使用基于802.11b協(xié)議的設備,開(kāi)發(fā)基于無(wú)線(xiàn)網(wǎng)絡(luò )的各種應用。最新的協(xié)議是802.11g。
本文討論了嵌入式Linux系統的硬件體系結構,從中央處理器、存儲設備、I/O設備和通信設備幾個(gè)方面分別介紹了目前在嵌入式開(kāi)發(fā)中經(jīng)常遇到的硬件設備。了解這些基本的硬件知識對今后深入進(jìn)行嵌入式Linux系統的開(kāi)發(fā)將會(huì )很有幫助。
評論