[嵌入式]嵌入式系統概述
第1章 嵌入式系統概述
1.1 嵌入式系統概述
·嵌入式系統的定義
嵌入式系統是以應用為中心、以計算機技術為基礎、軟體硬體可剪裁、適應於對系統功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統。
這個定義主要包含兩個資訊,一是嵌入式系統是專用計算機系統,因此必須要有處理器,具備計算機系統的基本特徵。二是嵌入式系統的功能是有嚴格要求並按照指定的應用而設計的。
·嵌入式系統應用領域
根據嵌入式系統的應用領域有交通管理、工控裝置、智慧儀器、汽車電子、環境監測、電子商務、醫療儀器、移動計算、網路裝置、通訊裝置、軍事電子、機器人、智慧玩具、資訊家電等等。主要的產品:
·網路裝置:交換機、路由器、MODEM等。
·消費電子:手機、MP3、PDA 、可視電話、電視機頂盒、數字電視、數碼照相機、數碼攝像機、資訊家電等。
·辦公裝置:印表機、傳真機、掃描器等。
·汽車電子:ABS防死鎖剎車系統、車載GPS等。
·工業控制:各種自動控制裝置。
·現實中的嵌入式系統
·嵌入式系統的組成
嵌入式系統一般由硬體層、中間層和軟體層組成。
·硬體層
硬體層包括嵌入式微處理器、儲存器、通用裝置介面和I/O介面。在一片嵌入式處理器基礎上新增電源電路、時鐘電路和儲存器電路,就構成了一個嵌入式核心控制模組。其中作業系統和應用程式都可以固化在ROM中。
·中間層
硬體層與軟體層之間為中間層,也稱為硬體抽象層(Hardware Abstract Layer,HAL)或板級支援包(Board Support Package,BSP),它將系統上層軟體與底層硬體分離開來,使系統的底層驅動程式與硬體無關,上層軟體開發人員無需關心底層硬體的具體情況,根據BSP 層提供的介面即可進行開發。該層一般包含相關底層硬體的初始化、資料的輸入/輸出操作和硬體裝置的配置功能。
·軟體層
系統軟體層由實時多工作業系統(Real-time Operation System,RTOS)、檔案系統、圖形使用者介面(Graphic User Interface,GUI)、網路系統及通用元件模組組成。RTOS是嵌入式應用軟體的基礎和開發平臺。
·嵌入式系統特點
1.系統核心小
2.專用性強
3.系統精簡
4.高實時性OS
·嵌入式系統發展
1.系統工程化
2.開源化
3.功能多樣化
4.節能化
5、 人性化
6、 網路化
·嵌入式處理器——概述
早期的嵌入式系統通常使用普通個人計算機(PC)中的通用處理器。近年來,隨著大量先進的微處理器製造技術的發展,越來越多的嵌入式系統用嵌入式處理器建造,而不是用通用目的的處理器。
世界上具有嵌入式功能特點的處理器已經超過1000種,流行體系結構包括MCU、MPU等30多個系列。鑑於嵌入式系統廣闊的發展前景,很多半導體制造商都大規模生產嵌入式處理器,其中從微控制器、DSP到FPGA有著各式各樣的品種,速度越來越快,效能越來越強,價格也越來越低。根據其現狀,嵌入式處理器可以分為嵌入式微處理器、嵌入式微控制器、嵌入式DSP處理器和嵌入式片上系統。
1.2 嵌入式處理器
·分類
嵌入式處理器可以分為以下幾大類:
·嵌入式微處理器;
·嵌入式微控制器;
·嵌入式DSP處理器;
·嵌入式片上系統(SOC)。
·嵌入式處理器——嵌入式微處理器
嵌入式微處理器的基礎是通用計算機中的CPU。在應用中,將微處理器裝配在專門設計的電路板上,只保留和嵌入式應用有關的母板功能,這樣可以大幅度減小系統體積和功耗。為了滿足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上和標準微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強。
和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點,但是在電路板上必須包括ROM、RAM、匯流排介面、各種外設等器件,從而降低了系統的可靠性,技術保密性也較差。嵌入式微處理器及其儲存器、匯流排、外設等安裝在一塊電路板上,稱為單板計算機。如STD-BUS、PC104等。
·嵌入式處理器——嵌入式微控制器
嵌入式微控制器又稱微控制器,它是將整個計算機系統整合到一塊晶片中。嵌入式微控制器一般以某一種微處理器核心為核心,晶片內部整合ROM/EPROM、RAM、匯流排、匯流排邏輯、定時/計數器、WatchDog、I/O、序列口、脈寬調製輸出、A/D、D/A、Flash RAM、EEPROM等各種必要功能和外設。為適應不同的應用需求,一般一個系列的微控制器具有多種衍生產品,每種衍生產品的處理器核心都是一樣的,不同的是儲存器和外設的配置及封裝。這樣可以使微控制器最大限度地和應用需求相匹配,功能不多不少,從而減少功耗和成本。
和嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統工業的主流。微控制器的片上外設資源一般比較豐富,適合於控制,因此稱微控制器。
嵌入式微控制器目前的品種和數量最多,比較有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、數目眾多ARM晶片等。目前MCU佔嵌入式系統約70%的市場份額。
·嵌入式處理器——嵌入式DSP處理器
DSP處理器對系統結構和指令進行了特殊設計,使其適合於執行DSP演算法,編譯效率較高,指令執行速度也較高。在數字濾波、FFT、譜分析等方面DSP演算法正在大量進入嵌入式領域,DSP應用正從在通用微控制器中以普通指令實現DSP功能,過渡到採用嵌入式DSP處理器。
嵌入式DSP處理器比較有代表性的產品是Texas Instruments的TMS320系列和Motorola的DSP56000 系列。TMS320系列處理器包括用於控制的 C2000系列,行動通訊的C5000系列,以及效能更高的C6000和C8000系列。DSP56000目前已經發展成為DSP56000,DSP56100,DSP56200和DSP56300等幾個不同系列的處理器。另外PHILIPS公司近年也推出了基於可重置嵌入式DSP結構低成本、低功耗技術上製造的R. E. A. L DSP處理器,特點是具備雙Harvard結構和雙乘/累加單元,應用目標是大批量消費類產品。
·嵌入式處理器——嵌入式片上系統(SOC)
隨著EDA的推廣和VLSI設計的普及化及半導體工藝的迅速發展,在一個矽片上實現一個更為複雜的系統的時代已來臨,這就是System On Chip(SOC)。各種通用處理器核心將作為SOC設計公司的標準庫,和許多其它嵌入式系統外設一樣,成為 VLSI設計中一種標準的器件,用標準的 VHDL等語言描述,儲存在器件庫中。使用者只需定義出其整個應用系統,模擬通過後就可以將設計圖交給半導體工廠製作樣品。這樣除個別無法整合的器件以外,整個嵌入式系統大部分均可整合到一塊或幾塊晶片中去,應用系統電路板將變得很簡潔,對於減小體積和功耗、提高可靠性非常有利。
SoC可以分為通用和專用兩類。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola聯合研製的Neuron晶片等。專用SoC一般專用於某個或某類系統中,不為一般使用者所知。一個有代表性的產品是Philips的Smart XA,它將XA微控制器核心和支援超過2048 位複雜RSA演算法的CCU單元製作在一塊矽片上,形成一個可載入JAVA或C語言的專用的SOC,可用於公眾網際網路如Internet安全方面。
1.3 嵌入式作業系統
·概述
計算機系統由硬體和軟體組成,在發展初期沒有作業系統這個概念,使用者使用監控程式來使用計算機。隨著計算機技術的發展,計算機系統的硬體、軟體資源也愈來愈豐富,監控程式已不能適應計算機應用的要求。於是在六十年代中期監控程式又進一步發展形成了作業系統(Operating System)。發展到現在,廣泛使用的有三種作業系統即多道批處理作業系統、分時作業系統以及實時作業系統。
·嵌入式實時作業系統
實時作業系統(Real-Time Operating System,RTOS)並不是指它是一種速度很快的作業系統,而是指作業系統必須在限定的時間內,對過程呼叫產生正確的響應。正因為如此,實時作業系統對於時間排程和穩定度上有非常嚴格的要求,不容許發生太大的誤差。
嵌入式實時作業系統(Real Time Embedded Operating System)是一種實時的、支援嵌入式系統應用的作業系統軟體,它通常包括與硬體相關的底層驅動軟體、系統核心、裝置驅動介面、通訊協議、圖形介面、標準化瀏覽器等。
與通用作業系統相比較,實時作業系統在系統實時高效性、硬體的相關依賴性、軟體固態化以及應用的專用性等方面具有較為突出的特點。
嵌入式實時作業系統特點
1.系統核心小
由於嵌入式系統一般是應用於小型電子裝置的,系統資源相對有限,所以核心較之傳統的作業系統要小得多。
2.專用性強
嵌入式系統嵌入式系統的個性化很強,其中嵌入式作業系統的排程機制和硬體的結合非常緊密,一般要針對硬體進行系統的移植,即使在同一品牌、同一系列的產品中也需要根據系統硬體的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統進行較大更改。
3.系統精簡
嵌入式系統一般沒有系統軟體和應用軟體的明顯區分,不要求其功能設計及實現上過於複雜,這樣一方面利於控制成本,同時也利於實現系統安全。
4.高實時性
高實時性的系統軟體(OS)是嵌入式系統的基本要求。而且軟體要求固態儲存,以提高速度;軟體程式碼要求高質量和高可靠性。
5.多工的作業系統
嵌入式軟體開發要想走向標準化,就必須使用多工的作業系統。合理地排程多工、利用系統資源、系統函式以及和專家庫函式介面,保證程式執行的實時性、可靠性,並減少開發時間。
6.需要開發工具和環境
·使用實時作業系統的必要性
嵌入式實時作業系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能複雜、系統龐大的應用中顯得愈來愈重要。在嵌入式應用中,只有把CPU嵌入到系統中,同時又把作業系統嵌入進去,才是真正的計算機嵌入式應用。使用實時作業系統主要有以下幾個因素:
·嵌入式實時作業系統提高了系統的可靠性。
·提高了開發效率,縮短了開發週期。
·嵌入式實時作業系統充分發揮了32位CPU的多工潛力。
·實時作業系統的優缺點
優點:在嵌入式實時作業系統環境下開發實時應用程式使程式的設計和擴充套件變得容易,不需要大的改動就可以增加新的功能。通過將應用程式分割成若干獨立的任務模組,使應用程式的設計過程大為簡化;而且對實時性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統服務,嵌入式實時作業系統使得系統資源得到更好的利用。
缺點:但是,使用嵌入式實時作業系統還需要額外的ROM/RAM開銷,2~5%的CPU額外負荷,以及核心的費用。
·常見的嵌入式作業系統——嵌入式Linux
uClinux是一個完全符合GNU/GPL公約的作業系統,完全開放程式碼。uClinux從Linux 2.0/2.4核心派生而來,沿襲了主流Linux的絕大部分特性。它是專門針對沒有MMU的CPU,並且為嵌入式系統做了許多小型化的工作。適用於沒有虛擬記憶體或記憶體管理單元(MMU)的處理器,例如ARM7TDMI。它通常用於具有很少記憶體或Flash的嵌入式系統。它保留了Linux的大部分優點:穩定、良好的移植性、優秀的網路功能、完備的對各種檔案系統的支援、以及標準豐富的API等。
·常見的嵌入式作業系統——Android
Android系統是Google在2007年11月5日公佈的基於Linux平臺的開源智慧手機作業系統名稱,該平臺由作業系統、中介軟體、使用者介面和應用軟體組成,號稱是首個為移動終端打造的真正開放和完整的移動軟體。Android是執行於Linux kernel之上,但並不是GNU/Linux。Android 的 Linux kernel控制包括安全(Security),儲存器管理(Memory Management),程式管理(Process Management),網路堆疊(Network Stack),驅動程式模型(Driver Model)等。Android的主要特點有:良好的平臺開放性、可以實現個性化應用設定和與Google應用的無縫結合。
·常見的嵌入式作業系統——Win CE
Windows CE是微軟開發的一個開放的、可升級的32位嵌入式作業系統,是基於掌上型電腦類的電子裝置操作,它是精簡的Windows 95。Windows CE的圖形使用者介面相當出色。Win CE具有模組化、結構化和基於Win32應用程式介面以及與處理器無關等特點。Win CE不僅繼承了傳統的Windows圖形介面,並且在Win CE平臺上可以使用Windows 95/98上的程式設計工具(如Visual Basic、Visual C++等)、使絕大多數的應用軟體只需簡單的修改和移植就可以在Windows CE平臺上繼續使用。
·常見的嵌入式作業系統——VxWorks
VxWorks作業系統是美國 WIND RIVER公司於1983年設計開發的一種嵌入式實時作業系統(RTOS),是嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高效能的核心以及友好的使用者開發環境,在嵌入式實時作業系統領域佔據一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通訊、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等,甚至在1997年4月登陸火星表面的火星探測器上也使用到了VxWorks。
·常見的嵌入式作業系統——OSE
OSE主要是由ENEA Data AB 下屬的ENEA OSE Systems AB負責開發和技術服務的,一直以來都充當著實時作業系統以及分散式和容錯性應用的先鋒,並保持良好的發展態勢。
OSE的客戶深入到電信,資料,工控,航空等領域,尤其在電信方面,該公司已經有了十餘年的開發經驗,同諸如愛立信,諾基亞,西門子等知名公司確定了良好的關係。
·常見的嵌入式作業系統——Nucleus
Nucleus PLUS是為實時嵌入式應用而設計的一個搶先式多工作業系統核心,其95%的程式碼是用ANSIC寫成的,因此非常便於移植並能夠支援大多數型別的處理器。
Nucleus PLUS採用了軟體元件的方法。每個元件具有單一而明確的目的,通常由幾個C及組合語言模組構成,提供清晰的外部介面,對元件的引用就是通過這些介面完成的。由於採用了軟體元件的方法,使Nucleus PLUS的各個元件非常易於替換和複用。
·常見的嵌入式作業系統——eCos
eCos是RedHat公司開發的原始碼開放的嵌入式RTOS產品,是一個可配置、可移植的嵌入式實時作業系統,設計的執行環境為RedHat的GNUPro和GNU開發環境。eCOS的所有部分都開放原始碼,可以按照需要自由修改和新增。eCOS的關鍵技術是作業系統可配置性,允許使用者組和自己的實時元件和函式以及實現方式,特別允許eCOS的開發則定製自己的面向應用的作業系統,使eCos能有更廣泛的應用範圍。
·常見的嵌入式作業系統——μC/OS-II
μC/OS-II是一個原始碼公開、可移植、可固化、可裁剪、佔先式的實時多工作業系統。其絕大部分原始碼是用ANSI C寫的,使其可以方便的移植並支援大多數型別的處理器。μC/OS-II通過了聯邦航空局(FAA)商用航行器認證。自1992年問世以來,μC/OS-II已經被應用到數以百計的產品中。μC/OS-II佔用很少的系統資源,並且在高校教學使用是不需要申請許可證。
·常見的嵌入式作業系統——uITRON
TRON是指“實時作業系統核心(The Real-time Operating system Nucleux)”,它是在1984年由東京大學的Sakamura博士提出的,目的是為了建立一個理想的計算機體系結構。通過工業界和大學院校的合作,TRON方案正被逐步用到全新概念的計算機體系結構中。
uITRON是TRON的一個子方案,它具有標準的實時核心,適用於任何小規模的嵌入式系統,日本國內現有很多基於該核心的產品,其中消費電器較多。目前已成為日本事實上的工業標準。
·常見的嵌入式作業系統——uITRON
TRON明確的設計目標使其甚至比Linux更適合於做嵌入式應用,核心小,啟動速度快,即時效能好,也很適合漢字系統的開發。另外,TRON的成功還來源於如下兩個重要的條件:
1.它是免費的
2.它已經建立了開放的標準,形成了較完善的軟硬體配套開發環境,較好地形成了產業化。
相關文章
- 嵌入式Linux系統libmosquitto移植概述LinuxIBMUI
- 嵌入式系統基礎知識:瞭解嵌入式系統
- 嵌入式系統設計師
- 如何學習嵌入式系統?我的嵌入式成長之路
- 嵌入式系統要如何學習?帶你瞭解嵌入式系統學習方法
- Linux嵌入式系統開發,嵌入式Linux開發教程Linux
- 新人如何學習嵌入式系統
- 嵌入式系統專業名詞:
- 一文讀懂:何為嵌入式?如何學習嵌入式系統?
- 嵌入式系統的質量屬性
- ARM嵌入式系統該如何學習
- 主流嵌入式作業系統有哪些?作業系統
- 嵌入式系統程式設計基礎程式設計
- 嵌入式Linux—輸入子系統Linux
- 嵌入式系統除錯診斷方法除錯
- 詳細定義嵌入式系統(轉)
- 【檔案系統】嵌入式檔案系統Fatfs簡介
- 嵌入式開發(ARM9)學習筆記(一)-嵌入式系統介紹筆記
- 嵌入式系統軟體及程式語言
- 嵌入式系統的C程式設計pdfC程式程式設計
- ARM嵌入式系統啟動架構研究架構
- 嵌入式作業系統—重點知識作業系統
- 嵌入式系統設計和Windows CE (轉)Windows
- STM32嵌入式應用系統設計
- Internet網的嵌入式系統設計 (轉)
- 把Iptables移植到嵌入式Linux系統(轉)Linux
- 純科普:什麼是嵌入式?三分鐘瞬間瞭解嵌入式系統開發
- 痞子衡嵌入式:嵌入式Cortex-M系統中斷延遲及其測量方法簡介
- 嵌入式系統開發的基本流程是什麼
- 我們應該怎樣學習嵌入式系統
- 嵌入式系統開發學習如何起步、如何深入?
- 嵌入式Linux作業系統學習規劃Linux作業系統
- 嵌入式在電子價籤系統的應用
- 嵌入式核心板在麻醉系統中的應用
- 為什麼要學習嵌入式系統課程?
- 嵌入式作業系統一些基本概念作業系統
- 嵌入式系統使用壽命程式語言比較好
- 嵌入式技術學習分享如何系統提升技能