當前位置:首頁 » 軟體系統 » 嵌入式系統不可以做微分運算嗎
擴展閱讀
車漆掉塊可以貼上圖片嗎 2025-05-16 05:56:44
不用網可以玩的沙盒游戲 2025-05-16 05:56:43

嵌入式系統不可以做微分運算嗎

發布時間: 2023-02-09 15:56:23

㈠ 嵌入式計算機說法錯誤的

錯誤的是嵌入式系統可以運行通用型計算機上運行的軟體。

1、嵌入式系統一種「完全嵌入受控器件內部,為特定應用而設計的專用計算機系統」,根據英國電器工程師協會的定義,嵌入式系統為控制、監視或輔助設備、機器或用於工廠運作的設備。

2、與個人計算機這樣的通用計算機系統不同,嵌入式系統通常執行的是帶有特定要求的預先定義的任務。

計算機的主要特點

1、運算速度快

計算機內部電路組成,可以高速准確地完成各種算術運算。當今計算機系統的運算速度已達到每秒萬億次,微機也可達每秒億次以上,使大量復雜的科學計算問題得以解決。例如:衛星軌道的計算、大型水壩的計算、24小時天氣算需要幾年甚至幾十年,而在現代社會里,用計算機只需幾分鍾就可完成。

2、計算精確度高

科學技術的發展特別是尖端科學技術的發展,需要高度精確的計算。計算機控制的導彈之所以能准確地擊中預定的目標,是與計算機的精確計算分不開的。一般計算機可以有十幾位甚至幾十位(二進制)有效數字,計算精度可由千分之幾到百萬分之幾,是任何計算工具所望塵莫及的。

㈡ 學習嵌入式系統,需要做哪些准備高數(離散,微積分)這些重要嗎

離散數學其實和高等數學沒什麼關系,離散數學主要研究的邏輯,集合論,抽象代數,布爾運算等等,幾乎不涉及微積分,線性代數有一點關系但關系不大,主要是離散數學里有一些演算法可能會用到線性代數的東西。我一直在關注,微信公眾號:嵌入式資訊精選,信息量很大。

㈢ 嵌入式系統與通用處理器的異同點並從具體參數上(如處理器功耗,片上資源等)進行比較

嵌入式系統的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個特點:
1)對實時多任務有很強的支持能力,能完成多任務並且有較短的中斷響應時間,從而使內部的代碼和實時內核心的執行時間減少到最低限度。
2)具有功能很強的存儲區保護功能。這是由於嵌入式系統的軟體結構已模塊化,而為了避免在軟體模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利於軟體診斷。
3)可擴展的處理器結構,以能最迅速地開展出滿足應用的最高性能的嵌入式微處理器。
4)嵌入式微處理器必須功耗很低,尤其是用於攜帶型的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,如需要功耗只有mW甚至μW級。
嵌入式計算機系統同通用型計算機系統相比具有以下特點:
1.嵌入式系統通常是面向特定應用的嵌入式CPU與通用型的最大不同就是嵌入式CPU大多工作在為特定用戶群設計的系統中,它通常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在晶元內部,從而有利於嵌入式系統設計趨於小型化,移動能力大大增強,跟網路的耦合也越來越緊密。
2.嵌入式系統是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合後的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
3.嵌入式系統的硬體和軟體都必須高效率地設計,量體裁衣、去除冗餘,力爭在同樣的矽片面積上實現更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力。
4.嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命周期。
5.為了提高執行速度和系統可靠性,嵌入式系統中的軟體一般都固化在存儲器晶元或單片機本身中,而不是存貯於磁碟等載體中。
6.嵌入式系統本身不具備自舉開發能力,即使設計完成以後用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發。
7.目前,嵌入式系統多用於手機等操作系統的開發。具有巨大的市場潛力.

㈣ 嵌入式系統和單片機的區別

簡單的講,嵌入式系統是一個大類,單片機是其中一個重要的子類。

嵌入式和單片機的區別

單片機與嵌入式在系統組成結構上的區別:

(1)單片機基本結構

單片機由運算器、控制器、存儲器、輸入輸出設備構成。

(2)嵌入式系統成部分:

嵌入式系統一般由嵌入式微處理器、外圍硬體設備、嵌入式操作系統、特定的應用程序組成。

嵌入式系統設計的第一步是結合具體的應用,綜合考慮系統對成本、性能、可擴展性、開發周期等各個方面的要求,確定系統的主控器件,並以之為核心搭建系統硬體平台。

單片機與嵌入式在硬體組成上的區別:

單片機是在一塊集成電路晶元中包含了微控制器電路,以及一些通用的輸入輸出介面器件。從構成嵌入式系統的方式看,根據現代電子技術發展水平,嵌入式系統可以用單片機實現,也可以用其它可編程的電子器件實現。其餘硬體器件根據目標應用系統的需求而定。

單片機與嵌入式在軟體組成上的區別:

