實現(xiàn)8位微控制器升級至32位的關(guān)鍵
現(xiàn)今基于嵌入式微控制器 (MCU) 的應(yīng)用對功能的要求不斷增多,例如,電機控制必須具有更高的能源效率;以往獨立的應(yīng)用也必須聯(lián)網(wǎng)。在這種情況下,對微控制器的性能和存儲容量的要求也大為提高。對一些應(yīng)用而言,解決的方法就是從8位或16位MCU升級至32位。這樣一來,雖然性能得以提高,但也可能導致單元成本、系統(tǒng)復雜性以及軟件開發(fā)成本的增加。本文將討論如何通過系統(tǒng)集成將8位功能加入至32位系統(tǒng)中,以及提供功能強大的低成本開發(fā)工具,從而加快這種升級過程。
本文引用地址:http://2s4d.com/article/150823.htm通過提升制造技術(shù)可以降低單元成本。不過,除非32位MCU具備和8位或16位系統(tǒng)相若的系統(tǒng)集成度,否則這些優(yōu)點都將因為加入外部器件的成本而一筆勾銷。高性能系統(tǒng)獨有的高速緩存等往往令系統(tǒng)變得復雜。但是對那些正在升級至 32 位系統(tǒng)的典型實時控制應(yīng)用而言,這些并不是必需的功能。雖然,把現(xiàn)有代碼移植到新一代更高性能微控制器的成本是無法省去的,但為了減少整體所需的工作量,可以通過開發(fā)工具的設(shè)計來推動這種升級過程。
市場趨勢:轉(zhuǎn)向32位MCU
根據(jù)Gartner Dataquest公司統(tǒng)計,在過去10年間,32位微控制器在MCU市場的營業(yè)額從零開始增長到了近25%,目前的增長率高于8位或16位系統(tǒng)。而且,隨著眾多配備了針對特定市場領(lǐng)域,如汽車市場等的功能集的器件不斷涌現(xiàn),MCU 市場正在逐步分化。 從8位和16位MCU升級至 32位架構(gòu)的重點是深度嵌入式實時控制應(yīng)用。
此外,目前產(chǎn)業(yè)界還出現(xiàn)了一個明顯趨勢,就是ARM RISC處理器正逐漸成為32位MCU的行業(yè)標準,一如當初8051架構(gòu)是8位系統(tǒng)的標準。目前,ARM 在32位嵌入式RISC MCU市場的占有率達 75%,截至2005年1月,ARM各合作伙伴已付運超過25億片的的ARM 內(nèi)核的MCU。
成本:技術(shù)和整合度的考慮
采用當前0.18μm的工藝技術(shù),生產(chǎn)一塊包含有一個32位RISC處理器、標準外圍設(shè)備和一個小容量閃存的單芯片成本并不昂貴,但對于8位應(yīng)用而言,單憑此尚不足夠。從8位微控制器升級的應(yīng)用需要有更高水平的系統(tǒng)集成度 (見圖1),來滿足整體的系統(tǒng)成本預算。而且,這種整合度必須讓32位系統(tǒng)具有8位片上系統(tǒng)的基本功能。
32位器件必須采用單電源工作;集成大電流驅(qū)動 I/O 和收發(fā)器;控制系統(tǒng)上電;通過低成本晶振生成系統(tǒng)時鐘;而且其 I/O上應(yīng)具有可編程上拉電阻 (pull-up)。此外,32位器件還應(yīng)確保在任何環(huán)境下應(yīng)用的行為都可以預測,這需要一個節(jié)電檢測器 (brown-out detector)、一個可編程監(jiān)視器,以及一個集成RC振蕩器,而毋需高速緩存和閃存加密位 (lock bit)。
從8位升級至 32位系統(tǒng)時的性能要求
嵌入式閃存的訪問時間
基于8位微控制器的應(yīng)用一般是以控制為主導 (control-driven) 的,要求對外部事件的確定過程式 (deterministic) 響應(yīng)和可預測的響應(yīng)時間。然而,用來加快對緩慢非易失性儲存媒介之存取速度的高速緩存卻不是決定性的,因此對于那些對時間要求嚴格的應(yīng)用來說是不可接受的。提高實時性能又不增加成本的惟一方法,就是加快對嵌入式閃存的存取速度。
目前產(chǎn)業(yè)界的0.18μm工藝技術(shù)能在30MHz的ARM微控制器上進行單周期內(nèi)訪問,原始性能可達27MIPS,遠高于現(xiàn)有的一般 8位微控制器。
提高中斷處理能力
實時控制應(yīng)用一般是采用中斷驅(qū)動,利用多個中斷源和規(guī)定每一中斷時間內(nèi)所需的響應(yīng)來進行。基本的ARM架構(gòu)有一個弱點,就是它的中斷處理機制很簡陋,沒有中斷優(yōu)先所需的硬件裝置。這時便需要一種裝置來增強中斷能力,如圖2所示。它提供一組帶有 8 個優(yōu)先級別之可獨立屏蔽的向量式中斷源。永久存儲在SRAM中的基本中斷處理程序負責分配中斷的優(yōu)先級級別,然后執(zhí)行一條指令,利用中斷號 (每一中斷源均獲發(fā)一個獨有編號) 作為偏移量 (offset),把用于所需中斷服務(wù)程序的向量直接裝載入程序計數(shù)器 (Program Counter)。這種簡單有效的機制能夠確保在最少數(shù)目的指令周期內(nèi),把控制傳送到所需的中斷服務(wù)程序中。
評論