發布日期:2022-07-15 點擊率:34
更先進的應用推動設計界正從8/16位轉向功能更強大的32位MCU。不過,這一過程也提出了一系列需要處理全新問題,如器件和開發工具的成本、存儲器使用率、可選器件的種類等。綜合考慮總的系統成本對設計師決定是否向32位轉移將提供很大幫助。
InStat/MDR預計在2001至2006年期間,32位微控制器(MCU)的復合年增長率可望達到22.6%,目前推動這一增長的因素主要有以下兩個:一是要求更高性能的新應用的推出,包括數碼相機、手機及MP3播放機等小型設備;二是像電視機、汽車音響及電子玩具等大家非常熟悉的應用變得越來越先進,以致它們對擁有超出8位微控制器范圍的性能及存儲器的需求正在增長。
在討論從8位向32位轉移之前,搞清楚16位微控制器到底適合于哪類應用是很重要的。對許多不同市場嵌入式應用工程師的一些主要調研表明:大部分從8位MCU起家的工程師正直接升級到32位控制器。對于他們中的大多數人而言,16位MCU似乎并不是一種可行的升級選擇。
與過去十年中所發生的從4位向8位大規模轉移相比,這種情況顯得特別有趣。很明顯,歷史不再重演,因為過去很少有設計直接從4位轉移到16位。與過去不同的一個原因是,ARM7TDMI已將它自己確立為標準的CPU內核。目前,有超過30家半導體廠商正在付運基于ARM7TDMI的產品,因此該內核甚至比目前廣泛使用的80C51更多地變成一種事實標準。而在主要由單一來源專有內核組成的16位世界中,從未被設想過能有這種占統治地位的體系架構。
此外,半導體工藝幾何尺寸的縮小也幾乎完全消除了16位與32位MCU之間的價格差異。因為片上存儲器及外圍電路占去了如此多的硅面積,使得MCU內核的成本在整個器件預算中幾乎可以忽略不計。對于大多數應用而言,甚至不會考慮從4位MCU升級到16位,因為其價格差別很大。
驅動因素
那么從8位轉換到32位架構又有哪些特定驅動因素呢?首先是對更寬尋址范圍需求的增長,今天許多8位架構都被限制在64k尋址范圍內,使得一些微控制器不能對外部程序存儲器進行尋址,這就限制了對芯片上所實現的各種存儲器進行尋址的范圍。只有少數幾種8位架構可尋址多達數MB的片外存儲器,雖然在某些情況下,可擴大現有架構的尋址范圍,但解決方案隨廠商的不同而各不相同,而且相互之間代碼不兼容,因此所擴展的尋址能力仍缺少32位架構所擁有的功效。故8位微控制器仍是8位,而且計算地址所涉及的大量運算已成為大多數8位架構的沉重負擔。目前許多32位微控制器具有同步DRAM,因此可極大地減少使用更大容量數據儲存器的成本。比較而言,8位架構只能對SRAM進行尋址。
對更多性能的需求也在驅動著MCU向32位架構轉換。不僅各種應用在時鐘速度方面需要更多的原始CPU能力,而且像嵌入式應用中不斷增加的以太網及USB這類通信接口也提高了對片上外圍電路的要求。帶片上以太網MAC的8位MCU之所以少之有少,是因為TCP/IP協議過于復雜以至于無法適當地在大多數8位架構上運行。
除了處理應用控制功能之外,在MCU運行TCP/IP或其他協議的情況下,對RTOS的需求正迅速成為一種現實。大多數8位微控制器并未構建成可進行實時任務切換,因此幾乎沒有好的實時操作系統可用。此外,DMA控制器在32位MCU上很常見,且被用于在控制器收、發大量數據時對CPU進行卸載。
值得注意的還有,客戶中避免使用單一來源架構的傾向日益明顯。除80C51以外,單一來源架構在8位MCU市場中占據統治地位,這意味著極大的工具投資,以及每次將代碼從一種架構移植到另一種架構時所帶來的切實工作量。隨著ARM7TDMI成為32位嵌入式領域較低端應用的事實標準架構,嵌入式設計工程師們又重新獲得了既可對來自不同供應商的眾多微控制器種進行選擇、同時又不會在代碼庫及開發工具上浪費投資的自由度。
各種障礙
盡管如此,從8位架構轉移到32位架構所涉及的遠不止代碼再編譯及電路板再布局等工作,相反,32位MCU雖在可能性方面打開了一個全新的世界,但同時也帶來了一系列全新的、已經被覺察到需要處理的問題。
首先面臨的就是有關更高器件成本的說法。人們似乎總是有這么一種感覺,即“位數越多,成本也就越高”,但這種感覺并非總是正確。目前許多32位架構是用微米工藝制造,而且人們必須考慮應用的總原材料清單(BOM)。在很多情況下,由于具有額外的性能及片上外圍電路,因此一片32位MCU可取代好幾種器件。工程師們常常只比較微處理器的價格,而不是比較總的系統成本,這甚至阻礙了許多工程師去考慮實施這種從8位向32位的轉移。
例如,對聯網圖像設備的成本分析表明,使用32位MCU只給32位解決方案增加2美元的器件成本,但考慮到能包括JPEG解壓縮及速度更快的100Mbps以太網連接,這只是一個很小的數字。而由功能增加所創造的額外市場價值,迄今為止已遠遠超過了所增加的器件成本。不僅如此,重新設計還能提供用于未來擴展的豐富性能。
存儲器使用率被認為是另一個障礙。目前很少有32位 MCU擁有片上程序存儲器,盡管情況正在改變。使用片外存儲器帶來的主要問題是EMI、功耗、存取時間及安全等。
開發工具成本并非是一個必然障礙。一套8位開發工具套件通常包括編譯器與仿真器/調試器,價格高達4,000美元。在某些情況下,人們可以低得多的價格獲得這種開發套件,但很少有免費編譯器可用,而且幾乎所有8位器件均要求有專用仿真器。通常情況下,采用幾種基于單一架構的衍生器件就需要使用幾種仿真器。
在投資32位開發工具時,開銷很容易超過4,000美元。但由于有免費的GNU調試器及編譯器供應,且由于大多數32位架構并不需要用于實時調試的仿真器,因此人們可從適度的開發工具投資開始著手。當然這需要芯片供應商承擔更多移植、測試及支持免費工具鏈的工作。
在一些情況下,對復雜性的恐懼,可能足以使工程師們在向32位轉移時猶豫不前。基于8位微處理器的開發者通常只擁有很少的RTOS及編程經驗。害怕學習過程過于艱難而漫長,將他們裹足不前的重要障礙。而當性能要求達到8位微控制器能實現的極限時,包括增加更多特性在內的設計考慮開始對資源變得極端渴求,這時能有一次跨越會更好。
然后要考慮的是器件種類絕對數。8位MCU產品包含了由40多家供應商所提供的近1,300種器件。而類似數量的廠商則在32位類別中只提供了240種器件。盡管最近兩年在器件選擇上的差別可望能有所減小,但這仍是一個切實存在的事實。
在做出向32位MCU升級的決定時,陷入思想斗爭的工程師們必須考慮一下總的系統成本,因為情況經常是,成本上的微小增加可帶來應用性能的成倍增長。在學習一種新的架構及新的工具集時,可能會涉及一些額外的工作,但從已陷入困境中的8位架構中“擠出”最后一點點Mips,也很容易耗費掉實驗室中的最后幾小時開發時間。
作者:Geir Kjosavik
業務拓展總監
Triscend公司