32位嵌入式開發的動向
2004年9月A版
摘 要:嵌入式系統開發已經進入32位時代,與傳統的8/16位系統相比,無論處理器的結構還是開發手段上都發生了較大變化,并出現了一大批新技術。本文以ARM技術為主,探討了國內外32位嵌入式開發的現狀和趨勢,涉及到了諸如SOC、SOPC、軟硬件協同設計等多個領域,以期引入更為廣泛和深刻的討論。
關鍵詞:嵌入式系統;32位;ARM;技術趨勢
嵌入式微處理器市場狀況
2003年我國嵌入式系統應用產品經濟總量達1000億元,其中嵌入式處理器芯片約為100億元。2003年我國嵌入式微處理器銷售總量約為10.2億片,4位MCU占2.6億片、8位約占6.6億片,32位MPU占0.75億片。另外,據有關機構預測分析,今年中國大陸市場8位MCU的需求量會增長15%~20%左右;32位MPU的需求量繼續以100%的速度增長。
由此可以看出,8位MCU市場已逐步趨向穩定,32位MPU代表著嵌入式技術的發展方向,正在加速發展。在32位嵌入式微處理器市場上,基于ARM內核的微處理器在市場上處于絕對的領導地位(圖1),因此追蹤ARM技術的發展趨勢顯得尤為重要。
ARM技術的發展趨勢
高度集成化的SOC趨勢
ARM公司是一家IP供應商,其核心業務是IP核以及相關工具的開發和設計。半導體廠商通過購買ARM公司的IP授權來生產自己的微處理器芯片。由此以來,處理器內核來自ARM公司,各芯片廠商結合自身已有的技術優勢以及芯片的市場定位等因素使芯片設計最優化,從而產生了一大批高度集成、各具特色的SOC芯片。例如Intel公司的XScale系列集成了LCD控制器、音頻編/解碼器,定位于智能PDA市場;Atmel公司的AT91系列片內集成了大容量Flash和RAM、高精度A/D轉換器以及大量可編程I/O端口,特別適合于工業控制領域;Philips公司的LPC2000系列片內集成了128位寬的零等待Flash存儲器以及I2C、SPI、PWM、UART等傳統接口,極高的性價比使它對傳統的8/16位MCU提出了嚴峻挑戰。
然而如此眾多的高集成度SOC芯片由于其內核統一于ARM核心,使得軟、硬件平臺的移植變得相當容易;只要掌握了ARM開發技術的核心,就可以達到“一通百通”的目的,為用戶大大降低了培訓、學習的成本,縮短了產品上市的時間。
高集成度SOC芯片的采用可以帶來一系列好處,諸如減少了外圍器件和PCB面積,提高系統抗干擾能力,縮小產品體積,降低功耗等。
ARM公司的IP核也由ARM7、ARM9發展到今天的ARM11版本。ARM11囊括了Thumb-2、CoreSight、TrustZone等眾多業界領先技術,同時由單一的處理器內核向多核發展,為高端的嵌入式應用提供了強大的處理平臺。
軟核與硬核同步發展的SOPC技術
隨著亞微米技術的發展,FPGA芯片密度不斷增加,并以強大的并行計算能力和方便靈活的動態可重構性,被廣泛地應用于各個領域。但是在復雜算法的實現上,FPGA卻遠沒有32位RISC處理器靈活方便,所以在設計具有復雜算法和控制邏輯的系統時,往往需要RISC和FPGA結合使用,SOPC技術就是在這樣的環境下誕生的。同時ASIC相對于SOPC由于缺少彈性,且逐漸喪失價格優勢而放慢了發展的步伐。
SOPC技術中以Nios和MicroBlaze為代表的RISC處理器IP核、各種標準外設IP核以及用戶以HDL語言開發的邏輯部件可以最終綜合到一片FPGA芯片中,實現真正的可編程片上系統,此時的嵌入式處理器稱之為“軟處理器”或“軟核”。Altera公司最新推出的NiosII可以嵌入到Altera公司的StratixII、Stratix、Cyclone和HardCopy等系列可編程器件中,用戶可以獲得超過200DMIPS的性能,而只需花費不到35美分的邏輯的資源。用戶可以從三種處理器以及超過60個的IP核中選擇所需要的,設計師可以以此來創建一個最適合他們需求的嵌入式系統。軟核技術提供了極高的靈活性和性價比。
SOPC技術的另一個重要分支是嵌入硬核。集高密度邏輯(FPGA)、存儲器(SRAM)及嵌入式處理器(ARM/PPC)于單片可編程邏輯器件上,實現了高速度與編程能力的完美結合。Altera公司的EPXA10芯片內部集成了工作頻率可達200MHZ的ARM922T處理器、100萬門可編程邏輯、3MB的內部RAM以及512個可編程I/O管腳,可以通過嵌入各種IP核實現多種標準工業接口,如PCI、USB等。軟硬核同步發展,為用戶提供了更多、更靈活的選擇。
與DSP技術融合
傳統的嵌入式微處理器可以分為微控制器MCU、微處理器MPU和數字信號處理器DSP,然而隨著技術的發展,它們之間的區別也變的越來越模糊,并有逐步融合的趨勢。現在不少的MCU和MPU具備了DSP的特征,例如采用哈佛結構,增加了乘加運算指令等;同時不少DSP芯片內部也集成了A/D、D/A、定時/計數器和UART等。
這種技術融合趨勢也有兩條不同的技術路線:1.在中低端應用中,在傳統MPU內部集成DSP宏單元以及在指令集中加入DSP功能指令。ARM9E系列處理器采用哈佛結構的同時增加了16位數據乘法和乘加操作指令、雙字數據操作指令、cache預取指令等,可以滿足數字消費品、存貯設備、馬達控制和低端網絡設備對于控制和高密度運算能力的雙重需求。2.高端復雜應用中,向多內核、并行處理的方向發展。TI公司的開放媒體應用處理器OMAP集成了TI的TMS320C5XXDSP內核和一個增強了的ARM926-EJS內核以及內部處理器通信機制和音頻、視頻、網絡通信等部件,使之成為一個強大的多媒體移動計算平臺。
開發和調試手段不斷完善
隨著嵌入式應用系統的日益復雜化以及開發周期越來越短,開發和調試手段也發生了很大改變。硬件方面由于QFP和BGA封裝的逐漸普及,使得以探針方式為主的BDM(背景調試模式)力不從心;以邊界掃描接口(JTAG)為基礎的在電路仿真調試手段(ICE)正在普及,更為先進的片上實時跟蹤(Trace)技術也已浮出水面。軟件方面,因為軟件規模不斷擴大,必須采用嵌入式操作系統來管理軟、硬件資源,同時傳統的C語言和匯編語言混合編程的模式也因為引入面向對象思想以及C++和Java語言而發生了很大改變。面向對象語言更適合大規模應用和平臺級開發,代碼復用和移植變得更簡單。
ARM公司最新推出的RealView是一整套完整的解決方案,由集成開發環境和在線仿真器Multi-ICE,實時跟蹤器Multi-Trace等組成。RealView支持多內核系統調試,多種操作系統的任務級或線程級調試,大大降低了高端ARM處理器的開發門檻,縮短了應用系統開發周期。圖2說明了復雜片上系統調試/跟蹤原理。
軟件工程思想融入嵌入式軟件
嵌入式軟件規模不斷擴大,以往的面向過程的模塊化分析方法已經很難滿足要求。基于對象的統一建模語言(UML)可以描述對于實時系統極為關鍵的結構和行為方面,并且已成為有效設計的優秀媒介。Hassan Gonaa提出的并發對象建模和體系結構設計方法(COMET)以及Bruce Powel Douglass等人提出的嵌入式系統的快速面向對象過程(ROPES)都是在吸收了統一建模語言精髓的基礎上,并融合了嵌入式實時系統固有特點發展而來的基于UML的嵌入式系統建模和分析方法。
嵌入式系統可以歸入電子技術和計算機技術交叉學科的范疇,因此存在著硬件、軟件在設計時的協調和配合問題。傳統的系統級設計方法如圖3所示,雖然在系統設計的初始階段考慮了軟硬件接口問題,但由于軟硬件分別開發,各自部分的修改和缺陷很容易導致系統集成時出錯誤。由于設計方法的限制,這些錯誤不但很難定位,而且對它們的修改往往會涉及整個軟件結構和硬件配置的改動,會帶來災難性后果。
為了避免上述問題,軟硬件協同設計的方法應運而生,其典型設計過程如圖4所示。首先,采用有限狀態機(FSM)、統一化規格語言(CSP)和硬件描述語言(HDL)等方法對系統進行抽象描述,對軟/硬件統一表示,便于功能劃分和綜合;然后,在此基礎上對軟/硬件進行劃分。這種方法的特點是在協同設計、協同測試和協同驗證上,充分考慮軟/硬件的關系,并在設計的每個層次上給予測試驗證,使得盡早發現和解決問題。國外一些大的半導體廠商已經將這種分析/設計方法逐步運用到實際的芯片開發設計當中。
國內的現狀和動向
國內的32位嵌入式開發近兩年來異常火爆,基于32位SOC芯片的應用系統能夠大大提高產品的性能和附加值,增強產品的市場競爭力,因此越來越多的工程師開始將目光從8位/16位轉移到32位微處理器上。廣大的應用開發工程師是國內32位嵌入式開發向縱深發展的基礎。華為、大唐、東南大學、清華大學等一批企業和研究機構購買了ARM公司的IP授權用于自有知識產權SOC芯片的設計,這必將逐步縮小我們同國外先進水平的差距。
由于市場和政策導向,國內的32位嵌入式處理器也呈現出群體突破的態勢,方舟一號、方舟二號、龍芯等一大批32位嵌入式處理器陸續問世,但是開發工具、生產能力等問題還未解決,阻礙了它們的推廣應用。另一方面,在SOPC、軟硬件協同設計等較為前沿的領域我們還處于研究和探索階段,與國外先進水平尚有較大差距。但我們有理由相信,采用國產芯片和操作系統的嵌入式開發已不再遙遠。
參考文獻:
1. Hassan Gonaa,‘Designing Concurrent, Distributed and Real-Time Applications with UML’,American: Addison-Wesley Press, 2004,1
2. 王田苗,‘嵌入式系統設計與實例開發’,清華大學出版社,2003.10
評論