隨著最近一連串的低功率微控制器(MCU)新產(chǎn)品發(fā)布,MCU供應(yīng)商開始追逐以電池供電的行動裝置等成長中的市場,特別是與物聯(lián)網(wǎng)(IoT)有關(guān)的領(lǐng)域。利用嵌入式微處理器基準(zhǔn)聯(lián)盟(EEMBC)去年發(fā)布的ULPBench功率基準(zhǔn),MCU供應(yīng)商正投入一場較勁低功耗指標(biāo)的競賽,不斷刷新測試結(jié)果的新產(chǎn)品,使得超低功耗處理技術(shù)的業(yè)界主導(dǎo)地位也不斷地交替著。 盡管這看來就像是一場行銷競賽,但在供應(yīng)商為了降低功耗而提升自家技術(shù)時,開發(fā)人員終將成為最后的贏家。
過去,低功耗MCU往往意味著低性能,但隨著供應(yīng)商不斷為低功耗應(yīng)用提供越來越強(qiáng)大的MCU,開始對這種關(guān)聯(lián)性提出挑戰(zhàn)。然而,開發(fā)人員卻面臨著如何衡量MCU產(chǎn)品的問題。例如面對裝置提供多種功率狀態(tài)時,包括mW/MHz的作業(yè)電流與睡眠模式的漏電流等傳統(tǒng)規(guī)格,已經(jīng)變得越來越難評估。同時,在工業(yè)領(lǐng)域中,對于低功耗作業(yè)特性的描述和規(guī)則也經(jīng)常不一致。
此外,許多應(yīng)用需要能快速回應(yīng)事件的長休眠期MCU。在這一類應(yīng)用中,包括喚醒時間和回到睡眠狀態(tài)前執(zhí)行響應(yīng)所需的時間等參數(shù),將嚴(yán)重影響到MCU實際應(yīng)用的總功耗。在評估低功耗元件所宣稱的準(zhǔn)確度時,這些因素將產(chǎn)生重要影響。
ULPBench標(biāo)準(zhǔn)首先在2014年3月的EEMBC聯(lián)盟發(fā)布,目標(biāo)在于為開發(fā)人員提供能‘可靠與合理測量MCU能效’的方法。去年十月,ULPBench以及公開發(fā)布的標(biāo)準(zhǔn)硬體測量平臺EnergyMonitor,共同成為MCU供應(yīng)商如今不斷宣傳的新測試標(biāo)準(zhǔn)。
EEMBC主席MarcusLevy表示,“ULPBench是最嚴(yán)格的標(biāo)準(zhǔn)之一。這項標(biāo)準(zhǔn)可在1秒鐘內(nèi)對MCU執(zhí)行2萬次時脈周期作業(yè),并在接下來的幾秒內(nèi)進(jìn)入休眠。透過這種方法讓每個處理器執(zhí)行的工作量一樣,從而使執(zhí)行標(biāo)準(zhǔn)的環(huán)境相同。
最終的分?jǐn)?shù)是每10個標(biāo)準(zhǔn)周期中,用1,000除以中間值,得出平均功耗,因此,數(shù)值越大就代表功耗越低。
利用EEMBC聯(lián)盟的ULPBench工具,測量MCU核心處理器在一連串‘睡眠-處理-睡眠周期’期間所使用的功耗。
業(yè)界MCU供應(yīng)商最近利用這項基準(zhǔn)發(fā)布了一系列的測試結(jié)果,宣稱超越其他公司并占據(jù)暫時的領(lǐng)先地位。一開始是意法半導(dǎo)體(ST)在2月中發(fā)布其STM32L4MCU系列。這款基于ARMCortex-M4處理器的產(chǎn)品在ULPBench基準(zhǔn)測試中得到了123.5分。一周后,德州儀器(TI)發(fā)布其基于Cortex-M3的SimpleLinkC26xx無線MCU系列得到143.6分。
TI不久后又發(fā)布基于CortexM4F的MSP-432系列,它在ULPBench取得了167.4分,超越自家前不久保持的記錄。然而,TI才剛向媒體簡報這款產(chǎn)品時,愛特梅爾(Atmel)旋即悄悄地發(fā)布了一款經(jīng)ULPBench測試得到185.5分的產(chǎn)品——基于CortexM0+的SAM-L21MCU。
然而,當(dāng)AmbiqMicro發(fā)布其ApolloMCU測試評分后,上述所有的產(chǎn)品均黯然失色。這款基于Cortex-M4F核心的元件采用次閾值邏輯技術(shù),而且利用邏輯水平比傳統(tǒng)CMOS水平更小的電壓浮動。Ambiq行銷副總裁MikeSalas表示,相較于傳統(tǒng)邏輯,電壓浮動減少不僅可實現(xiàn)更快的開關(guān)轉(zhuǎn)換,而且動態(tài)功耗比更低10倍。
低功耗比分超越競賽看來還將持續(xù)一段時間,AtmelMCU業(yè)務(wù)部產(chǎn)品行銷總監(jiān)AndreasEieland表示:“低功耗是每家廠商傾注許多研發(fā)資源的領(lǐng)域,而且還用比以往更快速的步伐向前進(jìn)展。也許我們現(xiàn)在的功耗是最低的,但你永遠(yuǎn)不知道競爭對手努力的目標(biāo)。所以,我們也在尋求下一步進(jìn)展。”
Levy表示,雖然暫停不斷提高的低功耗標(biāo)準(zhǔn)競賽十分吸引人,但對于開發(fā)人員來說,他們卻可以從這些活動中得到實際的價值。透過像這樣的測試基準(zhǔn)工具以及一點市場競爭,才能讓廠商瞭解如何改善自家產(chǎn)品。在基準(zhǔn)范圍內(nèi),他們將會思考如何得到更好的分?jǐn)?shù),以及學(xué)習(xí)如何最佳化編程,更快速地實現(xiàn)低功耗模式。
這樣的經(jīng)驗同樣適用于硬體設(shè)計領(lǐng)域,專門提供一連串的節(jié)能技術(shù)以及可讓供應(yīng)商傳授給客戶的軟體訣竅。“同樣的事情也發(fā)生在CoreMark,”Levy強(qiáng)調(diào)“供應(yīng)商明白編譯器的選擇可改善性能,這些事自始至終都應(yīng)該如此,而今卻得透過競爭來刺激工具的導(dǎo)入。”
ST產(chǎn)品行銷經(jīng)理StuartMcLaren表示:“我們學(xué)到的其中一件事是為我們的低功耗產(chǎn)品提供大量的彈性度。ULP基準(zhǔn)只是低功耗的應(yīng)用之一。其他的應(yīng)用各不相同,而我們需要大量的可用模式供開發(fā)人員選擇適合應(yīng)用的元件。”
“我們還將為周邊設(shè)備提供更智慧的多種選擇,”ST應(yīng)用工程師AlecBath說:“例如我們的I2C介面可執(zhí)行位址匹配功能,當(dāng)裝置接收到訊息時才啟動CPU。否則,它將忽略流量而讓CPU進(jìn)入休眠模式。我們還為ADC提供時脈源以及不需要CPU時脈的周邊設(shè)備,使其可在CPU執(zhí)行速度減緩或休眠時執(zhí)行作業(yè)。此外,還有DMA可讓周邊設(shè)備直接傳送資料至RAM,只在傳輸完成時才喚醒CPU。”
Eieland表示,低功耗最初的發(fā)展工作主要著重于改善CPU架構(gòu)。“但是,僅僅最佳化CPU是不夠的。”Eieland補(bǔ)充說,“因此,我們開始檢查每個周邊設(shè)備,并為其實現(xiàn)最佳化,觀察產(chǎn)品的每顆電晶體。我們開始開發(fā)可讓周邊設(shè)備獨立運轉(zhuǎn)所需的時脈特點與邏輯,利用最小的電路板完成所需的任務(wù),甚至建立多種電源域,以便能關(guān)閉未使用的電路,同時排除其漏電流。”
對于低功耗的追求,也為軟體開啟了更多機(jī)會。開發(fā)人員可以利用軟體連結(jié)各種事件,在無需CPU介入的情況下啟動另一個周邊設(shè)備。Eieland說:“此外,透過平行中斷分層,則可分別為CPU和周邊設(shè)備建立一個IRQ執(zhí)行緒。”
Eieland補(bǔ)充說,低功耗作業(yè)可能不會影響開發(fā)人員如何編寫其主回圈,但是,他們應(yīng)該尋求利用休眠模式和智慧周邊設(shè)備成為其優(yōu)勢的機(jī)會。Salas則表示“當(dāng)今的程式設(shè)計人員對能耗不夠重視,但是,軟體對電源設(shè)計至關(guān)重要,所以我們將花費大量的時間來尋找合適的軟體。例如,我們拆解了一個藍(lán)牙堆疊來研究功耗元件所在,并發(fā)現(xiàn)重新正確組合元件可以實現(xiàn)節(jié)能。”
無疑地,基準(zhǔn)得分記錄將繼續(xù)被刷新。但所有人都認(rèn)為,這些分?jǐn)?shù)只是開發(fā)人員為其設(shè)計追求低功耗元件的起點。“ULP基準(zhǔn)并非100%公平,但也沒有哪一種標(biāo)準(zhǔn)可以達(dá)到這個理想。不過,它在低功耗方面的許多市場行銷,可讓開發(fā)人員用來比較以及選擇適用元件。
EnergyMonitor能量監(jiān)測器是EEMBC聯(lián)盟ULPBench工具的一部份,但也可獨立使用,為MCU提供精確的電源指標(biāo)。
“利用ULP基準(zhǔn)得出的單一數(shù)據(jù),可作為進(jìn)行評估的最佳始點。”ST的Stuart說:“但是你必須判斷自己的應(yīng)用,以睡眠模式所使用的時間、高速和低速時脈下的速度來看,每一項低功耗應(yīng)用都不一樣,你必須清楚自己的應(yīng)用配置。”
Levy補(bǔ)充說,僅單純地著重于‘贏得最高分’將會迷失目標(biāo)。“終究都得做出權(quán)衡選擇,因此,我們鼓勵業(yè)者不管產(chǎn)品等級如何,都盡可能地把得分公布出來,這將有助于開發(fā)人員決定哪一種結(jié)果更適用于其設(shè)計方案。”
除了參考基準(zhǔn)得分以外,供應(yīng)商也會幫助開發(fā)人員選擇。例如ST為開發(fā)人員提供STM32CubeMX功率模擬器來估算STMCU用于執(zhí)行程式碼時的功耗。TI則提供其EnergyTrace+能量追蹤技術(shù),用于評估其MCU功耗狀況。此外,EEMBC聯(lián)盟的EnergyMonitor能量監(jiān)控器則可像執(zhí)行ULPBench基準(zhǔn)一樣,讓開發(fā)人員用于掌握其程式碼的電量使用。
同時,Levy說,功率基準(zhǔn)也將不斷的進(jìn)展,“目前該基準(zhǔn)集中在CPU和RTC領(lǐng)域,而我們進(jìn)行的改善作業(yè)將圍繞在更多的周邊活動上,例如ADC和PWM領(lǐng)域。”