一、現代計算機的技術發展史
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位嵌入式處理器,從事網絡、通信、多媒體等的應用。這樣,“單片機”與“嵌入式系統”形成了嵌入式系統中常見的兩個獨立的名詞。但由于“單片機”是典型的、獨立發展起來的嵌入式系統,從學科建設的角度出發,應該把它統一成“嵌入式系統”。考慮到原來單片機的電子系統底層應用特點,可以把嵌入式系統應用分成高端與低端,把原來的單片機應用理解成嵌入式系統的低端應用,含義為它的底層性以及與對象系統的緊耦合。