製造商出廠的通用單片機內沒有應用程序,所以不能直接運行。增加應用程序後,單片機就可以獨立運行。嵌入式系統一定要有控制軟體,實現控制邏輯的方式可以完全用硬體電路,也可以用軟體程序。

單片機與嵌入式在主次關系方面的區別:

單片機現在已經被認為是通用的電子器件了,單片機自身為主體。嵌入式系統在物理結構關繫上是從屬的,嵌入式系統被嵌入安裝在目標應用系統內。嵌入式系統在控制關繫上卻是主導的,是控制目標應用系統運行的邏輯處理系統。盡管可以用不同方式構成嵌入式系統,但是一旦構成之後,嵌入式系統就是一個專用系統。專用系統中,可編程器件的軟體可以在系統構建過程中植入,也可以在器件製造過程中直接生成,以降低製造成本。控制邏輯復雜的單片機會需要操作系統軟體支持;控制邏輯簡單的嵌入式系統也可以不用操作系統軟體支持。

㈤ 計算機有哪幾種類型其各自的特點是什麼

一、定義:

計算機,俗稱電腦,是現代一種用於高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。由硬體系統和軟體系統所組成,沒有安裝任何軟體的計算機稱為裸機。可分為超級計算機、工業控制計算機、網路計算機、個人計算機、嵌入式計算機五類,較先進的計算機有生物計算機、光子計算機、量子計算機等。

二、特點:

1、超級計算機是計算機中功能最強、運算速度最快、存儲容量最大的一類計算機,是國家科技發展水平和綜合國力的重要標志。超級計算機擁有最強的並行計算能力,主要用於科學計算。在氣象、軍事、能源、航天、探礦等領域承擔大規模、高速度的計算任務。

2、網路計算機,指某些高性能計算機,能通過網路,對外提供服務。相對於普通電腦來說,穩定性、安全性、性能等方面都要求更高,因此在CPU、晶元組、內存、磁碟系統、網路等硬體和普通電腦有所不同。

3、個人計算機,包括台式機、電腦一體機、筆記本電腦、掌上電腦和平板電腦等,運行速度來說相對較差,但有些是可以便於攜帶,隨處辦公,滿足各方面的需要

4、嵌入式系統,是一種以應用為中心、以微處理器為基礎,軟硬體可裁剪的,適應應用系統對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統,應用范圍極其廣泛,滿足社會各方面的需要

5、工業控制計算機,是一種採用匯流排結構,對生產過程及其機電設備、工藝裝備進行檢測與控制的計算機系統總稱。簡稱工控機。主要應用在工業方面,對於工業的發展起到了不可磨滅的作用。

㈥ 關於計算機嵌入式操作系統的特點

嵌入式系統是以應用為中心,軟硬體可裁減的,適用於對功能、可靠性、成本、體積、功耗等綜合性嚴格要求的專用計算機系統。具有軟體代碼小、高度自動化、響應速度快等特點,特別適合於要求實時和多任務的體系。嵌入式系統主要由嵌入式處理器、相關支撐硬體、嵌入式操作系統及應用軟體系統等組成,它是可獨立工作的「器件」。
一、嵌入式操作系統的發展

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

嵌入式操作系統伴隨著嵌入式系統的發展經歷了四個比較明顯的階段:

第一階段:無操作系統的嵌入演算法階段,以單晶元為核心的可編程式控制制器形式的系統,具有與監測、伺服、指示設備相配合的功能。應用於一些專業性極強的工業控制系統中,通過匯編語言編程對系統進行直接控制,運行結束後清除內存。系統結構和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶介面。

第二階段:以嵌人式CPU為基礎、簡單操作系統為核心的嵌入式系統。CPU種類繁多,通用性比較差;系統開銷小,效率高;一般配備系統模擬器,操作系統具有一定的兼容性和擴展性;應用軟體較專業,用戶界面不夠友好;系統主要用來控制系統負載以及監控應用程序運行。

第三階段:通用的嵌人式實時操作系統階段,以嵌入式操作系統為核心的嵌入式系統。能運行於各種類型的微處理器上,兼容性好;內核精小、效率高,具有高度的模塊化和擴展性;具備文件和目錄管理、設備支持、多任務、網路支持、圖形窗口以及用戶界面等功能;具有大量的應用程序介面(APl);嵌入式應用軟體豐富。

第四階段:以基於Intemet為標志的嵌入式系統。這是一個正在迅速發展的階段。目前大多數嵌入式系統還孤立於lnlemet之外,但隨著Intemet的發展以及Intemet技術與信息家電、工業控制技術等結合日益密切,嵌入式設備與Intemet的結合將代表著嵌入式技術的真正未來。

二、使用實時操作系統的必要性

嵌入式實時操作系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統龐大的應用中顯得愈來愈重要。

