一個古老的嵌入式設(shè)計問題,就是在你的新設(shè)計中使用 8位還是32位內(nèi)核?如果你問自己的同事,可能會發(fā)現(xiàn)他們的觀點截然不同。無論是否喜歡,32為內(nèi)核存在于今。那么這意味著什么呢?它意味著,在某一天,無論你多么努力嘗試避免,都不得不從你喜愛的8位內(nèi)核轉(zhuǎn)向新的、復(fù)雜的32位內(nèi)核。這類移植是痛苦的嗎?使用正確的技巧和方法,情況并非如此。
目前的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)。例如,最新的消費電子器件目前均是兼容能源之星(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)品,他們希望把握機會,從失誤中學(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,運行頻率高達(dá)67 MHz,能夠方便地與PSoC 5版本兼容。PSoC 5版本采用了ARM? Cortex?-M3處理器,運行頻率高達(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è)計使用相同的工具。
與軟件工具類似,硬件工具也出現(xiàn)在跨平臺應(yīng)用方面。一些公司已開發(fā)出了帶有硬件開發(fā)工具箱的模塊系統(tǒng)。這樣,你就能夠拔出8位模塊,并用32位模塊取而代之。板上的所有其他部分保持不變。它們通常采用相同的編程和調(diào)試工具。你真正能夠做到,學(xué)習(xí)一次,普遍適用。
真正應(yīng)考慮的是,很多公司為銷售8位產(chǎn)品的不同市場開發(fā)了32位產(chǎn)品。這意味著你無法找到支持設(shè)計的正確的32位產(chǎn)品。因而,你不僅要為32位產(chǎn)品支付更多的成本,還需花費更多的成本購買外部分離器件。但是,如果你能設(shè)計自己的芯片會怎樣呢?類似于 FPGA或CPLD,但以更簡單的方式使用圖形環(huán)境會怎樣呢?如果你能在工具中實現(xiàn)自己的設(shè)計方案,創(chuàng)建它并將程序納入器件中,是否會很好呢?太好以至于似乎不真實,是嗎?當(dāng)然不。使用PSoC 3和PSoC 5,這是可能的。你現(xiàn)在可以圍繞32為內(nèi)核設(shè)計外圍器件,確保它們是適合于設(shè)計的正確器件。使用這些新工具,能夠按照你所希望的方式進(jìn)行設(shè)計。
圖2: PSoC Creator軟件內(nèi)的設(shè)計示意
與以往相比,對于設(shè)計人員來說目前更重要的是靈活性。市場比以前變化得更快,競爭每天都在加劇,每個人都致力于更低的成本。今天選擇正確的8位器件系列能夠保障你的明天。使用這些新的工具,能夠?qū)?位MCU進(jìn)行設(shè)計,或許它是貴公司產(chǎn)品組合的基本版本,隨后,你可以承擔(dān)你的任務(wù),使用相同的項目文件,并將其移植到32位內(nèi)核上?,F(xiàn)在你能夠增加更多性能。很快,它將成為貴公司的高端特色產(chǎn)品,從而獲得更高的利潤。
32位MCU是嵌入式設(shè)計的下一代方向。何時采取行動取決于你?;蛟S是現(xiàn)在,或許是數(shù)年內(nèi),但在某一點上,你的8位MCU將耗盡其能力,無法滿足當(dāng)前市場始終變化的需求。大多數(shù)設(shè)計人員對該步驟感到恐懼。但它并不一定是痛苦的。我們考察了一些目前可以采取、使該轉(zhuǎn)變盡可能平穩(wěn)的行動。如果你目前仍在進(jìn)行8位內(nèi)核設(shè)計,請確保你所使用的產(chǎn)品系列具有32位的對應(yīng)產(chǎn)品。對于工具來說情況同樣。目前很多公司均提供能在不同架構(gòu)上使用的相同軟件和硬件工具。今天選擇正確的器件(8位或32位)將能夠幫助你以及你的設(shè)計在明天獲得更大的成功。