嵌入式計算機

嵌入式計算機

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

簡介


主要從三個方面上來理解嵌入式系統的概念
嵌入式計算機
嵌入式計算機
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年前給嵌入式系統下自話側重於理解型的定義,書上的定義也有很多,但在這個領域範圍內,誰都不敢說自己的定義是十分確切的,包括那些專家學者們,歷為畢竟嵌入式系統是計算機範疇下的一門綜合性學科。

分層情況


嵌入式系統分為4層,硬體層、驅動層、操作系統層和應用層。
1、硬體層,是整個嵌入式系統的根本,如果現在單片機及介面這塊很熟悉,並且能用C和彙編語言來編程的話,從嵌入式系統的硬體層走起來相對容易,硬體層也是驅動層的基礎,一個優秀的驅動工程師是要能夠看懂硬體的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統內核及其調度性相當的熟悉的。但硬體平台是基礎,增值還要靠軟體。
硬體層比較適合於,電子、通信、自動化、機電一體、信息工程類專業的人來搞,需要掌握的專業基礎知識有,單片機原理及介面技術、微機原理及介面技術、C語言。
2、驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨佔操作系統時間片,而導至其它任務不能動行,不懂操作系統內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行後來打開的程序。想做個好的驅動人員沒有三、四年功底,操作系統內核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可是最高的。
驅動層比較適合於電子、通信、自動化、機電一體、信息工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬體層所具備的基礎學科外,還要對數據結構與演演算法、操作系統原理、編譯原理都要十分精通了解。
3、操作系統層,對於操作系統層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統,或者寫出缺胳膊少腿的操作系統來,這部分工作大都由驅動工程師來完成。操作系統是負責系統任務的調試、磁碟和文件的管理,而嵌入式系統的實時性十分重要。據說,XP操作系統是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟體所自己的女媧Hopen操作系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。
4、應用層,相對來講較為容易的,如果會在windows下如何進行編程介面函數調用,到操作系統下只是編譯和開發環境有相應的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統中涉及演演算法的由專業演演算法的人來處理的,不必歸結到嵌入式系統範疇內。但如果涉及嵌入式系統下面嵌入式資料庫、基於嵌入式系統的網路編程和基於某此應用層面的協議應用開發(比如基於SIP、H.323、Astrisk)方面又較為複雜,並且有難度了。

系統詳解


一、什麼是嵌入式系統
嵌入式系統一般指非pc系統,有計算機功能但又不稱之為計算機的設備或器材。它是以應用為中心,軟硬體可裁減的,適應應用系統對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統。簡單地說,嵌入式系統集系統的應用軟體與硬體於一體,類似於pc中bios的工作方式,具有軟體代碼小、高度自動化、響應速度快等特點,特別適合於要求實時和多任務的體系。嵌入式系統主要由嵌入式處理器、相關支撐硬體、嵌入式操作系統及應用軟體系統等組成,它是可獨立工作的“器件”。
嵌入式系統幾乎包括了生活中的所有電器設備,如掌上pda、計算器、電子錶、電話機、收音機、錄音機、影碟機、手機、電話手錶、平板電腦、電視機頂盒、路由器、數字電視、多媒體播放設備、汽車、火車、地鐵、飛機、微波爐、烤箱、照相機、攝像機、讀卡器、POS機、洗衣機、熱水器、電磁爐、家庭自動化系統、電梯、空調、安全系統、導航系統、自動售貨機、蜂窩式電話、消費電子設備、工業自動化儀錶、醫療儀器、互動遊戲機、VR、機器人、視頻學習機、點讀機、等。
嵌入式系統的硬體部分,包括微處理器、存儲器及外設器件和i/o埠、圖形控制器等。嵌入式系統有別於一般的計算機處理系統,它不具備像硬碟那樣大容量的存儲介質,而大多使用eprom、eeprom或快閃記憶體(flash memory)作為存儲介質。軟體部分包括操作系統軟體( 要求實時和多任務操作 )和應用程序編程。應用程序控制著系統的運作和行為;而操作系統控制著應用程序編程與硬體的交互作用。
二、什麼是嵌入式微處理器
嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般具備4個特點:(1)對實時和多任務有很強的支持能力、能完成多任務並且有較短的中斷響應時間,從而使內部的代碼和實時操作系統的執行時間減少到最低限度;(2)具有功能很強的存儲區保護功能,這是由於嵌入式系統的軟體結構已模塊化,而為了避免在軟體模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利於軟體診斷;(3)可擴展的處理器結構,以能迅速地擴展出滿足應用的高性能的嵌入式微處理器;(4)嵌入式微處理器的功耗必須很低,尤其是用於攜帶型的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,功耗只能為mw甚至μw級。
三、什麼是嵌入式操作系統
嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟體,它是嵌入式系統(包括硬、軟體系統)極為重要的組成部分,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動介面、通信協議、圖形界面、標準化瀏覽器等Browser。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越複雜的系統資源;能夠把硬體虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、驅動程序、工具集以及應用程序。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固態化以及應用的專用性等方面具有較為突出的特點。