1.嵌人式實時操作系統提高了系統的可靠性。在控制系統中,出於安全方面的考慮,要求系統起碼不能崩潰,而且還要有自愈能力。不僅要求在硬體設計方面提高系統的可靠性和抗干擾性,而且也應在軟體設計方面提高系統的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前後台系統軟體設計在遇到強干擾時,使得運行的程序產生異常、出錯、跑飛,甚至死循環,造成了系統的崩潰。而實時操作系統管理的系統,這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統運行的系統監控進程對其進行修復。通常情況下,這個系統監視進程用來監視各進程運行狀況,遇到異常情況時採取一些利於系統穩定可靠的措施,如把有問題的任務清除掉。

2.提高了開發效率,縮短了開發周期。在嵌入式實時操作系統環境下,開發一個復雜的應用程序,通常可以按照軟體工程中的解耦原則將整個程序分解為多個任務模塊。每個任務模塊的調試、修改幾乎不影響其他模塊。商業軟體一般都提供了良好的多任務調試環境。

3.嵌入式實時操作系統充分發揮了32位CPU的多任務潛力。32位CPU比8、16位CPU快,另外它本來是為運行多用戶、多任務操作系統而設計的,特別適於運行多任務實時系統。32位CPU採用利於提高系統可靠性和穩定性的設計,使其更容易做到不崩潰。例如,CPU運行狀態分為系統態和用戶態。將系統堆棧和用戶堆棧分開,以及實時地給出CPU的運行狀態等,允許用戶在系統設計中從硬體和軟體兩方面對實時內核的運行實施保護。如果還是採用以前的前後台方式,則無法發揮32位CPU的優勢。從某種意義上說,沒有操作系統的計算機(裸機)是沒有用的。在嵌入式應用中,只有把CPU嵌入到系統中,同時又把操作系統嵌入進去,才是真正的計算機嵌入式應用。

三、嵌入式操作系統選型

當我們在設計信息電器、數字醫療設備等嵌入式產品時,嵌入式操作系統的選擇至關重要。一般而言,在選擇嵌入式操作系統時,可以遵循以下原則。總的來說,就是「做加法還是做減法」的問題。

(一)市場進入時間

制定產品時間表與選擇操作系統有關系,實際產品和一般演示是不同的。目前是Windows程序員可能是人力資源最豐富的。現成資源最多的也就可能是WinCE。使用WinCE能夠很快進入市場。因為WinCE+X86做產品實際上是在做減法,去掉你不要的功能,能很快出產品,但伴隨的可能是成本高,核心競爭力差。而某些高效的操作系統可能由於編程人員缺乏,或由於這方面的技術積累不夠,影響開發進度。

(二)可移植性

操作系統相關性。當進行嵌入式軟體開發時,可移植性是要重點考慮的問題。良好的軟體移植性應該比較好,可以在不同平台、不同系統上運行,跟操作系統無關。軟體的通用性和軟體的性能通常是矛盾的。即通用以損失某些特定情況下的優化性能為代價。很難設想開發一個嵌入式瀏覽器而僅能在某一特定環境下應用。反過來說,當產品與平台和操作系統緊密結合時,往往你的產品的特色就蘊含其中。

(三)可利用資源

產品開發不同於學術課題研究,它是以快速、低成本、高質量的推出適合用戶需求的產品為目的的。集中精力研發出產品的特色,其他功能盡量由操作系統附加或採用第三方產品,因此操作系統的可利用資源對於選型是一個重要參考條件。Linux和WinCE都有大量的資源可以利用,這是他們被看好的重要原因。其他有些實時操作系統由於比較封閉,開發時可以利用的資源比較少,因此多數功能需要自己獨立開發。從而影響開發進度。近來的市場需求顯示,越來越多的嵌入式系統,均要求提供全功能的Web瀏覽器。而這要求有一個高性能、高可靠的GUI的支持。

(四)系統定製能力

信息產品不同於傳統PC的Wintel結構的單純性,用戶的需求是千差萬別的,硬體平台也都不一樣,所以對系統的定製能力提出了要求。要分析產品是否對系統底層有改動的需求,這種改動是否伴隨著產品特色?Linux由於其源代碼開放的天生魅力,在定製能力方面具有優勢。隨著WinCE3.0原碼的開放,以及微軟在嵌入式領域力度的加強,其定製能力會有所提升。

(五)成本

成本是所有產品不得不考慮的問題。操作系統的選擇會對成本有什麼影響呢?Linux免費,WinCE等商業系統需要支付許可證使用費,但這都不是問題的答案。成本是需要綜合權衡以後進行考慮的——選擇某一系統可能會對其他一系列的因素產生影響,如對硬體設備的選型、人員投入、以及公司管理和與其他合作夥伴的共同開發之間的溝通等許多方面的影響。

(六)中文內核支持

國內產品需要對中文的支持。由於操作系統多數是採用西文方式,是否支持雙位元組編碼方式,是否遵循GBK,GBl8030等各種國家標准,是否支持中文輸入與處理,是否提供第三方中文輸入介面是針對國內用戶的嵌入式產品的必需考慮的重要因素。

