8位MCU向32位轉換之策 性能卓越有藍海
e絡(luò )盟社區致力于服務(wù)設計工程師已有8年時(shí)間。在這段時(shí)間內,技術(shù)不斷發(fā)展,32位架構上市,使得工程師能夠前所未有地推進(jìn)其設計,我們也得以親眼見(jiàn)證了微控制器市場(chǎng)的發(fā)展變化。
本文引用地址:http://dyxdggzs.com/article/256770.htm在全世界每天使用的數十億件嵌入式設備中,許多仍然采用傳統的8位和16位微控制器。很多嵌入工程師是跟著(zhù)這些較老的架構一起成長(cháng)起來(lái)的,這些架構成本低、功耗低而且十分簡(jiǎn)單,即使32位設備發(fā)展迅猛也沒(méi)有妨礙它們的受歡迎程度。但是,32位設備聲望漸隆,我們有必要對這個(gè)新架構的差異、優(yōu)勢和機遇進(jìn)行詳細說(shuō)明。
現在,每個(gè)新項目都需要先回答下列問(wèn)題:繼續采用8位架構會(huì )錯過(guò)什么?32位架構能夠提供什么?32位設備目前占據著(zhù)嵌入式MCU銷(xiāo)售的領(lǐng)先地位,我們是否應該立即采取行動(dòng)以避免落后?
幸運的是,我們的行業(yè)創(chuàng )新永無(wú)止境。有了Freescale?(飛思卡爾)、Atmel?、NXP?及其它設備所采用的ARM?Cortex?-M0+等內核,32位處理器就能夠媲美傳統8/16位MCU的實(shí)力,同時(shí)還能夠提供眾多的優(yōu)勢,讓升級變得極具吸引力。Cortex-M0+內核為轉換而生,它的32位功能可將項目提升到一個(gè)全新的高度。
為什么要向32位轉換?
如果你問(wèn)學(xué)工程的新生為什么要從8位向32位轉換,那么你可能會(huì )得到這么一個(gè)明確的答案:32位是8位的4倍,位越高當然越好!實(shí)際上事情并非那么簡(jiǎn)單,不過(guò)32位MCU十分重要自有其很多令人信服的理由,即使對于“傳統的”8位和16位項目來(lái)說(shuō)也是如此。
提高性能:向32位內核轉換之后,相對于目前使用的8位和16位架構來(lái)說(shuō),每MHz性能可以提高2-40倍。你可以獲得更快的32位數學(xué)運算處理速度,以及單周期32位乘法運算。而且,你還可以獲得單周期IO,用于位拆裂和軟件協(xié)議仿真。
所有這些功能開(kāi)啟了全新的可能性,涉及軟件堆棧(USB、藍牙等)、RTOS、高級UI等等,而且還剩余充足的處理能力用于應用軟件的自定義功能。
提高能源效率:Cortex-M0+內核效率極高,其Coremark/mA較8位或16位競爭性產(chǎn)品高達2倍。嵌入式系統結合這種強大的Cortex-M0+內核,可以更快地完成任務(wù)并返回睡眠模式,從而節省能源。
即使睡眠模式也能夠很好地節省功耗:在飛思卡爾Kinetis?L系列產(chǎn)品上進(jìn)入9種模式中的最深度睡眠模式時(shí),其功耗低至《1uA。而且,由于Kinetis系列產(chǎn)品上的外圍模塊采用智能設計,因此你可以在不喚醒內核的情況下做更多的事情,從而進(jìn)一步節省功耗。

提高代碼密度:似乎違反直覺(jué)的是,使用32位處理器將導致代碼長(cháng)度減小。不過(guò),Cortex-M0+內核使用Thumb-2指令,其中許多指令僅占用16位閃存。而且請記住,8位處理器上的許多指令實(shí)際長(cháng)于8位。此外,視具體應用而定,8位指令的多個(gè)字節可以用32位MCU的一個(gè)指令取代,就像下面的16位乘法運算一樣。

結果顯示,向使用Thumb-2指令的32位架構轉換,可以極大地提高代碼密度。

可擴展:當項目和性能需要提升時(shí),捆綁于某個(gè)制造商提供的某個(gè)8位架構的裝置不再是妨礙。32位設備注重C碼而非裝置,因此減少了開(kāi)發(fā)和調試的時(shí)間,并且可以更加簡(jiǎn)便地將代碼移植至新的設備。隨著(zhù)32位ARMMCU在全世界廣泛普及,軟件生態(tài)系統將變得十分龐大,并且還將不斷擴展。
但是……
你覺(jué)得這一切聽(tīng)起來(lái)真不錯,但我仍然需要8/16位MCU為我的應用提供較小的尺寸、較低的成本和易于使用的特點(diǎn)。幸運的是,32位MCU也能夠做到這些:
尺寸:正如飛思卡爾KinetisKL03系列產(chǎn)品上所見(jiàn),32位MCU的尺寸小至1.6x2.0毫米,是世界上最小的ARMMCU,所以非常小的尺寸也能夠提供卓越的32位性能。

