嵌入式開發的定義和發展史
近來在網上和QQ中大家對嵌入式開發的討論和關注越來越多,我也對嵌入式開發非常有興趣,嵌入式開發在未來的幾年中發展可謂是無可限量,嵌入式開發人才也必將成為未來幾年的“香勃勃”,特別是我國進入3G時代之後,嵌入式開發的應用將更加的廣泛,嵌入式開發也必將由原來的對我們而言的神祕走向人盡皆知。作為兩大現在計算機技術的兩大分支之一的嵌入式計算機系統並不像通用計算機那樣為世人所瞭解,到現在為止“嵌入式系統”的概念還不為多數人所知,嵌入式開發技術也只為極少數人掌握。而在未來的幾年內這一現象將有很大改變,隨著科學技術的發展,以及人們需求的增加,嵌入式開發快速發展的時刻已經到來。
據統計我國未來幾年對嵌入式開發人才的需求缺口每年為
很多人包括本人在內對嵌入式系統的瞭解都限在字面上,對其無一點深層瞭解。下面是我在網上找到的一些關於嵌入式開發的發展史和它的定義,希望大家在看後能對嵌入式開發有更好的瞭解。
一、現代計算機的技術發展史
1.始於微型機時代的嵌入式應用
電子數字計算機誕生於1946年,在其後漫長的歷史程序中,計算機始終是供養在特殊的機房中,實現數值計算的大型昂貴裝置。直到20世紀70年代,微處理器的出現,計算機才出現了歷史性的變化。以微處理器為核心的微型計算機以其小型、價廉、高可靠性特點,迅速走出機房;基於高速數值解算能力的微型機,表現出的智慧化水平引起了控制專業人士的興趣,要求將微型機嵌入到一個物件體系中,實現物件體系的智慧化控制。例如,將微型計算機經電氣加固、機械加固,並配置各種外圍介面電路,安裝到大型艦船中構成自動駕駛儀或輪機狀態監測系統。這樣一來,計算機便失去了原來的形態與通用的計算機功能。為了區別於原有的通用計算機系統,把嵌入到物件體系中,實現物件體系智慧化控制的計算機,稱作嵌入式計算機系統。因此,嵌入式系統誕生於微型機時代,嵌入式系統的嵌入性本質是將一個計算機嵌入到一個物件體系中去,這些是理解嵌入式系統的基本出發點。
2.現代計算機技術的兩大分支
由於嵌入式計算機系統要嵌入到物件體系中,實現的是物件的智慧化控制,因此,它有著與通用計算機系統完全不同的技術要求與技術發展方向。通用計算機系統的技術要求是高速、海量的數值計算;技術發展方向是匯流排速度的無限提升,儲存容量的無限擴大。而嵌入式計算機系統的技術要求則是物件的智慧化控制能力;技術發展方向是與物件系統密切相關的嵌入效能、控制能力與控制的可靠性。
早期,人們勉為其難地將通用計算機系統進行改裝,在大型裝置中實現嵌入式應用。然而,對於眾多的物件系統(如家用電器、儀器儀表、工控單元……),無法嵌入通用計算機系統,況且嵌入式系統與通用計算機系統的技術發展方向完全不同,因此,必須獨立地發展通用計算機系統與嵌入式計算機系統,這就形成了現代計算機技術發展的兩大分支。
如果說微型機的出現,使計算機進入到現代計算機發展階段,那麼嵌入式計算機系統的誕生,則標誌了計算機進入了通用計算機系統與嵌入式計算機系統兩大分支並行發展時代,從而導致20世紀末,計算機的高速發展時期。
3.兩大分支發展的里程碑事件
通用計算機系統與嵌入式計算機系統的專業化分工發展,導致20世紀末、21世紀初,計算機技術的飛速發展。計算機專業領域集中精力發展通用計算機系統的軟、硬體技術,不必兼顧嵌入式應用要求,通用微處理器迅速從286、386、486到奔騰系列;作業系統則迅速擴張計算機基於高速海量的資料檔案處理能力,使通用計算機系統進入到盡善盡美階段。
嵌入式計算機系統則走上了一條完全不同的道路,這條獨立發展的道路就是單晶片化道路。它動員了原有的傳統電子系統領域的廠家與專業人士,接過起源於計算機領域的嵌入式系統,承擔起發展與普及嵌入式系統的歷史任務,迅速地將傳統的電子系統發展到智慧化的現代電子系統時代。
因此,現代計算機技術發展的兩大分支的里程碑意義在於:它不僅形成了計算機發展的專業化分工,而且將發展計算機技術的任務擴充套件到傳統的電子系統領域,使計算機成為進入人類社會全面智慧化時代的有力工具。
二、嵌入式系統的定義與特點
如果我們瞭解了嵌入式(計算機)系統的由來與發展,對嵌入式系統就不會產生過多的誤解,而能歷史地、本質地、普遍適用地定義嵌入式系統。
1.嵌入式系統的定義
按照歷史性、本質性、普遍性要求,嵌入式系統應定義為:“嵌入到物件體系中的專用計算機系統”。“嵌入性”、“專用性”與“計算機系統”是嵌入式系統的三個基本要素。物件系統則是指嵌入式系統所嵌入的宿主系統。
2.嵌入式系統的特點
嵌入式系統的特點與定義不同,它是由定義中的三個基本要素衍生出來的。不同的嵌入式系統其特點會有所差異。與“嵌入性”的相關特點:由於是嵌入到物件系統中,必須滿足物件系統的環境要求,如物理環境(小型)、電氣/氣氛環境(可靠)、成本(價廉)等要求。與“專用性”的相關特點:軟、硬體的裁剪性;滿足物件要求的最小軟、硬體配置等。與“計算機系統”的相關特點:嵌入式系統必須是能滿足物件系統控制要求的計算機系統。與上兩個特點相呼應,這樣的計算機必須配置有與物件系統相適應的介面電路。
另外,在理解嵌入式系統定義時,不要與嵌入式裝置相混淆。嵌入式裝置是指內部有嵌入式系統的產品、裝置,例如,內含微控制器的家用電器、儀器儀表、工控單元、機器人、手機、PDA等。
3.嵌入式系統的種類與發展
按照上述嵌入式系統的定義,只要滿足定義中三要素的計算機系統,都可稱為嵌入式系統。嵌入式系統按形態可分為裝置級(工控機)、板級(單板、模組)、晶片級(MCU、SoC)。
有些人把嵌入式處理器當作嵌入式系統,但由於嵌入式系統是一個嵌入式計算機系統,因此,只有將嵌入式處理器構成一個計算機系統,並作為嵌入式應用時,這樣的計算機系統才可稱作嵌入式系統。
嵌入式系統與物件系統密切相關,其主要技術發展方向是滿足嵌入式應用要求,不斷擴充套件物件系統要求的外圍電路(如ADC、DAC、PWM、日曆時鐘、電源監測、程式執行監測電路等),形成滿足物件系統要求的應用系統。因此,嵌入式系統作為一個專用計算機系統,要不斷向計算機應用系統發展。因此,可以把定義中的專用計算機系統引伸成,滿足物件系統要求的計算機應用系統。
三、嵌入式系統的獨立發展道路
1.微控制器開創了嵌入式系統獨立發展道路
嵌入式系統雖然起源於微型計算機時代,然而,微型計算機的體積、價位、可靠性都無法滿足廣大物件系統的嵌入式應用要求,因此,嵌入式系統必須走獨立發展道路。這條道路就是晶片化道路。將計算機做在一個晶片上,從而開創了嵌入式系統獨立發展的微控制器時代。
在探索微控制器的發展道路時,有過兩種模式,即“Σ模式”與“創新模式”。“Σ模式”本質上是通用計算機直接晶片化的模式,它將通用計算機系統中的基本單元進行裁剪後,整合在一個晶片上,構成單片微型計算機;“創新模式”則完全按嵌入式應用要求設計全新的,滿足嵌入式應用要求的體系結構、微處理器、指令系統、匯流排方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照創新模式發展起來的單片形態的嵌入式系統(單片微型計算機)。MCS-51是在MCS-48探索基礎上,進行全面完善的嵌入式系統。歷史證明,“創新模式”是嵌入式系統獨立發展的正確道路,MCS-51的體系結構也因此成為單片嵌入式系統的典型結構體系。
2.微控制器的技術發展史
微控制器誕生於20世紀70年代末,經歷了SCM、MCU、SoC三大階段。
1.SCM即單片微型計算機(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態嵌入式系統的最佳體系結構。“創新模式”獲得成功,奠定了SCM與通用計算機完全不同的發展道路。在開創嵌入式系統獨立發展道路上,Intel公司功不可沒。
2.MCU即微控制器(Micro Controller Unit)階段,主要的技術發展方向是:不斷擴充套件滿足嵌入式應用時,物件系統要求的各種外圍電路與介面電路,突顯其物件的智慧化控制能力。它所涉及的領域都與物件系統相關,因此,發展MCU的重任不可避免地落在電氣、電子技術廠家。從這一角度來看,Intel逐漸淡出MCU的發展也有其客觀因素。在發展MCU方面,最著名的廠家當數Philips公司。
Philips公司以其在嵌入式應用方面的巨大優勢,將MCS-51從單片微型計算機迅速發展到微控制器。因此,當我們回顧嵌入式系統發展道路時,不要忘記Intel和Philips的歷史功績。
3.微控制器是嵌入式系統的獨立發展之路,向MCU階段發展的重要因素,就是尋求應用系統在晶片上的最大化解決;因此,專用微控制器的發展自然形成了SoC化趨勢。隨著微電子技術、IC設計、EDA工具的發展,基於SoC的微控制器應用系統設計會有較大的發展。因此,對微控制器的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統。
四、嵌入式系統的兩種應用模式
嵌入式系統的嵌入式應用特點,決定了它的多學科交叉特點。作為計算機的內含,要求計算機領域人員介入其體系結構、軟體技術、工程應用方面的研究。然而,瞭解物件系統的控制要求,實現系統控制模式必須具備物件領域的專業知識。因此,從嵌入式系統發展的歷史過程,以及嵌入式應用的多樣性中,可以瞭解到客觀上形成的兩種應用模式。
1.客觀存在的兩種應用模式
嵌入式計算機系統起源於微型機時代,但很快就進入到獨立發展的微控制器時代。在微控制器時代,嵌入式系統以器件形態迅速進入到傳統電子技術領域中,以電子技術應用工程師為主體,實現傳統電子系統的智慧化,而計算機專業隊伍並沒有真正進入微控制器應用領域。因此,電子技術應用工程師以自己習慣性的電子技術應用模式,從事微控制器的應用開發。這種應用模式最重要的特點是:軟、硬體的底層性和隨意性;物件系統專業技術的密切相關性;缺少計算機工程設計方法。
雖然在微控制器時代,計算機專業淡出了嵌入式系統領域,但隨著後PC時代的到來,網路、通訊技術得以發展;同時,嵌入式系統軟、硬體技術有了很大的提升,為計算機專業人士介入嵌入式系統應用開闢了廣闊天地。計算機專業人士的介入,形成的計算機應用模式帶有明顯的計算機的工程應用特點,即基於嵌入式系統軟、硬體平臺,以網路、通訊為主的非嵌入式底層應用。
2.兩種應用模式的並存與互補
由於嵌入式系統最大、最廣、最底層的應用是傳統電子技術領域的智慧化改造,因此,以通曉物件專業的電子技術隊伍為主,用最少的嵌入式系統軟、硬體開銷,以8位機為主,帶有濃重的電子系統設計色彩的電子系統應用模式會長期存在下去。
另外,計算機專業人士會愈來愈多地介入嵌入式系統應用,但囿於物件專業知識的隔閡,其應用領域會集中在網路、通訊、多媒體、商務電子等方面,不可能替代原來電子工程師在控制、儀器儀表、機械電子等方面的嵌入式應用。因此,客觀存在的兩種應用模式會長期並存下去,在不同的領域中相互補充。電子系統設計模式應從計算機應用設計模式中,學習計算機工程方法和嵌入式系統軟體技術;計算機應用設計模式應從電子系統設計模式中,瞭解嵌入式系統應用的電路系統特性、基本的外圍電路設計方法和物件系統的基本要求等。
3.嵌入式系統應用的高低端
由於嵌入式系統有過很長的一段微控制器的獨立發展道路,大多是基於8位微控制器,實現最底層的嵌入式系統應用,帶有明顯的電子系統設計模式特點。大多數從事微控制器應用開發人員,都是物件系統領域中的電子系統工程師,加之微控制器的出現,立即脫離了計算機專業領域,以“智慧化”器件身份進入電子系統領域,沒有帶入“嵌入式系統”概念。因此,不少從事微控制器應用的人,不瞭解微控制器與嵌入式系統的關係,在談到“嵌入式系統”領域時,往往理解成計算機專業領域的,基於32位嵌入式處理器,從事網路、通訊、多媒體等的應用。這樣,“微控制器”與“嵌入式系統”形成了嵌入式系統中常見的兩個獨立的名詞。但由於“微控制器”是典型的、獨立發展起來的嵌入式系統,從學科建設的角度出發,應該把它統一成“嵌入式系統”。考慮到原來微控制器的電子系統底層應用特點,可以把嵌入式系統應用分成高階與低端,把原來的微控制器應用理解成嵌入式系統的低端應用,含義為它的底層性以及與物件系統的緊耦合。
目前嵌入式系統除了部分為32 位處理器外,大量存在的是8 位和16 位的嵌入式微控制器(MCU) ,嵌入式系統是計算機應用的另一種形態,正如前所述它與通用計算機應用不同:嵌入式計算機是以嵌入式系統的形式隱藏在各種裝置、產品和系統之中的一種軟硬體高度專業化的特定計算機系統。目前根據其發展現狀,嵌入式計算機可以分成下面幾類:
(1) 嵌入式微處理器(Embedded MicroprocessorUnit , EMPU)
嵌入式微處理器的基礎是通用計算機中的CPU。在應用中,將微處理器裝配在專門設計的電路板上,只保留和嵌入式應用有關的母板功能,這樣可以大幅度減小系統體積和功耗。為了滿足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上和標準微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強。
(2) 嵌入式微控制器(Microcontroller Unit , MCU)
嵌入式微控制器又稱微控制器。嵌入式微控制器一般以某一種微處理器核心為核心,晶片內部整合ROMPEPROM、RAM、匯流排、匯流排邏輯、定時P計數器、WatchDog、IPO、序列口、脈寬調製輸出、APD、DPA、Flash RAM、E2PROM 等各種必要功能和外設。為適應不同的應用需求,一般一個系列的微控制器具有多種衍生產品,每種衍生產品的處理器核心都是一樣的,不同的是儲存器和外設的配置及封裝。這樣可以使微控制器最大限度地和應用需求相匹配,功能不多不少,從而減少功耗和成本。和嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。
(3) 嵌入式DSP 處理器( Embedded Digital SignalProcessor , EDSP)
DSP 處理器對系統結構和指令進行了特殊設計,使其適合於執行DSP 演算法,編譯效率較高,指令執行速度也較高。在數字濾波、FFT、譜分析等方面DSP 演算法正在大量進入嵌入式領域,DSP 應用正從在通用微控制器中以普通指令實現DSP 功能,過渡到採用嵌入式DSP 處理器。
(4) 嵌入式片上系統(System On Chip)
隨著EDI 的推廣和VLSI 設計的普及化,及半導體工藝的迅速發展,在一個矽片上實現一個更為複雜的系統的時代已來臨, 這就是System On Chip(SOC) 。各種通用處理器核心將作為SOC 設計公司的標準庫,和許多其它嵌入式系統外設一樣,成為VLSI 設計中一種標準的器件,用標準的VHDL 等語言描述,儲存在器件庫中。使用者只需定義出其整個應用系統,模擬通過後就可以將設計圖交給半導體工廠製作樣品。這樣除個別無法整合的器件以外,整個嵌入式系統大部分均可整合到一塊或幾塊晶片中去,應用系統電路板將變得很簡潔,對於減小體積和功耗、提高可靠性非常有利。
2 嵌入式系統工業的特點
(1) 嵌入式系統工業是不可壟斷的高度分散的工業
從某種意義上來說,通用計算機行業的技術是壟斷的。佔整個計算機行業90 %的PC 產業,80 %採用Intel 的8x86 體系結構,晶片基本上出自Intel ,AMD ,Cyrix 等幾家公司。在幾乎每臺計算機必備的作業系統和文書處理器方面,Microsoft 的Windows 及Word 佔80 - 90 % ,憑藉作業系統還可以搭配其它應用程式。因此當代的通用計算機工業的基礎被認為是由Wintel (Microsoft 和Intel 90 年代初建立的聯盟)壟斷的工業。
嵌入式系統則不同,它是一個分散的工業,充滿了競爭、機遇與創新,沒有哪一個系列的處理器和作業系統能夠壟斷全部市場。即便在體系結構上存在著主流,但各不相同的應用領域決定了不可能有少數公司、少數產品壟斷全部市場。因此嵌入式系統領域的產品和技術,必然是高度分散的,留給各個行業的中小規模高技術公司的創新餘地很大。另外,社會上的各個應用領域是在不斷向前發展的,要求其中的嵌入式處理器核心也同步發展,這也構成了推動嵌入式工業發展的強大動力。
器件是嵌入式系統產業的根本,嵌入式系統工業的基礎就是以應用為中心的“晶片”設計技術和麵嚮應用的軟體產品開發技術。
(2) 嵌入式系統具有的產品特徵
嵌入式系統是面向使用者、面向產品、面向應用的,如果獨立於應用自行發展,則會失去市場。嵌入式處理器的功耗、體積、成本、可靠性、速度、處理能力、電磁相容性等方面均受到應用要求的制約,這些也是各個半導體廠商之間競爭的熱點。
和通用計算機不同,嵌入式系統的硬體和軟體都必須高效率地設計,量體裁衣、去除冗餘,力爭在同樣的矽片面積上實現更高的效能,這樣才能在具體應用對處理器的選擇面前更具有競爭力。嵌入式處理器要針對使用者的具體需求,對晶片配置進行裁剪和新增才能達到理想的效能;但同時還受使用者訂貨量的制約。因此不同的處理器面向的使用者是不一樣的,可能是一般使用者,行業使用者或單一使用者。
嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,具有較長的生命週期。嵌入式系統中的軟體,一般都固化在只讀儲存器中,而不是以磁碟為載體,可隨意更換,所以嵌入式系統的應用軟體生命週期也和嵌入式產品一樣長。另外,各個行業的應用系統和產品,和通用計算機軟體不同,很少發生突然性跳躍,嵌入式系統中的軟體也因此更強調可繼承性和技術銜接性,發展比較穩定。
嵌入式處理器的發展也體現出穩定性,一個體系一般要存在8 - 10 年的時間。一個體繫結構及其相關的片上外設、開發工具、庫函式、嵌入式應用產品是一套複雜的知識系統,使用者和半導體廠商都不會輕易地放棄一種處理器。
(3) 嵌入式系統軟體的特徵
嵌入式處理器的應用軟體是實現嵌入式系統功能的關鍵,對嵌入式處理器系統軟體和應用軟體的要求也和通用計算機有所不同。
①軟體要求固態化儲存
為了提高執行速度和系統可靠性,嵌入式系統中的軟體一般都固化在儲存器晶片或微控制器本身中,而不是存貯於磁碟等載體中。
②軟體程式碼高質量、高可靠性
儘管半導體技術的發展使處理器速度不斷提高、片上儲存器容量不斷增加,但在大多數應用中,儲存空間仍然是寶貴的,還存在實時性的要求。為此要求程式編寫和編譯工具的質量要高,以減少程式二進位制程式碼長度、提高執行速度。
③系統軟體(OS) 的高實時性是基本要求
多工嵌入式系統中,對重要性各不相同的任務進行統籌兼顧的合理排程是保證每個任務及時執行的關鍵,單純通過提高處理器速度是無法完成和沒有效率的,這種任務排程只能由優化編寫的系統軟體來完成,因此係統軟體的實時性是基本要求。
④多工作業系統是知識整合的平臺和走向工業標準化道路的基礎
(4) 嵌入式系統開發需要開發工具和環境
通用計算機具有完善的人機介面介面,在上面增加一些開發應用程式和環境即可進行對自身的開發。而嵌入式系統本身不具備自舉開發能力,即使設計完成以後使用者通常也是不能對其中的程式功能進行修改的,必須有一套開發工具和環境才能進行開發,這些工具和環境是基於通用計算機上的軟硬體裝置以及各種邏輯分析儀、混合訊號示波器等。
(5) 嵌入式系統軟體需要RTOS 開發平臺
通用計算機具有完善的作業系統和應用程式介面(API) ,是計算機基本組成不可分離的一部分,應用程式的開發以及完成後的軟體都在作業系統(OS) 平臺上面執行,但一般不是實時的。嵌入式系統則不同,應用程式可以沒有作業系統直接在晶片上執行;但是為了合理地排程多工、利用系統資源、系統函式以及和專家庫函式介面,使用者必須自行選配RTOS 開發平臺,這樣才能保證程式執行的實時性、可靠性,並減少開發時間,保障軟體質量。
(6) 嵌入式系統開發人員以應用專家為主
通用計算機的開發人員一般是電腦科學或計算機工程方面的專業人士,而嵌入式系統則是要和各個不同行業的應用相結合的,要求更多的計算機以外的專業知識,其開發人員往往是各個應用領域的專家。因此開發工具的易學、易用、可靠、高效是基本要求。
前景
3 嵌入式系統的應用前景
嵌入式控制器的應用幾乎無處不在:行動電話、家用電器、汽車……無不有它的蹤影。嵌入控制器因其體積小、可靠性高、功能強、靈活方便等許多優點,其應用已深入到工業、農業、教育、國防、科研以及日常生活等各個領域,對各行各業的技術改造、產品更新換代、加速自動化化程序、提高生產率等方面起到了極其重要的推動作用。
嵌入式計算機在應用數量上遠遠超過了各種通用計算機,一臺通用計算機的外部裝置中就包含了5 - 10 個嵌入式微處理器。在製造工業、過程控制、網路、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類產品等方面均是嵌入式計算機的應用領域。
嵌入式系統工業是專用計算機工業,其目的就是要把一切變得更簡單、更方便、更普遍、更適用;通用計算機的發展變為功能電腦,普遍進入社會,嵌入式計算機發展的目標是專用電腦,實現“普遍化計算”,因此可以稱嵌入式智慧晶片是構成未來世界的“數字基因”。正如我國資深嵌入式系統專家—沈緒榜院士的預言, “未來十年將會產生頭大小、具有超過一億次運算能力的嵌入式智慧晶片”,將為我們提供無限的創造空間。總之“嵌入式微控制器或者說微控制器好象是一個黑洞,會把當今很多技術和成果吸引進來。中國應當注意發展智力密集型產業”。
上面的部分內容為本人在網上搜索得到,希望能對那些對嵌入式系統感興趣,並想對其有所瞭解的朋友有所幫助。