設計過程


1.需求分析
確定設計任務和目標,並制定說明規格文檔,作為下一步設計的指導和驗收標準。需求分析往往要與用戶反覆交流,以明確系統功能需求,性能需求,環境、可靠性、成本、功耗、資源等需求。
2.體系結構設計
體系結構設計是嵌入式系統的總體設計,它需要確定嵌入式系統的總體構架,從功能上對軟硬體進行劃分。在此基礎上,確定嵌入式系統的硬體選型(主要是處理器選型),操作系統的選擇和開發環境的選擇。
3. 硬體的設計、製作及測試
在這一階段要確定硬體部分的各功能模塊及模塊之間的關聯,並在此基礎上完成元器件的選擇、原理圖繪製、印刷電路板(PCB)設計、硬體的裝配與測試、目標硬體最終的確定和測試。
4. 軟體的設計、實現及測試
這部分工作與硬體開發并行、交互進行。軟體設計主要完成引導程序的編製、操作系統的移植、驅動程序的開發、應用軟體的編寫等工作。設計完成後,軟體開發進入實現階段。這一階段主要是嵌入式軟體的生成(編譯、鏈接),調試和固化運行,最後完成軟體的測試。
5.系統集成
將測試完成的軟體系統裝入製作好的硬體系統中,進行系統綜合測試,驗證系統功能是否能夠正確無誤地實現,最後將正確的軟體固化在目標硬體中。本階段的工作是整個開發過程中最複雜、最費時的,特別需要相應的輔助工具支持。
6. 系統性能測試及可靠性測試
測試最終完成的系統性能是否滿足設計任務書的各項性能指標和要求。若滿足,則可將正確無誤的軟體固化在目標硬體中;若不能滿足,在最壞的情況下,則需要回到設計的初始階段重新進行設計方案的制定。

應用領域


嵌入式工控機(Embedded Industrial Computer)是一種加固的增強型工業計算機,它可以作為一個工業控制器在工業環境中可靠運行。嵌入式工控機通俗的說就是專門為工業現場而設計的機構緊湊的計算機。
嵌入式工控機可以靈活的應用在對溫度及使用空間等苛刻的環境中,包括車載、零售、監控、電子廣告牌、工廠控制等有低功耗系統需求的應用市場。

未來影響


1:嵌入式系統促使計算機的形態和性能更加小型化,多功能,低功耗.
2:嵌入式系統使計算機由以往的諾曼尼結構發展成為多處理器并行計算,大大提高運行效率及穩定性!
3:嵌入式系統已成為計算機技術的一個主要分支!
4:嵌入式系統的發展已成為當今計算機技術發展的一個重要標誌!
5:改變傳統小型機與微型機的概念,使嵌入式系統不再成為計算機硬體控制技術的代名詞。某些嵌入系統的性能已經能夠超越微型機的性能!