上面提到用WinCE+x86出產品是減法,這實際上就是所謂PC家電化;另外一種做法是加法,利用家電行業的硬體解決方案(絕大部分是非x86的)加以改進,加上嵌入式操作系統,再加上應用軟體。這是所謂家電PC化的做法,這種加法的優勢是成本低,特色突出,缺點是產品研發周期長,難度大(需要深入了解硬體和操作系統)。如果選擇這種做法,Linux是一個好選擇,它讓你能夠深入到系統底層,如果你願意並且有能力。

四、幾種代表性嵌入式操作系統比較

(一)VxWorks

VxWorks操作系統是美國WindRiver公司於1983年設計開發的一種嵌入式實時操作系統(RTOS),是Tornado嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌人式實時操作系統領域逐漸占據一席之地。

VxWorks具有可裁剪微內核結構;高效的任務管理;靈活的任務間通訊;微秒級的中斷處理;支持POSIX 1003.1b實時擴展標准;支持多種物理介質及標準的、完整的TCP/IP網路協議等。

然而其價格昂貴。由於操作系統本身以及開發環境都是專有的,價格一般都比較高,通常需花費10萬元人民幣以上才能建起一個可用的開發環境,對每一個應用一般還要另外收取版稅。一般不通供源代碼,只提供二進制代碼。由於它們都是專用操作系統,需要專門的技術人員掌握開發技術和維護,所以軟體的開發和維護成本都非常高。支持的硬體數量有限。

(二)Windows CE

Windows CE與Windows系列有較好的兼容性,無疑是Windows CE推廣的一大優勢。其中WinCE3.0是一種針對小容量、移動式、智能化、32位、了解設備的模塊化實時嵌人式操作系統。為建立針對掌上設備、無線設備的動態應用程序和服務提供了一種功能豐富的操作系統平台,它能在多種處理器體系結構上運行,並且通常適用於那些對內存佔用空間具有一定限制的設備。它是從整體上為有限資源的平台設計的多線程、完整優先權、多任務的操作系統。它的模塊化設計允許它對從掌上電腦到專用的工業控制器的用戶電子設備進行定製。操作系統的基本內核需要至少200KB的ROM。由於嵌入式產品的體積、成本等方面有較嚴格的要求,所以處理器部分佔用空間應盡可能的小。系統的可用內存和外存數量也要受限制,而嵌入式操作系統就運行在有限的內存(一般在ROM或快閃記憶體)中,因此就對操作系統的規模、效率等提出了較高的要求。從技術角度上講,Windows CE作為嵌入式操作系統有很多的缺陷:沒有開放源代碼,使應用開發人員很難實現產品的定製;在效率、功耗方面的表現並不出色,而且和Windows一樣佔用過的系統內存,運用程序龐大;版權許可費也是廠商不得不考慮的因素。

(三)嵌入式Linux

這是嵌入式操作系統的一個新成員,其最大的特點是源代碼公開並且遵循GPL協議,在近一年多以來成為研究熱點,據IDG預測嵌入式Linux將占未來兩年的嵌入式操作系統份額的50%。

由於其源代碼公開,人們可以任意修改,以滿足自己的應用,並且查錯也很容易。遵從GPL,無須為每例應用交納許可證費。有大量的應用軟體可用。其中大部分都遵從GPL,是開放源代碼和免費的。可以稍加修改後應用於用戶自己的系統。 有大量的免費的優秀的開發工具,且都遵從GPL,是開放源代碼的。有龐大的開發人員群體。無需專門的人才,只要懂Unix/Linux和C語言即可。隨著Linux在中國的普及,這類人才越來越多。所以軟體的開發和維護成本很低。優秀的網路功能,這在Internet時代尤其重要。穩定——這是Linux本身具備的一個很大優點。內核精悍,運行所需資源少,十分適合嵌入式應用。

支持的硬體數量龐大。嵌入式Linux和普通Linux並無本質區別,PC上用到的硬體嵌入式Linux幾乎都支持。而且各種硬體的驅動程序源代碼都可以得到,為用戶編寫自己專有硬體的驅動程序帶來很大方便。

在嵌入式系統上運行Linux的一個缺點是Linux體系提供實時性能需要添加實時軟體模塊。而這些模塊運行的內核空間正是操作系統實現調度策略、硬體中斷異常和執行程序的部分。由於這些實時軟體模塊是在內核空間運行的,因此代碼錯誤可能會破壞操作系統從而影響整個系統的可靠性,這對於實時應用將是一個非常嚴重的弱點。

(四)µC/OS一Ⅱ

µC/OS一Ⅱ是著名的源代碼公開的實時內核,是專為嵌入式應用設計的,可用於8位,16位和32位單片機或數字信號處理器(DSP)。它是在原版本µC/OS的基礎上做了重大改進與升級,並有了近十年的使用實踐,有許多成功應用該實時內核的實例。它的主要特點如下:

1.公開源代碼,容易就能把操作系統移植到各個不同的硬體平台上。

