當前位置:編程學習大全網 - 編程語言 - 什麽是嵌入式系統?

什麽是嵌入式系統?

壹 什麽是嵌入式系統

嵌入式系統壹般指非 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 額外負荷,以及內核的費用。

  • 上一篇:無人機控制軟件有哪些?
  • 下一篇:嵌入式開發要學哪些?
  • copyright 2024編程學習大全網