成本:設備起步價(jià)低至0.49美分,所以32位MCU甚至可以用于此前望成本興嘆的各種應用。而且因為代碼密度提高,所以需要的閃存也比較少。
復雜性:令人稱(chēng)奇的是,32位架構在某些方面實(shí)際上更為簡(jiǎn)單。有了32位地址空間,便無(wú)需對內存地址進(jìn)行分頁(yè),所以可以直接訪(fǎng)問(wèn)。Cortex-M0+內核架構擁有一個(gè)全功能干擾控制器,可簡(jiǎn)化干擾處理。此外,32位架構還附帶一個(gè)追蹤緩存,可以方便調試,并給希望繼續使用裝置的用戶(hù)僅提供56條指令,這樣一來(lái),向32位“跨躍”的一大步從復雜性的角度來(lái)說(shuō)更像是一小步。
利用32位開(kāi)展開(kāi)發(fā)工作:
使用32位ARM內核的主要優(yōu)勢之一,在于海量的可用軟件和硬件,其中包括大量兼容的編譯器和調試器。當項目在Cortex-M0+和更為強大的Cortex-M4等內核之間進(jìn)行調整時(shí),我們可以十分簡(jiǎn)便地重復使用各種硬件和軟件。此外,因為飛思卡爾KinetisMCU引腳和模塊具備兼容性,并且該系列的設備數以百計,所以沿著(zhù)性能/閃存曲線(xiàn)上下移動(dòng)非常簡(jiǎn)便。
飛思卡爾進(jìn)一步促進(jìn)了32位的開(kāi)發(fā)工作,推出了ProcessorExpert?軟件建模工具和MQX?-Lite實(shí)時(shí)操作系統(RTOS),有助于迅速啟動(dòng)和推進(jìn)全新的32位項目。ProcessorExpert軟件建模工具是一種GUI補充工具,用于代碼生成,可創(chuàng )建客戶(hù)化的驅動(dòng)程序,從而極大地縮短開(kāi)發(fā)時(shí)間。
MQX-LiteRTOS是MQXRTOS的簡(jiǎn)化版,專(zhuān)門(mén)針對內存低于4KB的微控制器設計。RTOS驅動(dòng)程序來(lái)自于ProcessorExpert軟件建模工具,MQX-LiteRTOS是MQXRTOS的子集,因此未來(lái)可輕松升級至更為強大的設備。它很好地補充了ProcessorExpert軟件建模工具,而且對于帶有USB功能的設備,它還提供一個(gè)USB補充堆棧。
下一步
現在你想嘗試一下32位架構,但是應該從哪里著(zhù)手呢?
幸好,有許多主板提供很好的32位評估平臺,你花不到一個(gè)匹薩的錢(qián)就能夠買(mǎi)到。FRDM-KL05Z非常適合你初涉32位領(lǐng)域,它引腳兼容飛思卡爾的8位S08設備。FRDM-KL26Z增加了USB和更多先進(jìn)的外圍模塊,而FRDM-KL46Z還進(jìn)一步支持USB和segmentLCD?;蛘?,如果5VIO和電氣可靠性對于你的應用至關(guān)重要,那么FRDM-KE02就是你要找的主板。
所有這4個(gè)薄荷錫盒大小的主板均為Cortex-M0+內核,并采用了ProcessorExpert軟件建模工具、MQX-LiteRTOS、USB補充堆棧等。此外,這些主板還內置了一個(gè)稱(chēng)為OpenSDA的調試電路,所以一條簡(jiǎn)單的USB電纜便可提供你所需要的全部調試、串行通信和閃存編程功能。
而且,這些主板以及整個(gè)飛思卡爾Freedom開(kāi)發(fā)平臺系列均兼容Arduino?擴展板,并可提供數字與模擬IO引腳。MEMS傳感器評估套件很好地說(shuō)明了其中的各種可能性,它將FRDM-KL25Z飛思卡爾Freedom開(kāi)發(fā)平臺和MEMS傳感器評估擴展板相結合,使KinetisLMCU能夠獲得各種先進(jìn)的傳感器,以便探索周?chē)氖澜纭?/p>
在整個(gè)學(xué)習過(guò)程中,務(wù)必和其他工程師保持密切聯(lián)系,e絡(luò )盟社區可以提供這方面的支持。通常,你所面臨的問(wèn)題,其他工程師已經(jīng)有了解決方案,從這一點(diǎn)上來(lái)講,網(wǎng)絡(luò )社區是一個(gè)不錯的資源。
32位的未來(lái)
科技從未停止進(jìn)步,越來(lái)越多的嵌入式應用將采用32位MCU,這種趨勢只會(huì )加速。從開(kāi)發(fā)套件到原型機和制造的每個(gè)設計流程階段,e絡(luò )盟均為工程師提供支持,確保他們在選擇遷移至32位架構時(shí)胸有成竹。較高的性能、卓越的功率效率以及更好的代碼密度,現在就邁開(kāi)腳步,走向更加美好的32位未來(lái)吧。
可控硅相關(guān)文章:可控硅工作原理
評論