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