嵌入式計算機

嵌入式計算機

計算機技術
通俗的說,嵌入式技術就是"專用"計算機技術,這個專用,是指針對某個特定的應用,如針對網絡、針對通信、針對音頻、針對視頻,針對工業控制等,從學術的角度,嵌入式系統是以應用為中心,以計算機技術為基礎,并且軟硬件可裁剪,适用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統,它一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成。[1]
  • 中文名:嵌入式計算機
  • 外文名:Embedded Computer
  • 别名:

簡介

嵌入式計算機在應用數量上遠遠超過了各種通用計算機,一台通用計算機的外部設備中就包含了5-10個嵌入式微處理器,鍵盤、鼠标、軟驅、硬盤、顯示卡、顯示器、Modem、網卡、聲卡、打印機、掃描儀、數字相機、USB集線器等均是由嵌入式處理器控制的。在制造工業、過程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類産品等方面均是嵌入式計算機的應用領域。嵌入式系統是将先進的計算機技術、半導體技術和電子技術和各個行業的具體應用相結合後的産物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。

概念

 一、嵌入式系統的概念主要從三個方面上來理解。 

1、從硬件嵌入式計算機,将基于CPU的外圍器件,整合到CPU芯片内部,比如早期基于X86體系結構下的計算機,CPU隻是有運算器和累加器的功能,一切芯片要造外部橋路來擴展實現,象串口之類的都是靠外部的 16C550/2的串口控制器芯片實現,而目前的這種串口控制器芯片早已集成到CPU内部,還有PC機有顯卡,而多數嵌入式處理器都帶有LCD控制器,但其種意義上就相當于顯卡。比較高端的ARM類Intel Xscale架構下的IXP網絡處理器CPU内部集成PCI控制器(可配成支持4個PCI從設備或配成自身為CPI從設備);還集成3個NPE網絡處理器引擎,其中兩個對應于兩個MAC地址,可用于網關交換用,而另外一個NPE網絡處理器引擎支持DSL,隻要外面再加個PHY芯片即可以實現DSL上網功能。IXP系列最高主頻可以達到1.8G,支持2G内存,1G×10或10G×1的以太網口或Febre channel的光通道。IXP系列應該是目标基于ARM體系統結構下由intel進行整合後成Xscale内核的最高的處理器了。 

2、從軟件上前,就是在定制操作系統内核裡将應用一并選入,編譯後将内核下載到ROM中。而在定制操作系統内核時所選擇的應用程序組件就是完成了軟件的“嵌入”,比如WinCE在内核定制時,會有相應選擇,其中就是Wordpad,PDF,MediaPlay等等選擇,如果我們選擇了,在CE啟動後,就可以在界面中找到這些東西,如果是以前PC上将的windows操作系統,多半的東西都需要我們得新再裝。 

3、把軟件内核或應用文件系統等東西燒到嵌入式系統硬件平台中的ROM中就實現了一個真正的“嵌入”。 

以上的定義是6、7年前給嵌入式系統下自話側重于理解型的定義,書上的定義也有很多,但在這個領域範圍内,誰都不敢說自己的定義是十分确切的,包括那些專家學者們,曆為畢竟嵌入式系統是計算機範疇下的一門綜合性學科。

系統

1.什麼是嵌入式系統

嵌入式系統一般指非pc系統,有計算機功能但又不稱之為計算機的設備或器材。它是以應用為中心,軟硬件可裁減的,适應應用系統對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統。簡單地說,嵌入式系統集系統的應用軟件與硬件于一體,類似于pc中bios的工作方式,具有軟件代碼小、高度自動化、響應速度快等特點,特别适合于要求實時和多任務的體系。嵌入式系統主要由嵌入式處理器、相關支撐硬件、嵌入式操作系統及應用軟件系統等組成,它是可獨立工作的“器件”。

