8位MCU升級(jí)至32位MCU的最佳設(shè)計(jì)
一個(gè)古老的嵌入式設(shè)計(jì)問(wèn)題,就是在你的新設(shè)計(jì)中使用 8位還是32位內(nèi)核?如果你問(wèn)自己的同事,可能會(huì)發(fā)現(xiàn)他們的觀點(diǎn)截然不同。無(wú)論是否喜歡,32為內(nèi)核存在于今。那么這意味著什么呢?它意味著,在某一天,無(wú)論你多么努力嘗試避免,都不得不從你喜愛(ài)的8位內(nèi)核轉(zhuǎn)向新的、復(fù)雜的32位內(nèi)核。這類移植是痛苦的嗎?使用正確的技巧和方法,情況并非如此。
本文引用地址:http://2s4d.com/article/170762.htm目前的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和40 MIPS之間。而新的32位MCU通常具有80~ 100 MIPS的處理能力!這是處理能力和速度方面的重大改進(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)電子器件目前均是兼容能源之星(Energy Star)的。
如果你目前正在使用8位MCU,你可能會(huì)在下一設(shè)計(jì)中考慮32位MCU。即使下一代設(shè)計(jì)仍繼續(xù)使用8位MCU,目前也有很多步驟方法可幫助你做好最終的移植備。今天做一些研究,并進(jìn)行正確決策,就能為明天的設(shè)計(jì)提供保證。
當(dāng)你開(kāi)始考慮轉(zhuǎn)移至32位MCU時(shí),或許會(huì)認(rèn)為將遇到一些問(wèn)題。例如,你認(rèn)為自己需要學(xué)習(xí)新的架構(gòu);你可能需要重寫(xiě)自己的所有代碼,以便與新的內(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)容。一些公司開(kāi)始發(fā)布新的產(chǎn)品,在8位版本和32位版本之間具有完全相同的成套外圍組件。組件中唯一改變的是其內(nèi)核。其他部分,包括管腳布局位置,均保持不變。如果你目前使用的是8位MCU,明天就能移植到該公司的32位MCU上,同時(shí)仍能使用相同的印刷電路板。這方面的一個(gè)例子是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)的移植變得簡(jiǎn)單易行。
圖1:點(diǎn)擊按鈕,就能從8位變?yōu)?2位
人們還認(rèn)為,你將不得不為新的32位產(chǎn)品重寫(xiě)所有的代碼。情形并非總是如此。對(duì)于在8位和32位內(nèi)核之間具有匹配外圍組件的很多這類新產(chǎn)品,它們的固件也是兼容的。這些芯片采用高級(jí)語(yǔ)言(如C語(yǔ)言),能夠編寫(xiě)一套代碼,可以選擇針對(duì)8位產(chǎn)品進(jìn)行編譯,或選擇32位產(chǎn)品并重新編譯。你可以采取略微復(fù)雜的方法,使用高級(jí)語(yǔ)言編寫(xiě)代碼,仍調(diào)用針對(duì)特定內(nèi)核的寄存器,如果你遵守高級(jí)編程的精神,移植仍相當(dāng)容易。
你可能考慮工具會(huì)怎樣呢?與你正在使用的特定內(nèi)核相比,你可能更關(guān)注集成開(kāi)發(fā)環(huán)境(IDE)。一旦你掌握了它,你不會(huì)愿意學(xué)習(xí)新的。但是,如果你擁有一種可在兩種架構(gòu)上工作的IDE,情況會(huì)怎樣呢?Cypress公司新的PSoC Creator?軟件就是這方面的一個(gè)例子。它是一種能與8位器件和32位器件一起工作的集成開(kāi)發(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ì)使用相同的工具。
評(píng)論