引言
嵌入式系統是將應用程序和操作系統與計算機硬件集成在一起的系統,它以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。這種系統具有軟件代碼小,高度自動化,響應速度快等特點,特別適合于要求實時的和多任務的體系。嵌入式設備是指應用了嵌入式系統的計算機設備。從某種意義上來講確實是大型計算設備的一個微縮,這一微縮肯定多少會帶來相對性能上的減弱。但正是這一體積的微縮帶給人們的方便卻是無法比擬的。擁有嵌入式設備,人們可以隨時隨地的閱覽電子書籍,預定機票,在任何一個陌生的城市都不會丟失,甚至可以在最短的時間內看到任何一部想看到的電影。
關于嵌入式設備的軟件開發2001年IT產業生產20億臺微型計算機。其中,95%將用于嵌入設備用途。因此,與其以每年上市的1億5000萬臺網絡化計算機為研究對象,倒不如加大力度推進80億臺嵌入設備的網絡化、將注意力放在制造與之相適應的軟件上來。美國英特爾公司研究部門的領導人 DavidTennenhouse在舊金山召開的ComputingContinuumConference會議上這樣說道"有關計算機的研究,比起1億 5000萬臺計算機,更應該加大8億臺嵌入微處理器設備的網絡化"。構筑無論何時何地都可與網絡連接的環境以及開發適應型軟件已成為當務之急。在仔細考察了國外嵌入式設備軟件現狀和國內的市場潛力后,嵌入式設備軟件將在國內掀起一場軟件革命!
1?嵌入式處理器技術
嵌入式系統的核心是嵌入式微處理器。嵌入式處理器是用于在計算機之外的設備中提供添加的功能性的計算機芯片,它經常用于控制和監控領域。
椐世界半導體貿易統計數據藍皮書中的審計報告顯示, 從單位銷售額角度看,象Intel公司的Pentium系統、Advanced Micro Devices公司的Athlon以及IBM和Motorola公司的PowerPC等處理器的市場份額只占世界市場的6%,余下的94%,即50億片芯片為嵌入式微處理器。據估計,平均每個美國家庭擁有大約60片內嵌式處理器。 一些嵌入式處理器是由桌面市場中傳下來的東西,即使對于今天的PC已經過時,但對于處理功能要求較低的任務卻綽綽有余的芯片。過去驅動象TRS-80 、Apple II和Commodore 64這類早期PC的Z80和6502處理器現在仍是非常暢銷的產品。 甚至最低級的4位處理器的銷售量也遠遠超過象Pentium這類32位處理器。老式的處理器也沒有淡出江湖:它們只是變為嵌入式了。 因此,嵌入式微處理器市場異乎尋常的廣闊。在PC市場的任何時刻,微處理器之間性能差距只有約3比1,目前速度最快的芯片以1GHz速度運行,而最慢的最常用的芯片的速度為333MHz。與此相比,僅就32位嵌入式微處理器來說,其性能范圍為500比1。如果你在4位和8位嵌入式處理器中進行比較的話,性能范圍為幾千比一。
隨著這類處理器體積越變越小,價格越來越便宜,功能越來越強大,它們將進入到更多的設備和產品中。現在,它們已經存在于會唱歌的賀卡和測量行程的運動鞋中。最終,由于毫微米技術的出現,它們將變得象原子那樣普通,并且幾乎象原子那樣小。
嵌入式系統的廣泛應用正是嵌入式微處理器具備以下4個特點:
①對實時多任務有很強的支持能力,能完成多任務并且有較短的中斷響應時間,從而使內部的代碼和實時內核心的執行時間減少到最低限度。②具有功能很強的存儲區保護功能。這是由于嵌入式系統的軟件結構已模塊化,而為了避免在軟件模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利于軟件診斷。③可擴展的處理器結構,以能最迅速地開展出滿足應用的最高性能的嵌入式微處理器。④嵌入式微處理器必須功耗很低,尤其是用于便攜式的無線及移動的計算和通信設備中靠電池供電的嵌入式系統更是如此,如需要功耗只有mW甚至μW級。
1.1?嵌入式處理器的種類
目前據不完全統計,全世界嵌入式處理器的品種總量已經超過1000多種,流行體系結構有30幾個系列,其中8051體系的占有多半。生產8051單片機的半導體廠家有20多個,共350多種衍生產品,僅Philips就有近100種。現在幾乎每個半導體制造商都生產嵌入式處理器,越來越多的公司有自己的處理器設計部門。嵌入式處理器的尋址空間一般從64KB到16-32MB,處理速度從0.1MIPS到 2000MIPS,常用封裝從8個引腳到144個引腳。根據其現狀,嵌入式計算機可以分成下面幾類:
①?嵌入式微處理器(Embedded Microprocessor Unit, EMPU)
嵌入式微處理器的基礎是通用計算機中的CPU。在應用中,將微處理器裝配在專門設計的電路板上,只保留和嵌入式應用有關的母板功能,這樣可以大幅度減小系統體積和功耗。為了滿足嵌入式應用的特殊要求,嵌入式微處理器雖然在功能上和標準微處理器基本是一樣的,但在工作溫度、抗電磁干擾、可靠性等方面一般都做了各種增強。
和工業控制計算機相比,嵌入式微處理器具有體積小、重量輕、成本低、可靠性高的優點,但是在電路板上必須包括ROM、RAM、總線接口、各種外設等器件,從而降低了系統的可靠性,技術保密性也較差。嵌入式微處理器及其存儲器、總線、外設等安裝在一塊電路板上,稱為單板計算機。如STD-BUS、 PC104 等。近年來,德國、日本的一些公司又開發出了類似“火柴盒”式名片大小的嵌入式計算機系列OEM產品。
嵌入式微處理器目前主要有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM系列等。
②?嵌入式微控制器(Microcontroller Unit, MCU)
嵌入式微控制器又稱單片機,顧名思義,就是將整個計算機系統集成到一塊芯片中。嵌入式微控制器一般以某一種微處理器內核為核心,芯片內部集成 ROM/EPROM、RAM、總線、總線邏輯、定時/計數器、WatchDog、I/O、串行口、脈寬調制輸出、A/D、D/A、FlashRAM、 EEPROM等各種必要功能和外設。為適應不同的應用需求,一般一個系列的單片機具有多種衍生產品,每種衍生產品的處理器內核都是一樣的,不同的是存儲器和外設的配置及封裝。這樣可以使單片機最大限度地和應用需求相匹配,功能不多不少,從而減少功耗和成本。
和嵌入式微處理器相比,微控制器的最大特點是單片化,體積大大減小,從而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系統工業的主流。微控制器的片上外設資源一般比較豐富,適合于控制,因此稱微控制器。
嵌入式微控制器目前的品種和數量最多,比較有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、 C166/167、MC68HC05/11/12/16、68300等。另外還有許多半通用系列如:支持USB接口的MCU8XC930/931、 C540、C541;支持I2C、CAN-Bus、LCD及眾多專用MCU和兼容系列。目前MCU占嵌入式系統約70%的市場份額。特別值得注意的是近年來提供X86微處理器的著名廠商AMD公司,將Am186CC/CH/CU等嵌入式處理器稱之為Microcontroller, MOTOROLA公司把以Power PC為基礎的PPC505和PPC555亦列入單片機行列。TI公司亦將其TMS320C2XXX系列DSP做為MCU進行推廣。
③?嵌入式DSP處理器(Embedded Digital Signal Processor, EDSP)
DSP處理器對系統結構和指令進行了特殊設計,使其適合于執行DSP算法,編譯效率較高,指令執行速度也較高。在數字濾波、FFT、譜分析等方面DSP算法正在大量進入嵌入式領域,DSP應用正在從通用單片機中以普通指令實現DSP功能,過渡到采用嵌入式DSP處理器。嵌入式DSP處理器有兩個發展來源,一是DSP處理器經過單片化、EMC改造、增加片上外設成為嵌入式DSP處理器,TI的TMS320C2000/C5000 等屬于此范疇;二是在通用單片機或SOC中增加DSP協處理器,例如Intel的MCS-296和Siemens的TriCore。推動嵌入式DSP處理器發展的另一個因素是嵌入式系統的智能化,例如各種帶有智能邏輯的消費類產品,生物信息識別終端,帶有加解密算法的鍵盤,ADSL接入、實時語音壓解系統,虛擬現實顯示等。這類智能化算法一般都是運算量較大,特別是向量運算、指針線性尋址等較多,而這些正是DSP處理器的長處所在。
嵌入式DSP處理器比較有代表性的產品是TexasInstruments的TMS320系列和Motorola的DSP56000系列。 TMS320系列處理器包括用于控制的C2000系列,移動通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已經發展成為 DSP56000,DSP56100,DSP56200和DSP56300等幾個不同系列的處理器。另外PHILIPS公司今年也推出了基于可重置度朧? SP結構低成本、低功耗技術上制造的 R. E. A. L DSP 處理器,特點是具備雙 Harvard結構和雙乘/累加單元,應用目標是大批量消費類產品。
④?嵌入式片上系統(System On Chip)
隨著EDI的推廣和VLSI設計的普及化,及半導體工藝的迅速發展,在一個硅片上實現一個更為復雜的系統的時代已來臨,這就是System On Chip(SOC)。各種通用處理器內核將作為SOC設計公司的標準庫,和許多其它嵌入式系統外設一樣,成為VLSI設計中一種標準的器件,用標準的 VHDL等語言描述,存儲在器件庫中。用戶只需定義出其整個應用系統,仿真通過后就可以將設計圖交給半導體工廠制作樣品。這樣除個別無法集成的器件以外,整個嵌入式系統大部分均可集成到一塊或幾塊芯片中去,應用系統電路板將變得很簡潔,對于減小體積和功耗、提高可靠性非常有利。
SOC可以分為通用和專用兩類。通用系列包括Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和 Motorola聯合研制的Neuron芯片等。專用SOC一般專用于某個或某類系統中,不為一般用戶所知。一個有代表性的產品是Philips的 SmartXA,它將XA單片機內核和支持超過2048位復雜RSA算法的CCU單元制作在一塊硅片上,形成一個可加載JAVA或C語言的專用的SOC,可用于公眾互聯網如Internet安全方面。
1.2?嵌入式處理器分類的變遷
國際上公認的通用嵌入式處理器有三大類:MCU、DSP和MPU(Micro-Processor Unit)。TI公司曾把處理器比作汽車,有個生動的比喻:DSP是跑車,追求的是速度;MPU是轎車,追求的是經濟性與速度的折中;MCU是滿足特殊用途的車。
現在,隨著處理速度的要求越來越高,同時處理的數據更加復雜,出現了雙核與多核處理器,通常為DSP+RISC芯核,如Infineon公司的 TriCore(CISC+RISC+DSP),Philips公司的Trimedia。隨著一些大量應用市場的崛起,又出現了一些新名詞,例如用于網絡、通信設備上的通信處理器(2000年左右興起),數碼相機、數碼錄像機等視頻、音頻流所需的媒體處理器(2003年興起),智能手機上的應用處理器(2004年興起)。
由于一些處理器不僅要有速度,還要有控制功能,又出現了DSP與MCU的結合品,主攻電機控制市場。如Freescale公司的DSP利用了其在MCU控制方面的技術;Microchip 2004年2月也推出了這種產品,稱為DSC(Digital Signal Controller)。
處理器IP(知識產權):
為了滿足多芯核與SoC設計的需要,還有一些廠家專門供應處理器芯核的IP廠商,芯核主要有16位、32位、64位,有軟核與硬核。值得一提的是,世界上最成功的IP廠商是做處理器芯核公司--ARM公司,至今年6月付運量已達20億個,可見處理器行業的博大。多芯核市場發展潛力廣闊,在 2004年2月美國的Electronic Summit 2004上,做64位RISC IP的Tensilica公司總裁Chris Rowen博士說,未來十年,一塊芯片中需要上千個處理器芯核,每秒要完成1012運算。
2?嵌入式處理器芯片的開發
2.1?嵌入式處理器芯片的一般開發過程
盡管有幾千種現成的芯片可供選擇,但是許多產品的設計者需要一些與眾不同的特性。因此,他們開發自己的嵌入式芯片,即所謂的專用集成電路。
一位設計人員開始時需要從一家公司取得嵌入式微處理器的內核的授權,然后添加他自己應用特有的特性。例如,對于數字照相機處理器來說,他可能為這種電荷耦合設備的芯片添加一個控制器。又比如,對于具有Internet功能的家電處理器來說,可以添加一個Ethernet接口。 這位設計者然后將他的設計交給“鑄造廠”,即一家擁有“工廠”(芯片制造廠)的公司,并將部分制造量出售給其他公司。主要的制造廠有United Microelectronics公司、***的TSMC公司和美國的IBM Microelectronics公司。
對于一些設計者來說,甚至這種靈活性還不夠用。他們可以找到某些公司,這些公司擁有可高度定制嵌入式微處理器內核的許可證。利用這類內核,可以開發出用于特殊目的的新機器級指令。 對于數字相機處理器而言,一條提高JPEG 圖像壓縮的指令具有很高的價值。 對于MP3音樂播放器來說,一條加速音頻解壓縮的指令具有同樣的用處。然后, 定制的設計被交給“鑄造廠”進行生產 和通用計算機不同,嵌入式系統的硬件和軟件都必須高效率地設計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現更高的性能,這樣才能在具體應用對處理器的選擇面前更具有競爭力。嵌入式處理器要針對用戶的具體需求,對芯片配置進行裁剪和添加才能達到理想的性能;但同時還受用戶訂貨量的制約。因此不同的處理器面向的用戶是不一樣的,可能是一般用戶,行業用戶或單一用戶。
嵌入式處理器的發展也體現出穩定性,一個體系一般要存在8-10年的時間。一個體系結構及其相關的片上外設、開發工具、庫函數、嵌入式應用產品是一套復雜的知識系統,用戶和半導體廠商都不會輕易地放棄一種處理器。
2.2 基于嵌入式處理器的嵌入式系統的開發工具
嵌入式處理器是一個復雜的高技術系統,要在短時間內掌握并開發出所有功能是很不容易的,而市場競爭則要求產品能夠快速上市,這一矛盾要求嵌入式處理器能夠有容易掌握和使用的開發工具平臺。提高用戶和程序員的時間--投入回報率。面對成百上千種處理器,選擇是一個問題,學習掌握處理器結構及其應用更需要時間,因此以開發工具和技術咨詢為基礎的整體解決方案是迫切需要的。好的開發工具除能夠開發出處理器的全部功能以外,還應當是對用戶友好的。
目前嵌入式系統的開發工具平臺主要包括下面幾類:
① 實時在線仿真系統ICE(In-CircuitEmulator)
在計算機輔助設計非常發達的今天,實時在線仿真系統(ICE)仍是進行嵌入式應用系統調試最有效的開發工具。ICE首先可以通過實際執行,對應用程序進行原理性檢驗,排除人的思維難以發現的設計邏輯錯誤。ICE的另一個主要功能是在應用系統中仿真微控制器的實時執行,發現和排除由于硬件干擾等引起的異常執行行為。此外,高級的ICE帶有完善的跟蹤功能,可以將應用系統的實際狀態變化、微控制器對狀態變化的反應、以及應用系統
對控制的響應等以一種錄像的方式連續記錄下來,以供分析,在分析中優化控制過程。很多機電系統難以建立一個精確有效的數字模型,或是建立模型需要大量人力,這時采用ICE的跟蹤功能對系統進行記錄和分析是一個快而有效的方法。
嵌入式應用的特點是和現實世界中的硬件系統有關,存在各種異變和事先未知的變化,這就給微控制器的指令執行帶來了各種不確定性,這種不確定性只有通過ICE的實時在線仿真器才能發現,特別是在分析可靠性時要在同樣條件下多次仿真,以發現偶然出現的錯誤。
ICE不僅是軟件硬件排錯工具,同時也是提高和優化系統性能指標的工具。高檔ICE工具(如美國NOHAU公司的產品)是可根據用戶投資裁剪功能的系統, 亦可根據需要選擇配置各種檔次的實時邏輯跟蹤器(Trace)、實時映象存儲器(Shadow RAM)及程序效率實時分析功能(PPA)。
② 高級語言編譯器(Compiler Tools)
C語言作為一種通用的高級語言,大幅度提高了嵌入式系統工程的工作效率,充分發揮出嵌入式處理器日益提高的性能,縮短產品進入市場時間。另外,C語言便于移植和修改,使產品的升級和繼承更迅速。更重要的是采用C語言編寫的程序易于在不同的開發者之間進行交流,從而促進了嵌入式系統開發的產業化。
區別于一般計算機中的C語言編譯器,嵌入式系統中的C語言編譯器要專門進行優化,以提高編譯效率。優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編寫的同樣功能程度長5-20%。編譯效率的不同,是區別嵌入式系統C編譯器之間性能差別的重要根據之一。而C編譯器殘余的5-10%效率差別,完全可以由現代微控制器的高速度、大存儲器空間以及產品提前進入市場來彌補。
新型的微控制器指令速度不斷提高,存儲器空間也相應加大,已經達到甚至超過了目前的通用計算機中的微處理器,為嵌入式系統工程采用過去一直不敢問津的C+ +語言創造了條件。C++語言強大的類、繼承等功能更便于實現復雜的程序功能。但是C++語言為了支持復雜的語法,在代碼生成效率方面不免有所下降。為此,1995年初在日本成立的Embedded C++技術委員會經過幾年的研究,針對嵌入式應用制訂了減小代碼尺寸的EC++標準。EC++保留了C++的主要優點,提供對C++的向上兼容性,并滿足嵌入式系統設計的一些特殊要求。在嵌入式高級語言編譯器方面處于領先地位的Tasking公司,是EC++技術委員會成員之一,也是最先推出EC++產品的公司。
C/C++/EC++引入嵌入式系統,使得嵌入式開發和個人計算機、小型機等之間在開發上的差別正在逐漸消除,軟件工程中的很多經驗、方法乃至庫函數可以移植到嵌入式系統。在嵌入式開發中采用高級語言,還使得硬件開發和軟件開發可以分工,從事嵌入式軟件開發不再必須精通系統硬件和相應的指令集匯編。
另一種高級語言JAVA的發展則具有戲劇性。JAVA本來是為設備獨立的嵌入式系統設計的、為了提高程序繼承性的語言,但是目前基于JAVA的嵌入式開發工具代碼生成長度要比嵌入式C編譯工具差10倍以上。因此EC++很可能在未來的一段時間內仍是嵌入式系統的主流。
源程序模擬器是在廣泛使用的、人機接口完備的工作平臺上,如小型機和PC,通過軟件手段模擬執行某種嵌入式處理器內核編寫的源程序測試工具。簡單的模擬器可以通過指令解釋方式逐條執行源程序,分配虛擬存儲空間和外設,供程序員檢查;高級的模擬器可以利用計算機的外部接口模擬出處理器的I/O電氣信號。不同檔次和功能模擬器工具價格差距巨大。模擬器軟件獨立于處理器硬件,一般與編譯器集成在同一個環境中,是一種有效的源程序檢驗和測試工具。但值得注意的是, 模擬器畢竟是以一種處理器模擬另一種處理器的運行,在指令執行時間、中斷響應、定時器等方面很可能與實際處理器有相當的差別。另外它無法和ICE一樣,仿真嵌入式系統在應用系統中的實際執行情況。
3 結束語
嵌入式系統是將計算機直接嵌入到應用系統中,是信息技術的最終產品。嵌入式系統的核心就是嵌入式處理器。嵌入式系統是信息產業走向二十一世紀知識經濟時代的最重要的經濟增長點之一,這是一個不可壟斷的工業,對中國的信息產業來說充滿了機遇和挑戰。世界這么廣大,充滿了多樣化,尤其是我們已經進入到后PC時代--無所不在的計算(nomadic computing)使嵌入式處理器將遍及我們能夠想象得到的各個角落,因此,每種處理器都有存在的理由,都有可伸展的方向。這一點應特別引起中國信息產業界的關注。
隨著我國的龍芯、北大眾志、方舟、星光、漢芯等處理器芯片的問世,中國無芯的時代已經過去。“軟件是大腦,芯片是心臟。”中國芯的意義不僅僅是中國有了自己的核心芯片,更重要的是中國也開始參與了世界半導體競技場的角逐,這樣更有利于我國在21世紀更加主動地、有利地、有效地分享嵌入式應用這塊大蛋糕。
評論