嵌入式系統幾乎包括了生活中的所有電器設備,如掌上pda、移動計算設備、電視機頂盒、手機上網、數字電視、多媒體、汽車、微波爐、數字相機、家庭自動化系統、電梯、空調、安全系統、自動售貨機、蜂窩式電話、消費電子設備、工業自動化儀表與醫療儀器等。

嵌入式系統的硬件部分,包括處理器/微處理器、存儲器及外設器件和i/o端口、圖形控制器等。嵌入式系統有别于一般的計算機處理系統,它不具備像硬盤那樣大容量的存儲介質,而大多使用eprom、eeprom或閃存(flash memory)作為存儲介質。軟件部分包括操作系統軟件(要求實時和多任務操作)和應用程序編程。應用程序控制着系統的運作和行為;而操作系統控制着應用程序編程與硬件的交互作用。

二嵌入式處理器

嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般具備4個特點:(1)對實時和多任務有很強的支持能力,能完成多任務并且有較短的中斷響應時間,從而使内部的代碼和實時操作系統的執行時間減少到最低限度;(2)具有功能很強的存儲區保護功能,這是由于嵌入式系統的軟件結構已模塊化,而為了避免在軟件模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利于軟件診斷;(3)可擴展的處理器結構,以能迅速地擴展出滿足應用的高性能的嵌入式微處理器;(4)嵌入式微處理器的功耗必須很低,尤其是用于便攜式的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,功耗隻能為mw甚至μw級。

據不完全統計,目前全世界嵌入式處理器的品種總量已經超過1000種,流行的體系結構有30多個系列。其中8051體系占多半,生産這種單片機的半導體廠家有20多個,共350多種衍生産品,僅philips就有近100種。現在幾乎每個半導體制造商都生産嵌入式處理器,越來越多的公司有自己的處理器設計部門。嵌入式處理器的尋址空間一般從64kb到16mb,處理速度0.1~2000mips,常用封裝8~144個引腳。

三 嵌入式操作系統   

嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟件,它是嵌入式系統 ( 包括硬、軟件系統 ) 極為重要的組成部分,通常包括與硬件相關的底層驅動軟件、系統内核、設備驅動接口、通信協議、圖形界面、标準化浏覽器等 Browser 。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越複雜的系統資源;能夠把硬件虛拟化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、驅動程序、工具集以及應用程序 。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固态化以及應用的專用性等方面具有較為突出的特點。

四嵌入式系統的方向 

嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。嵌入式系統是軟硬結合的東西,搞嵌入式開發的人有兩類。

 一類是學電子工程、通信工程等偏硬件專業出身的人,他們主要是搞硬件設計,有時要開發一些與硬件關系最密切的最底層軟件,如BootLoader、BoardSupport Package(像PC的BIOS一樣,往下驅動硬件,往上支持操作系統),最初級的硬件驅動程序等。他們的優勢是對硬件原理非常清楚,不足是他們更擅長定義各種硬件接口,但對複雜軟件系統往往力不從心(例如嵌入式操作系統原理和複雜應用軟件等)。

 另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。如果我們學軟件的人對硬件原理和接口有較好的掌握,我們完全也可寫BSP和硬件驅動程序。嵌入式硬件設計完後,各種功能就全靠軟件來實現了,嵌入式設備的增值很大程度上取決于嵌入式軟件,這占了嵌入式系統的最主要工作(目前有很多公司将硬件設計包給了專門的硬件公司,稍複雜的硬件都交給台灣或國外公司設計,國内的硬件設計力量很弱,很多嵌入式公司自己隻負責開發軟件,因為公司都知道,嵌入式産品的差異很大程度在軟件上,在軟件方面是最有“花頭“可做的),所以我們搞軟件的人完全不用擔心我們在嵌入式市場上的用武之地,越是智能設備越是複雜系統,軟件越起關鍵作用,而且這是目前的趨勢。

分類

嵌入式系統分為4層,硬件層、驅動層、操作系統層和應用層。 