2.可移植性,絕大部分源代碼是用C語言寫的,便於移植到其他微處理器上。

3.可固化。

4.可裁剪性,有選擇的使用需要的系統服務,以減少斗所需的存儲空間。

5.佔先式,完全是佔先式的實時內核,即總是運行就緒條件下優先順序最高的任務。

6.多任務,可管理64個任務,任務的優先順序必須是不同的,不支持時間片輪轉調度法。

7.可確定性,函數調用與服務的執行時間具有其可確定性,不依賴於任務的多少。

8.實用性和可靠性,成功應用該實時內核的實例,是其實用性和可靠性的最好證據。

由於µC/OS一Ⅱ僅是一個實時內核,這就意味著它不像其他實時存在系統那樣提供給用戶的只是一些API函數介面,還有很多工作需要用戶自己去完成。

五、結束語

在嵌入式應用中,使用實時操作系統(RTOS)是當前嵌入式應用的一個特點,一種趨勢,也是單片機應用從低水平向高水平的一個進步。在實際的應用中,根據不同的要求和條件選擇合適的操作系統,使開發工作更容易,設計出更完美的嵌入式系統。

㈦ 只用單片機單獨一個晶元能進行積分,微分等復雜運算嗎不能的話怎麼辦

單片機可以做很復雜的計算,當然也包括積分、微分,但關鍵是你的要求是多少時間計算一次?

以傳統51單片機為例,12M晶振下,運算能力為1MIPS(1,000,000指令每秒)下面是從《Cx51Compiler--

ntrollers》中,摘出的16位整形,32位整形,浮點(32位)基本運算的指令時間:


以上是C51編譯後各類型基本運算的指令時間,還要看你的積分、微分運算程序包需要多少這樣的指令。

一般來說,如果是實時應用,傳統8位51類單片機是不合適的,至少要使用單周期1T指令的增強型51單片機(如STC系列,C8051系列)或者AVR,或者用16位、32位單片機(如PIC24,PIC32系列等)。

㈧ 系統中為什麼不用微分運算

微積分作為大學通識教育,文理科都應該學習。微積分不僅是數學,同時也是深刻的方法論,因而微積分也是哲學思想。
在日常生活中,每個人都是微積分高手。比如,在南京路步行街,人來人往,熙熙攘攘,看似雜亂無章,可是沒見兩個人平白無故相撞在一起。這是為什麼?這是因為大家都在用微積分精確計算如何穿過人群而不發生相撞事故。地鐵人民廣場站換乘樞紐更是如此,高峰時段的人流密集程度簡直嘆為觀止,可是也沒見有相撞的。
這都歸功於每個人的微積分都把控得相當精準。通過判斷別人的行進路線、速度、變軌的可能、驅近求快的心態等等復雜因素,計算出自己最佳、最快速也是最安全的行進路線而不相撞。這是多麼復雜的微積分運算呀!

㈨ 嵌入式系統

