8位MCU升級(jí)至32位MCU的方法
目前的MCU市場(chǎng)分為三個(gè)部分,8位、16位和32位內(nèi)核(4位內(nèi)核MCU現(xiàn)在已相當(dāng)少用,故在本次比較中將其忽略)。對(duì)于這三個(gè)部分中的每一個(gè),其規(guī)模大體相同。傳統(tǒng)上8位內(nèi)核占最大的市場(chǎng)份額。根據(jù)一些分析人士報(bào)告,可能32位內(nèi)核市場(chǎng)占有率已經(jīng)超過(guò)了8位內(nèi)核。即使目前尚未超過(guò),時(shí)間也不會(huì)太長(zhǎng)。32位內(nèi)核市場(chǎng)份額是迄今為止增長(zhǎng)最快的。8位內(nèi)核和16位內(nèi)核仍在增長(zhǎng),但在速度方面遠(yuǎn)不如32位內(nèi)核(8位內(nèi)核的增長(zhǎng)速度仍快于16位內(nèi)核)
在很長(zhǎng)的一段時(shí)間內(nèi),很多人相信16位MCU可能會(huì)被8位MCU和32位MCU取代。目前的32位MCU器件采用最新技術(shù)制造(與8位內(nèi)核和16為內(nèi)核相比)。
MCU制造商能夠使用這些最新的技術(shù),使得32位MCU體積變得越來(lái)越小,因而變得越來(lái)越廉價(jià)。由于32位MCU所具有的價(jià)格和性能,很多分析人士相信,設(shè)計(jì)工程師將跳出16位領(lǐng)域,直接轉(zhuǎn)向具有高性能的產(chǎn)品,保證其設(shè)計(jì)的未來(lái)。
8位MCU無(wú)論是在性能還是存儲(chǔ)處理能力方面均達(dá)到了其極限。這也是目前存在16位和32位MCU的原因之所在。隨著行業(yè)按照摩爾法則的軌跡發(fā)展,32位MCU變得越來(lái)越小和越來(lái)越廉價(jià),以至于在傳統(tǒng)的8位和16位領(lǐng)域方面也具有了競(jìng)爭(zhēng)力。
與8位和16位MCU相比,這些新的32位MCU具有更高的處理能力。典型的8位MCU的速度在10~30MIPS之間。16位MCU介于20和40MIPS之間。而新的32位MCU通常具有80~100MIPS的處理能力!這是處理能力和速度方面的重大改進(jìn)。
與8位和16位MCU相比,很多32位MCU具有更小的體積,通常具有更低的功耗。較小的體積通常意味著更好的功耗、更低的電流消耗和更低的有效輸入電壓。一些新產(chǎn)品的休眠電流幾乎無(wú)法測(cè)量,提供的輸入電壓低至0.5V。這就為32位MCU提供了巨大優(yōu)勢(shì)。在當(dāng)今市場(chǎng)上,功率為王。即使某一應(yīng)用不是以電池為供電,目前的設(shè)計(jì)人仍不得不考慮功耗。對(duì)于插入柵板的應(yīng)用,出于多種原因,仍必須是“綠色的。某些頂級(jí)產(chǎn)品必須針對(duì)市場(chǎng)目的,或是因?yàn)檎詈蜆?biāo)準(zhǔn)。例如,最新的消費(fèi)電子器件目前均是兼容能源之星(EnergyStar)的。
如果你目前正在使用8位MCU,你可能會(huì)在下一設(shè)計(jì)中考慮32位MCU。即使下一代設(shè)計(jì)仍繼續(xù)使用8位MCU,目前也有很多步驟方法可幫助你做好最終的移植備。今天做一些研究,并進(jìn)行正確決策,就能為明天的設(shè)計(jì)提供保證。
當(dāng)你開始考慮轉(zhuǎn)移至32位MCU時(shí),或許會(huì)認(rèn)為將遇到一些問(wèn)題。例如,你認(rèn)為自己需要學(xué)習(xí)新的架構(gòu);你可能需要重寫自己的所有代碼,以便與新的內(nèi)核協(xié)調(diào)工作;或許你感覺(jué)32位MCU過(guò)于艱難和復(fù)雜,它們不是為了便于使用而設(shè)計(jì)的,而是為了性能設(shè)計(jì)的,這意味著,你將不得不考慮它們所擁有的數(shù)以千計(jì)的寄存器;或許你關(guān)心可能將不得不學(xué)習(xí)一整套新的軟件工具,你將需要熟悉全新的硬件工具;或許你還認(rèn)為,32位MCU并不針對(duì)你的應(yīng)用,你無(wú)法為自己的設(shè)計(jì)找出正確的成套外圍器件。你可能會(huì)關(guān)心上述一種或多種問(wèn)題,但它們?nèi)际潜匾目紤]事項(xiàng)嗎?讓我們分別分析它們。
大多數(shù)設(shè)計(jì)者認(rèn)為,當(dāng)他們從8位MCU轉(zhuǎn)移到32位MCU時(shí),將不得不學(xué)習(xí)新的體系架構(gòu)。問(wèn)題是大多數(shù)公司有自己的老式8位MCU產(chǎn)品系列和新的32位MCU產(chǎn)品系列。每年,他們可能仍會(huì)為8位產(chǎn)品系列推出少量新的產(chǎn)品,他們希望把握機(jī)會(huì),從失誤中學(xué)習(xí),并在32位系列中更正錯(cuò)誤。你或許無(wú)法在器件上發(fā)現(xiàn)相同的外圍部件。不同系列的代碼不兼容,或不具有管腳兼容性,因而你將不得不重新完成整個(gè)電路板。
盡管真實(shí)的情形是這樣的,你無(wú)法在不改變?cè)O(shè)計(jì)核心的情況下實(shí)現(xiàn)移植,但你也希望無(wú)需再次學(xué)習(xí)所有的內(nèi)容。一些公司開始發(fā)布新的產(chǎn)品,在8位版本和32位版本之間具有完全相同的成套外圍組件。組件中唯一改變的是其內(nèi)核。其他部分,包括管腳布局位置,均保持不變。如果你目前使用的是8位MCU,明天就能移植到該公司的32位MCU上,同時(shí)仍能使用相同的印刷電路板。這方面的一個(gè)例子是Cypress半導(dǎo)體公司最近發(fā)布的PSoC3和PSoC5架構(gòu)。這兩種架構(gòu)具有相同的外圍組件、封裝和管腳。PSoC3架構(gòu),采用了新的單周期/指令8051,運(yùn)行頻率高達(dá)67MHz,能夠方便地與PSoC5版本兼容。PSoC5版本采用了ARMCortex-M3處理器,運(yùn)行頻率高達(dá)80MHz。這類產(chǎn)品使得從一種架構(gòu)到另一架構(gòu)的移植變得簡(jiǎn)單易行。
圖1:點(diǎn)擊按鈕,就能從8位變?yōu)?2位
人們還認(rèn)為,你將不得不為新的32位產(chǎn)品重寫所有的代碼。情形并非總是如此。對(duì)于在8位和32位內(nèi)核之間具有匹配外圍組件的很多這類新產(chǎn)品,它們的固件也是兼容的。這些芯片采用高級(jí)語(yǔ)言(如C語(yǔ)言),能夠編寫一套代碼,可以選擇針對(duì)8位產(chǎn)品進(jìn)行編譯,或選擇32位產(chǎn)品并重新編譯。你可以采取略微復(fù)雜的方法,使用高級(jí)語(yǔ)言編寫代碼,仍調(diào)用針對(duì)特定內(nèi)核的寄存器,如果你遵守高級(jí)編程的精神,移植仍相當(dāng)容易。
你可能考慮工具會(huì)怎樣呢?與你正在使用的特定內(nèi)核相比,你可能更關(guān)注集成開發(fā)環(huán)境(IDE)。一旦你掌握了它,你不會(huì)愿意學(xué)習(xí)新的。但是,如果你擁有一種可在兩種架構(gòu)上工作的IDE,情況會(huì)怎樣呢?Cypress公司新的PSoCCreator?軟件就是這方面的一個(gè)例子。它是一種能與8位器件和32位器件一起工作的集成開發(fā)環(huán)境(IDE)。保證設(shè)計(jì)未來(lái)前景的一種良好方式是,在今天就選擇相應(yīng)的產(chǎn)品(即使你仍與8位內(nèi)核打交道),通過(guò)該產(chǎn)品,能夠?yàn)?位設(shè)計(jì)和32位設(shè)計(jì)使用相同的工具。
與軟件工具類似,硬件工具也出現(xiàn)在跨平臺(tái)應(yīng)用方面。一些公司已開發(fā)出了帶有硬件開發(fā)工具箱的模塊系統(tǒng)。這樣,你就能夠拔出8位模塊,并用32位模塊取而代之。板上的所有其他部分保持不變。它們通常采用相同的編程和調(diào)試工具。你真正能夠做到,學(xué)習(xí)一次,普遍適用。
真正應(yīng)考慮的是,很多公司為銷售8位產(chǎn)品的不同市場(chǎng)開發(fā)了32位產(chǎn)品。這意味著你無(wú)法找到支持設(shè)計(jì)的正確的32位產(chǎn)品。因而,你不僅要為32位產(chǎn)品支付更多的成本,還需花費(fèi)更多的成本購(gòu)買外部分離器件。但是,如果你能設(shè)計(jì)自己的芯片會(huì)怎樣呢?類似于FPGA或CPLD,但以更簡(jiǎn)單的方式使用圖形環(huán)境會(huì)怎樣呢?如果你能在工具中實(shí)現(xiàn)自己的設(shè)計(jì)方案,創(chuàng)建它并將程序納入器件中,是否會(huì)很好呢?太好以至于似乎不真實(shí),是嗎?當(dāng)然不。使用PSoC3和PSoC5,這是可能的。你現(xiàn)在可以圍繞32為內(nèi)核設(shè)計(jì)外圍器件,確保它們是適合于設(shè)計(jì)的正確器件。使用這些新工具,能夠按照你所希望的方式進(jìn)行設(shè)計(jì)。
圖2:PSoCCreator軟件內(nèi)的設(shè)計(jì)示意
與以往相比,對(duì)于設(shè)計(jì)人員來(lái)說(shuō)目前更重要的是靈活性。市場(chǎng)比以前變化得更快,競(jìng)爭(zhēng)每天都在加劇,每個(gè)人都致力于更低的成本。今天選擇正確的8位器件系列能夠保障你的明天。使用這些新的工具,能夠?qū)?位MCU進(jìn)行設(shè)計(jì),或許它是貴公司產(chǎn)品組合的基本版本,隨后,你可以承擔(dān)你的任務(wù),使用相同的項(xiàng)目文件,并將其移植到32位內(nèi)核上。現(xiàn)在你能夠增加更多性能。很快,它將成為貴公司的高端特色產(chǎn)品,從而獲得更高的利潤(rùn)。
32位MCU是嵌入式設(shè)計(jì)的下一代方向。何時(shí)采取行動(dòng)取決于你?;蛟S是現(xiàn)在,或許是數(shù)年內(nèi),但在某一點(diǎn)上,你的8位MCU將耗盡其能力,無(wú)法滿足當(dāng)前市場(chǎng)始終變化的需求。大多數(shù)設(shè)計(jì)人員對(duì)該步驟感到恐懼。但它并不一定是痛苦的。我們考察了一些目前可以采取、使該轉(zhuǎn)變盡可能平穩(wěn)的行動(dòng)。如果你目前仍在進(jìn)行8位內(nèi)核設(shè)計(jì),請(qǐng)確保你所使用的產(chǎn)品系列具有32位的對(duì)應(yīng)產(chǎn)品。對(duì)于工具來(lái)說(shuō)情況同樣。目前很多公司均提供能在不同架構(gòu)上使用的相同軟件和硬件工具。今天選擇正確的器件(8位或32位)將能夠幫助你以及你的設(shè)計(jì)在明天獲得更大的成功。