1、硬件層,是整個嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,并且能用C和彙編語言來編程的話,從嵌入式系統的硬件層走起來相對容易,硬件層也是驅動層的基礎,一個優秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統内核及其調度性相當的熟悉的。但硬件平台是基礎,增值還要靠軟件。 

硬件層比較适合于,電子、通信、自動化、機電一體、信息工程類專業的人來搞,需要掌握的專業基礎知識有,單片機原理及接口技術、微機原理及接口技術、C語言。 

2、驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統内核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨占操作系統時間片,而導至其它任務不能動行,不懂操作系統内核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行後,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行後來打開的程序。想做個好的驅動人員沒有三、四年功底,操作系統内核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可是最高的。 

驅動層比較适合于電子、通信、自動化、機電一體、信息工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬件層所具備的基礎學科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。 

3、操作系統層,對于操作系統層目前可能隻能說是簡單的移植,而很少有人來自已寫操作系統,或者寫出缺胳膊少腿的操作系統來,這部分工作大都由驅動工程師來完成。操作系統是負責系統任務的調試、磁盤和文件的管理,而嵌入式系統的實時性十分重要。據說,XP操作系統是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女娲Hopen操作系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。

4、應用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到操作系統下隻是編譯和開發環境有相應的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統中涉及算法的由專業算法的人來處理的,不必歸結到嵌入式系統範疇内。但如果涉及嵌入式系統下面嵌入式數據庫、基于嵌入式系統的網絡編程和基于某此應用層面的協議應用開發(比如基于SIP、H.323、Astrisk)方面又較為複雜,并且有難度了。

應用

 手機 

電視機頂盒 

數碼相機

 psp都有操作系統的 

電視機 

汽車 

遙控電風扇 

電子顯示屏等等

特點

嵌入式系統的主要特點

(一)系統内核小。

由于嵌入式系統一般是應用于小型電子裝置的,系統資源相對有限,所以内核較之傳統的操作系統要小得多。比如Enea公司的OSE分布式系統,内核隻有5K,而Windows的内核?簡直沒有可比性。

(二)專用性強。

嵌入式系統的個性化很強,其中的軟件系統和硬件的結合非常緊密,一般要針對硬件進行系統的移植,即使在同一品牌、同一系列的産品中也需要根據系統硬件的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統進行較大更改,程序的編譯下載要和系統相結合,這種修改和通用軟件的“升級”是完全兩個概念。

(三)系統精簡。

嵌入式系統一般沒有系統軟件和應用軟件的明顯區分,不要求其功能設計及實現上過于複雜,這樣一方面利于控制系統成本,同時也利于實現系統安全。

(四)高實時性的系統軟件(OS)是嵌入式軟件的基本要求

。而且軟件要求固态存儲,以提高速度;軟件代碼要求高質量和高可靠性。

(五)嵌入式軟件開發要想走向标準化,就必須使用多任務的操作系統。

嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行;但是為了合理地調度多任務、利用系統資源、系統函數以及和專家庫函數接口,用戶必須自行選配RTOS(Real-Time Operating System)開發平台,這樣才能保證程序執行的實時性、可靠性,并減少開發時間,保障軟件質量。

三、嵌入式系統的關鍵技術

随着後電腦時代的來臨,消費電子成為市場的主要驅動力;而在消費電子中,32位嵌入式CPU占了主導地位。針對不同的消費産品,消費者的要求也不盡相同。例如:汽車電子産品的穩定和安全性非常重要,而對藍牙産品可能更關心價格。當然,對于功耗問題的關注卻是幾乎涵蓋所有消費産品的要求。對于開發者而言,ARM架構以及相關軟件的前後兼容性對于他們加快開發周期、縮短産品上市時間是非常重要的。并且,對于消費電子産品而言,傳統的“摩爾定律”已經不是特别重要的,更重要的是在提供性能的同時,能夠有效地降低功耗和芯片面積。

 為了滿足市場對消費電子産品的種種需求,ARM也不斷開發和完善技術,推出了一系列有針對性的創新技術。例如:智能能源管理(IEM)技術能夠有效地降低嵌入式系統的功耗;TrustZone技術能夠為系統提供硬件級的安全保護,滿足了用戶、内容提供商以及運營商對内容安全性的要求;Thumb2指令集有效地降低了代碼密度,節省了系統内存使用,從而降低了系統成本;Jazelle技術提供了在硬件中執行Java加速功能,為系統提供了更好的多媒體性能。