一 什麼是嵌入式系統 嵌入式系統一般指非 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 個引腳。 根據現狀,嵌入式計算機可分成下面幾類。 (1) 嵌入式微處理器 (Embedded Microprocessor Unit, EMPU) 嵌入式微處理器採用「增強型」通用微處理器。由於嵌入式系統通常應用於環境比較惡劣的環境中,因而嵌入式微處理器在工作溫度、電磁兼容性以及可靠性方面的要求較通用的標准微處理器高。但是,嵌入式微處理器在功能方面與標準的微處理器基本上是一樣的。根據實際嵌入式應用要求,將嵌入式微處理器裝配在專門設計的主板上,只保留和嵌入式應用有關的主板功能,這樣可以大幅度減小系統的體積和功耗。和工業控制計算機相比,嵌入式微處理器組成的系統具有體積小、重量輕、成本低、可靠性高的優點,但在其電路板上必須包括 ROM 、 RAM 、匯流排介面、各種外設等器件,從而降低了系統的可靠性,技術保密性也較差。由嵌入式微處理器及其存儲器、匯流排、外設等安裝在一塊電路主板上構成一個通常所說的單板機系統。嵌入式處理器目前主要有 Am186/88 、 386EX 、 SC-400 、 Power PC 、 68000 、 MIPS 、 ARM 系列等。 (2) 嵌入式微控制器 (Microcontroller Unit, MCU) 嵌入式微控制器又稱單片機,它將整個計算機系統集成到一塊晶元中。嵌入式微控制器一般以某種微處理器內核為核心,根據某些典型的應用,在晶元內部集成了 ROM/EPROM 、 RAM 、匯流排、匯流排邏輯、定時 / 計數器、看門狗、 I/O 、串列口、脈寬調制輸出、 A/D 、 D/A 、 Flash RAM 、 EEPROM 等各種必要功能部件和外設。為適應不同的應用需求,對功能的設置和外設的配置進行必要的修改和裁減定製,使得一個系列的單片機具有多種衍生產品,每種衍生產品的處理器內核都相同,不同的是存儲器和外設的配置及功能的設置。這樣可以使單片機最大限度地和應用需求相匹配,從而減少整個系統的功耗和成本。和嵌入式微處理器相比,微控制器的單片化使應用系統的體積大大減小,從而使功耗和成本大幅度下降、可靠性提高。由於嵌入式微控制器目前在產品的品種和數量上是所有種類嵌入式處理器中最多的,而且上述諸多優點決定了微控制器是嵌入式系統應用的主流。微控制器的片上外設資源一般比較豐富,適合於控制,因此稱為微控制器。通常,嵌入式微處理器可分為通用和半通用兩類,比較有代表性的通用系列包括 8051 、 P51XA 、 MCS-251 、 MCS-96/196/296 、 C166/167 、 68300 等。而比較有代表性的半通用系列,如支持 USB 介面的 MCU 8XC930/931 、 C540 、 C541 ;支持 I2C 、 CAN 匯流排、 LCD 等的眾多專用 MCU 和兼容系列。目前 MCU 約占嵌入式系統市場份額的 70% 。 (3) 嵌入式 DSP 處理器 (Embedded Digital Signal Processor, EDSP 在數字信號處理應用中,各種數字信號處理演算法相當復雜,這些演算法的復雜度可能是 O(nm) 的,甚至是 NP 的,一般結構的處理器無法實時的完成這些運算。由於 DSP 處理器對系統結構和指令進行了特殊設計,使其適合於實時地進行數字信號處理。在數字濾波、 FFT 、譜分析等方面, DSP 演算法正大量進入嵌入式領域, DSP 應用正從在通用單片機中以普通指令實現 DSP 功能,過渡到採用嵌入式 DSP 處理器。嵌入式 DSP 處理器有兩類: (1)DSP 處理器經過單片化、 EMC 改造、增加片上外設成為嵌入式 DSP 處理器, TI 的 TMS320C2000/C5000 等屬於此范疇; (2) 在通用單片機或 SOC 中增加 DSP 協處理器,例如 Intel 的 MCS-296 和 Infineon(Siemens) 的 TriCore 。另外,在有關智能方面的應用中,也需要嵌入式 DPS 處理器,例如各種帶有智能邏輯的消費類產品,生物信息識別終端,帶有加解密演算法的鍵盤, ADSL 接入、實時語音壓解系統,虛擬現實顯示等。這類智能化演算法一般都是運算量較大,特別是向量運算、指針線性定址等較多,而這些正是 DSP 處理器的優勢所在。嵌入式 DSP 處理器比較有代表性的產品是 TI 的 TMS320 系列和 Motorola 的 DSP56000 系列。 TMS320 系列處理器包括用於控制的 C2000 系列、移動通信的 C5000 系列,以及性能更高的 C6000 和 C8000 系列。 DSP56000 目前已經發展成為 DSP56000 、 DSP56100 、 DSP56200 和 DSP56300 等幾個不同系列的處理器。另外, Philips 公司最近也推出了基於可重置嵌入式 DSP 結構,採用低成本、低功耗技術製造的 R. E. A. L DSP 處理器,其特點是具備雙 Harvard 結構和雙乘 / 累加單元,應用目標是大批量消費類產品。 (4) 嵌入式片上系統 (System On Chip, SOC) 隨著 EDI 的推廣和 VLSI 設計的普及化,以及半導體工藝的迅速發展,可以在一塊矽片上實現一個更為復雜的系統,這就產生了 SOC 技術。各種通用處理器內核將作為 SOC 設計公司的標准庫,和其他許多嵌入式系統外設一樣,成為 VLSI 設計中一種標準的器件,用標準的 VHDL 、 Verlog 等硬體語言描述,存儲在器件庫中。用戶只需定義出其整個應用系統,模擬通過後就可以將設計圖交給半導體工廠製作樣品。這樣除某些無法集成的器件以外,整個嵌入式系統大部分均可集成到一塊或幾塊晶元中去,應用系統電路板將變得很簡單,對於減小整個應用系統體積和功耗、提高可靠性非常有利。 SOC 可分為通用和專用兩類,通用 SOC 如 Infineon(Siemens) 的 TriCore 、 Motorola 的 M-Core ,以及某些 ARM 系列器件,如 Echelon 和 Motorola 聯合研製的 Neuron 晶元等;專用 SOC 一般專用於某個或某類系統中,如 Philips 的 Smart XA ,它將 XA 單片機內核和支持超過 2048 位復雜 RSA 演算法的 CCU 單元製作在一塊矽片上,形成一個可載入 Java 或 C 語言的專用 SOC ,可用於互聯網安全方面。 三 嵌入式操作系統 嵌入式操作系統是一種支持嵌入式系統應用的操作系統軟體,它是嵌入式系統 ( 包括硬、軟體系統 ) 極為重要的組成部分,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動介面、通信協議、圖形界面、標准化瀏覽器等 Browser 。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理越來越復雜的系統資源;能夠把硬體虛擬化,使得開發人員從繁忙的驅動程序移植和維護中解脫出來;能夠提供庫函數、驅動程序、工具集以及應用程序 。與通用操作系統相比較,嵌入式操作系統在系統實時高效性、硬體的相關依賴性、軟體固態化以及應用的專用性等方面具有較為突出的特點。 1. 嵌入式操作系統的種類 一般情況下,嵌入式操作系統可以分為兩類,一類是面向控制、通信等領域的實時操作系統,如 WindRiver 公司的 VxWorks 、 ISI 的 pSOS 、 QNX 系統軟體公司的 QNX 、 ATI 的 Nucleus 等;另一類是面向消費電子產品的非實時操作系統,這類產品包括個人數字助理 (PDA) 、行動電話、機頂盒、電子書、 WebPhone 等。 a. 非實時操作系統 早期的嵌入式系統中沒有操作系統的概念,程序員編寫嵌入式程序通常直接面對裸機及裸設備。在這種情況下,通常把嵌入式程序分成兩部分,即前台程序和後台程序。前台程序通過中段來處理事件,其結構一般為無限循環;後台程序則掌管整個嵌入式系統軟、硬體資源的分配、管理以及任務的調度,是一個系統管理調度程序。這就是通常所說的前後台系統。一般情況下,後台程序也叫任務級程序,前台程序也叫事件處理級程序。在程序運行時,後台程序檢查每個任務是否具備運行條件,通過一定的調度演算法來完成相應的操作。對於實時性要求特別嚴格的操作通常由中斷來完成,僅在中斷服務程序中標記事件的發生,不再做任何工作就退出中斷,經過後台程序的調度,轉由前台程序完成事件的處理,這樣就不會造成在中斷服務程序中處理費時的事件而影響後續和其他中斷。 實際上,前後台系統的實時性比預計的要差。這是因為前後台系統認為所有的任務具有相同的優先順序別,即是平等的,而且任務的執行又是通過 FIFO 隊列排隊,因而對那些實時性要求高的任務不可能立刻得到處理。另外,由於前台程序是一個無限循環的結構,一旦在這個循環體中正在處理的任務崩潰,使得整個任務隊列中的其他任務得不到機會被處理,從而造成整個系統的崩潰。由於這類系統結構簡單,幾乎不需要 RAM/ROM 的額外開銷,因而在簡單的嵌入式應用被廣泛使用。 b. 實時操作系統 實時系統是指能在確定的時間內執行其功能並對外部的非同步事件做出響應的計算機系統。其操作的正確性不僅依賴於邏輯設計的正確程度,而且與這些操作進行的時間有關。「在確定的時間內」是該定義的核心。也就是說,實時系統是對響應時間有嚴格要求的。 實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序出現偏差將會引起嚴重後果。實時系統有兩種類型:軟實時系統和硬實時系統。軟實時系統僅要求事件響應是實時的,並不要求限定某一任務必須在多長時間內完成;而在硬實時系統中,不僅要求任務響應要實時,而且要求在規定的時間內完成事件的處理。通常,大多數實時系統是兩者的結合。實時應用軟體的設計一般比非實時應用軟體的設計困難。實時系統的技術關鍵是如何保證系統的實時性。 實時多任務操作系統是指具有實時性、能支持實時控制系統工作的操作系統。其首要任務是調度一切可利用的資源完成實時控制任務,其次才著眼於提高計算機系統的使用效率,重要特點是要滿足對時間的限制和要求。實時操作系統具有如下功能:任務管理 ( 多任務和基於優先順序的任務調度 ) 、任務間同步和通信 ( 信號量和郵箱等 ) 、存儲器優化管理 ( 含 ROM 的管理 ) 、實時時鍾服務、中斷管理服務。實時操作系統具有如下特點:規模小,中斷被屏蔽的時間很短,中斷處理時間短,任務切換很快。 實時操作系統可分為可搶占型和不可搶占型兩類。對於基於優先順序的系統而言,可搶占型實時操作系統是指內核可以搶占正在運行任務的 CPU 使用權並將使用權交給進入就緒態的優先順序更高的任務,是內核搶了 CPU 讓別的任務運行。不可搶占型實時操作系統使用某種演算法並決定讓某個任務運行後,就把 CPU 的控制權完全交給了該任務,直到它主動將 CPU 控制權還回來。中斷由中斷服務程序來處理,可以激活一個休眠態的任務,使之進入就緒態;而這個進入就緒態的任務還不能運行,一直要等到當前運行的任務主動交出 CPU 的控制權。使用這種實時操作系統的實時性比不使用實時操作系統的系統性能好,其實時性取決於最長任務的執行時間。不可搶占型實時操作系統的缺點也恰恰是這一點,如果最長任務的執行時間不能確定,系統的實時性就不能確定。 可搶占型實時操作系統的實時性好,優先順序高的任務只要具備了運行的條件,或者說進入了就緒態,就可以立即運行。也就是說,除了優先順序最高的任務,其他任務在運行過程中都可能隨時被比它優先順序高的任務中斷,讓後者運行。通過這種方式的任務調度保證了系統的實時性,但是,如果任務之間搶占 CPU 控制權處理不好,會產生系統崩潰、死機等嚴重後果。 2. 嵌入式操作系統的發展 嵌入式操作系統伴隨著嵌入式系統的發展經歷了 4 個比較明顯的階段。 第一階段是無操作系統的嵌入演算法階段,是以單晶元為核心的可編程式控制制器形式的系統,同時具有與監測、伺服、指示設備相配合的功能。這種系統大部分應用於一些專業性極強的工業控制系統中,一般沒有操作系統的支持,通過匯編語言編程對系統進行直接控制,運行結束後清除內存。這一階段系統的主要特點是:系統結構和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶介面。由於這種嵌入式系統使用簡便、價格很低,以前在國內工業領域應用較為普遍,但是已經遠遠不能適應高效的、需要大容量存儲介質的現代化工業控制和新興的信息家電等領域的需求。 第二階段是以嵌入式 CPU 為基礎、以簡單操作系統為核心的嵌入式系統。這一階段系統的主要特點是: CPU 種類繁多,通用性比較差;系統開銷小, 效率高;一般配備系統模擬器,操作系統具有一定的兼容性和擴展性;應用軟體較專業,用戶界面不夠友好;系統主要用來控制系統負載以及監控應用程序運行。 第三階段是通用的嵌入式實時操作系統階段,是以嵌入式操作系統為核心的嵌入式系統。這一階段系統的主要特點是:嵌入式操作系統能運行於各種不同類型的微處理器上,兼容性好;操作系統內核精小、效率高,並且具有高度的模塊化和擴展性;具備文件和目錄管理、設備支持、多任務、網路支持、圖形窗口以及用戶界面等功能;具有大量的應用程序介面 (API) ,開發應用程序簡單;嵌入式應用軟體豐富。 第四階段是以基於 Internet 為標志的嵌入式系統,這是一個正在迅速發展的階段。目前大多數嵌入式系統還孤立於 Internet 之外,但隨著 Internet 的發展以及 Internet 技術與信息家電、工業控制技術等結合日益密切,嵌入式設備與 Internet 的結合將代表著嵌入式技術的真正未來。 3. 使用實時操作系統的必要性 嵌入式實時操作系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統龐大的應用中顯得愈來愈重要。 首先,嵌入式實時操作系統提高了系統的可靠性。在控制系統中,出於安全方面的考慮,要求系統起碼不能崩潰,而且還要有自愈能力。不僅要求在硬體設計方面提高系統的可靠性和抗干擾性,而且也應在軟體設計方面提高系統的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前後台系統軟體設計在遇到強干擾時,使得運行的程序產生異常、出錯、跑飛,甚至死循環,造成了系統的崩潰。而實時操作系統管理的系統,這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統運行的系統監控進程對其進行修復。通常情況下,這個系統監視進程用來監視各進程運行狀況,遇到異常情況時採取一些利於系統穩定可靠的措施,如把有問題的任務清除掉。 其次,提高了開發效率,縮短了開發周期。在嵌入式實時操作系統環境下,開發一個復雜的應用程序,通常可以按照軟體工程中的解耦原則將整個程序分解為多個任務模塊。每個任務模塊的調試、修改幾乎不影響其他模塊。商業軟體一般都提供了良好的多任務調試環境。 再次,嵌入式實時操作系統充分發揮了 32 位 CPU 的多任務潛力。 32 位 CPU 比 8 、 16 位 CPU 快,另外它本來是為運行多用戶、多任務操作系統而設計的,特別適於運行多任務實時系統。 32 位 CPU 採用利於提高系統可靠性和穩定性的設計,使其更容易做到不崩潰。例如, CPU 運行狀態分為系統態和用戶態。將系統堆棧和用戶堆棧分開,以及實時地給出 CPU 的運行狀態等,允許用戶在系統設計中從硬體和軟體兩方面對實時內核的運行實施保護。如果還是採用以前的前後台方式,則無法發揮 32 位 CPU 的優勢。 從某種意義上說,沒有操作系統的計算機 ( 裸機 ) 是沒有用的。在嵌入式應用中,只有把 CPU 嵌入到系統中,同時又把操作系統嵌入進去,才是真正的計算機嵌入式應用。 4. 實時操作系統的優缺點 在嵌入式實時操作系統環境下開發實時應用程序使程序的設計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應用程序分割成若干獨立的任務模塊,使應用程序的設計過程大為簡化;而且對實時性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統服務,嵌入式實時操作系統使得系統資源得到更好的利用。但是,使用嵌入式實時操作系統還需要額外的 ROM/RAM 開銷, 2~5% 的 CPU 額外負荷,以及內核的費用。