8位MCU升級至32位MCU的最佳設(shè)計
一個古老的嵌入式設(shè)計問題,就是在你的新設(shè)計中使用 8位還是32位內(nèi)核?如果你問自己的同事,可能會發(fā)現(xiàn)他們的觀點截然不同。無論是否喜歡,32為內(nèi)核存在于今。那么這意味著什么呢?它意味著,在某一天,無論你多么努力嘗試避免,都不得不從你喜愛的8位內(nèi)核轉(zhuǎn)向新的、復(fù)雜的32位內(nèi)核。這類移植是痛苦的嗎?使用正確的技巧和方法,情況并非如此。
本文引用地址:http://www.ex-cimer.com/article/170762.htm目前的MCU市場分為三個部分, 8位、16位和32位內(nèi)核(4位內(nèi)核MCU現(xiàn)在已相當(dāng)少用,故在本次比較中將其忽略)。對于這三個部分中的每一個,其規(guī)模大體相同。傳統(tǒng)上8位內(nèi)核占最大的市場份額。根據(jù)一些分析人士報告,可能32位內(nèi)核市場占有率已經(jīng)超過了8位內(nèi)核。即使目前尚未超過,時間也不會太長。32位內(nèi)核市場份額是迄今為止增長最快的。8位內(nèi)核和16位內(nèi)核仍在增長,但在速度方面遠(yuǎn)不如32位內(nèi)核(8位內(nèi)核的增長速度仍快于16位內(nèi)核)
在很長的一段時間內(nèi), 很多人相信16位MCU可能會被8位MCU和32位MCU取代。目前的32位MCU器件采用最新技術(shù)制造(與8位內(nèi)核和16為內(nèi)核相比)。
MCU制造商能夠使用這些最新的技術(shù),使得32位MCU體積變得越來越小,因而變得越來越廉價。由于32位MCU所具有的價格和性能,很多分析人士相信,設(shè)計工程師將跳出16位領(lǐng)域, 直接轉(zhuǎn)向具有高性能的產(chǎn)品,保證其設(shè)計的未來。
8位MCU無論是在性能還是存儲處理能力方面均達(dá)到了其極限。這也是目前存在16位和32位MCU的原因之所在。隨著行業(yè)按照摩爾法則的軌跡發(fā)展, 32位MCU變得越來越小和越來越廉價,以至于在傳統(tǒng)的8位和16位領(lǐng)域方面也具有了競爭力。
與8位和16位MCU相比,這些新的32位MCU具有更高的處理能力。典型的8位MCU的速度在10~30MIPS之間。16位MCU介于20和40 MIPS之間。而新的32位MCU通常具有80~ 100 MIPS的處理能力!這是處理能力和速度方面的重大改進(jìn)。
與8位和16位MCU相比,很多 32位MCU具有更小的體積,通常具有更低的 功耗。較小的體積通常意味著更好的功耗、更低的電流消耗和更低的有效輸入電壓。一些新產(chǎn)品的休眠電流幾乎無法測量,提供的輸入電壓低至0.5V。這就為32位MCU提供了巨大優(yōu)勢。在當(dāng)今市場上,功率為王。即使某一應(yīng)用不是以電池為供電, 目前的設(shè)計人仍不得不考慮功耗。對于插入柵板的應(yīng)用,出于多種原因,仍必須是“綠色”的。某些頂級產(chǎn)品必須針對市場目的,或是因為政府命令和標(biāo)準(zhǔn)。例如,最新的消費(fèi)電子器件目前均是兼容能源之星(Energy Star)的。
如果你目前正在使用8位MCU,你可能會在下一設(shè)計中考慮32位MCU。即使下一代設(shè)計仍繼續(xù)使用8位MCU,目前也有很多步驟方法可幫助你做好最終的移植備。今天做一些研究,并進(jìn)行正確決策,就能為明天的設(shè)計提供保證。
當(dāng)你開始考慮轉(zhuǎn)移至32位MCU時,或許會認(rèn)為將遇到一些問題。例如,你認(rèn)為自己需要學(xué)習(xí)新的架構(gòu);你可能需要重寫自己的所有代碼,以便與新的內(nèi)核協(xié)調(diào)工作;或許你感覺32位MCU過于艱難和復(fù)雜,它們不是為了便于使用而設(shè)計的,而是為了性能設(shè)計的,這意味著,你將不得不考慮它們所擁有的數(shù)以千計的寄存器;或許你關(guān)心可能將不得不學(xué)習(xí)一整套新的軟件工具,你將需要熟悉全新的硬件工具;或許你還認(rèn)為,32位MCU并不針對你的應(yīng)用,你無法為自己的設(shè)計找出正確的成套外圍器件。你可能會關(guān)心上述一種或多種問題, 但它們?nèi)际潜匾目紤]事項嗎?讓我們分別分析它們。
大多數(shù)設(shè)計者認(rèn)為,當(dāng)他們從8位MCU轉(zhuǎn)移到32位MCU時,將不得不學(xué)習(xí)新的體系架構(gòu)。問題是大多數(shù)公司有自己的老式8位MCU產(chǎn)品系列和新的32位MCU產(chǎn)品系列。 每年,他們可能仍會為8位產(chǎn)品系列推出少量新的產(chǎn)品,他們希望把握機(jī)會,從失誤中學(xué)習(xí),并在32位系列中更正錯誤。你或許無法在器件上發(fā)現(xiàn)相同的外圍部件。不同系列的代碼不兼容,或不具有管腳兼容性,因而你將不得不重新完成整個電路板。
盡管真實的情形是這樣的,你無法在不改變設(shè)計核心的情況下實現(xiàn)移植,但你也希望無需再次學(xué)習(xí)所有的內(nèi)容。一些公司開始發(fā)布新的產(chǎn)品,在8位版本和32位版本之間具有完全相同的成套外圍組件。組件中唯一改變的是其內(nèi)核。其他部分,包括管腳布局位置,均保持不變。如果你目前使用的是8位MCU,明天就能移植到該公司的32位MCU上,同時仍能使用相同的印刷電路板。這方面的一個例子是Cypress半導(dǎo)體公司最近發(fā)布的PSoC? 3和PSoC 5架構(gòu)。這兩種架構(gòu)具有相同的外圍組件、封裝和管腳。PSoC 3架構(gòu),采用了新的單周期/指令 8051,運(yùn)行頻率高達(dá)67 MHz,能夠方便地與PSoC 5版本兼容。PSoC 5版本采用了ARM? Cortex?-M3處理器,運(yùn)行頻率高達(dá)80 MHz。這類產(chǎn)品使得從一種架構(gòu)到另一架構(gòu)的移植變得簡單易行。
圖1:點擊按鈕,就能從8位變?yōu)?2位
人們還認(rèn)為,你將不得不為新的32位產(chǎn)品重寫所有的代碼。情形并非總是如此。對于在8位和32位內(nèi)核之間具有匹配外圍組件的很多這類新產(chǎn)品,它們的固件也是兼容的。這些芯片采用高級語言(如C語言),能夠編寫一套代碼,可以選擇針對8位產(chǎn)品進(jìn)行編譯,或選擇32位產(chǎn)品并重新編譯。你可以采取略微復(fù)雜的方法,使用高級語言編寫代碼,仍調(diào)用針對特定內(nèi)核的寄存器,如果你遵守高級編程的精神,移植仍相當(dāng)容易。
你可能考慮工具會怎樣呢?與你正在使用的特定內(nèi)核相比,你可能更關(guān)注集成開發(fā)環(huán)境(IDE)。一旦你掌握了它,你不會愿意學(xué)習(xí)新的。但是,如果你擁有一種可在兩種架構(gòu)上工作的IDE,情況會怎樣呢?Cypress公司新的PSoC Creator?軟件就是這方面的一個例子。它是一種能與8位器件和32位器件一起工作的集成開發(fā)環(huán)境(IDE)。保證設(shè)計未來前景的一種良好方式是,在今天就選擇相應(yīng)的產(chǎn)品(即使你仍與8位內(nèi)核打交道),通過該產(chǎn)品,能夠為8位設(shè)計和32位設(shè)計使用相同的工具。
評論