設計

  1. 需求分析:确定設計任務和目标,并制定說明規格文檔,作為下一步設計的指導和驗收标準。需求分析往往要與用戶反複交流,以明确系統功能需求,性能需求,環境、可靠性、成本、功耗、資源等需求。 

2. 體系結構設計:體系結構設計是嵌入式系統的總體設計,它需要确定嵌入式系統的總體構架,從功能上對軟硬件進行劃分。在此基礎上,确定嵌入式系統的硬件選型(主要是處理器選型),操作系統的選擇和開發環境的選擇。 

3. 硬件的設計、制作及測試:在這一階段要确定硬件部分的各功能模塊及模塊之間的關聯,并在此基礎上完成元器件的選擇、原理圖繪制、印刷電路闆(PCB)設計、硬件的裝配與測試、目标硬件最終的确定和測試。 

4. 軟件的設計、實現及測試:這部分工作與硬件開發并行、交互進行。軟件設計主要完成引導程序的編制、操作系統的移植、驅動程序的開發、應用軟件的編寫等工作。設計完成後,軟件開發進入實現階段。這一階段主要是嵌入式軟件的生成(編譯、鍊接),調試和固化運行,最後完成軟件的測試。 

5. 系統集成:将測試完成的軟件系統裝入制作好的硬件系統中,進行系統綜合測試,驗證系統功能是否能夠正确無誤地實現,最後将正确的軟件固化在目标硬件中。本階段的工作是整個開發過程中最複雜、最費時的,特别需要相應的輔助工具支持。 

6. 系統性能測試及可靠性測試:測試最終完成的系統性能是否滿足設計任務書的各項性能指标和要求。若滿足,則可将正确無誤的軟件固化在目标硬件中;若不能滿足,在最壞的情況下,則需要回到設計的初始階段重新進行設計方案的制定。

發展現狀

随着信息化,智能化,網絡化的發展,嵌入式系統技術也将獲得廣闊的發展空間。2008年達到53000億美元,預計2009年,銷售額将達68000億美元。進入20世紀90年代,嵌入式技術全面展開,目前已成為通信和消費類産品的共同發展方向。在通信領域,數字技術正在全面取代模拟技術。在廣播電視領域,美國已開始由模拟電視向數字電視轉變,歐洲的DVB(數字電視廣播)技術已在全球大多數國家推廣。數字音頻廣播(DAB)也已進入商品化試播階段。而軟件、集成電路和新型元器件在産業發展中的作用日益重要。所有上述産品中,都離不開嵌入式系統技術。象前途無可計量的維納斯計劃生産機頂盒,核心技術就是采用32位以上芯片級的嵌入式技術。在個人領域中,嵌入式産品将主要是個人商用,作為個人移動的數據處理和通訊軟件。由于嵌入式設備具有自然的人機交互界面,GUI屏幕為中心的多媒體界面給人很大的親和力。手寫文字輸入、語音撥号上網、收發電子郵件以及彩色圖形、圖像已取得初步成效。

未來影響

1:嵌入式系統促使計算機的形态和性能更加小型化,多功能,低功耗. 

2:嵌入式系統使計算機由以往的諾曼尼結構發展成為多處理器并行計算,大大提高運行效率及穩定性.

3:嵌入式系統已成為計算機技術的一個主要分支.

4:嵌入式系統的發展已成為當今計算機技術發展的一個重要标志 

5:改變傳統小型機與微型機的概念,使嵌入式系統不再成為計算機硬件控制技術的代名詞.某些嵌入系統的性能已經能夠超越微型機的性能.

相關詞條

相關搜索

其它詞條