一個(gè)產(chǎn)品的選擇、市場(chǎng)定位和成功的一個(gè)重要因素是整個(gè)系統(tǒng)的能耗。然而,以微安 (uA) 或每兆赫茲 (uW/MHz) 微瓦 (uW/MHz) 表示效率的傳統(tǒng)方法已經(jīng)不夠用了。儲(chǔ)能系統(tǒng)既不存儲(chǔ) uA 也不存儲(chǔ) uW,而是存儲(chǔ)焦耳。
因此,比較微控制器(MCU)和片上系統(tǒng)(SoC)設(shè)備的能耗成為用戶關(guān)注的焦點(diǎn)。但是,一個(gè)基準(zhǔn)是否足以為即將推出的產(chǎn)品設(shè)計(jì)選擇 MCU、MCU 系列或 MCU 制造商?公共數(shù)據(jù)表是否足夠?
這個(gè)由四部分組成的系列旨在使用 EEMBC 基準(zhǔn)測(cè)試這些問(wèn)題。
第 1 部分:超低功耗基準(zhǔn):ULPBench-Core Profile
第 2 部分:ULPBench-Core 配置文件、EEMBC 文檔和 MCU 數(shù)據(jù)表
第 3 部分:工作溫度對(duì)能耗的影響
第 4 部分:MCU 數(shù)據(jù)表:操作模式、控制位、寄存器、電流和模式傳輸參數(shù)
過(guò)去 20 年處理器市場(chǎng)的結(jié)論是 ,運(yùn)行模式 [1] 和睡眠模式 [2] 中的低電流以及更短的運(yùn)行周期可以節(jié)省能源。這通常是適用的,但是這對(duì)客戶有什么好處呢?產(chǎn)品真的可以根據(jù)這些一般性結(jié)論進(jìn)行比較嗎?
基準(zhǔn)測(cè)試使用統(tǒng)一的定義和標(biāo)準(zhǔn)以及標(biāo)準(zhǔn)化的執(zhí)行代碼對(duì)不同的 MCU/SoC 和生產(chǎn)線進(jìn)行比較。他們的目標(biāo)是提供透明度和可重復(fù)性,這由預(yù)定的測(cè)試向量、測(cè)試過(guò)程以及測(cè)試軟件和硬件實(shí)現(xiàn)。所有基準(zhǔn)數(shù)據(jù)都應(yīng)公開(kāi)。
一個(gè)好的基準(zhǔn)測(cè)試依賴(lài)于可以在一系列 8 位、16 位和 32 位 MCU 和 SoC 上執(zhí)行的單個(gè)軟件包。為了公平比較,無(wú)論處理器架構(gòu)如何,代碼都必須相同,盡管基準(zhǔn)測(cè)試軟件的選擇會(huì)對(duì)能耗產(chǎn)生深遠(yuǎn)影響(圖 1)。
圖 1. 基準(zhǔn)測(cè)試的電流消耗讀數(shù)可能遠(yuǎn)高于數(shù)據(jù)表參數(shù)。
在本文中,我們假設(shè)基準(zhǔn)測(cè)試結(jié)果、數(shù)據(jù)表和其他文檔能夠正確估計(jì)低功耗系統(tǒng)生命周期內(nèi)的能耗。
澄清條款
在數(shù)字領(lǐng)域,電流消耗可以細(xì)分為兩個(gè)基本類(lèi)別。
動(dòng)態(tài)電流消耗用于執(zhí)行功能。
用于系統(tǒng)處于空閑或睡眠模式時(shí)的 靜態(tài)電流消耗,其中不執(zhí)行任何功能。
目前幾乎所有的低功耗 MCU 都配備了模擬外設(shè)。這些可以是集成振蕩器、電壓監(jiān)控器和上電電路,或比較器、放大器、模數(shù)和數(shù)模轉(zhuǎn)換器 (ADC/DAC) 等。
這些外設(shè)在睡眠和工作模式下都具有相對(duì)較高的靜態(tài)電流需求。就本文而言,術(shù)語(yǔ)“靜態(tài)”(能量或電流)將包括與頻率無(wú)關(guān)的消耗數(shù)據(jù)和電流損耗(例如,來(lái)自泄漏的)。傳統(tǒng)上,術(shù)語(yǔ)“靜態(tài)”消耗適用于數(shù)字域在運(yùn)行期間的能源消耗,不包括其他形式的能源和電流消耗,例如泄漏電流。
EEMBC ULPBench-CoreProfile 基準(zhǔn)測(cè)試 [3]
嵌入式微處理器基準(zhǔn)聯(lián)盟 (EEMBC) 的 ULPBench-CoreProfile (ULPBench-CP) 基準(zhǔn)測(cè)試提供了一個(gè)良好的初步方法和框架,用于可靠地測(cè)量能效,獨(dú)立于處理器數(shù)據(jù)表。ULPBench-CP 旨在驗(yàn)證具有擴(kuò)展能源需求或可用能源有限的產(chǎn)品(例如電池供電的物聯(lián)網(wǎng)設(shè)備)的能源效率。它還針對(duì)能量收集系統(tǒng),這些系統(tǒng)的大部分運(yùn)行壽命都處于空閑睡眠模式。在這里,待機(jī)電流很重要,因?yàn)?MCU/SoC 系統(tǒng)可以定期或異步喚醒。
大多數(shù) MCU 和 SoC 都能夠運(yùn)行 ULPBench 基準(zhǔn)測(cè)試(甚至是下一代處理器)。這允許供應(yīng)商向用戶提供比較數(shù)據(jù),并且原則上允許設(shè)計(jì)人員在相同條件下在多個(gè)處理解決方案上驗(yàn)證他們自己的工作負(fù)載。
作為基礎(chǔ),ULPBench-CP 基準(zhǔn)測(cè)試假定鋰紐扣電池的負(fù)載和四年的平均運(yùn)行時(shí)間。ULPBench-CP 軟件“工作負(fù)載”的執(zhí)行始于處理器的操作模式,隨后是實(shí)時(shí)模式的第二階段。“工作負(fù)載”是可移植的,可在 8 位、16 位和 32 位 MCU/SoC 上運(yùn)行。該軟件處理能源消耗信息,對(duì)其進(jìn)行說(shuō)明,并提供基本的基準(zhǔn)數(shù)據(jù)。
ULPBench 運(yùn)行規(guī)則
ULPBench 的一項(xiàng)要求是跨組件的硬件和軟件可移植性,這是基準(zhǔn)測(cè)試正確執(zhí)行所需的。EEMBC 提供了在 ULPBench-CP 基準(zhǔn)測(cè)試中集成這些組件的示例代碼,而 ADC、運(yùn)算放大器等其他功能可以不供電。但是,I/O 標(biāo)志必須可用。
目標(biāo)處理器板必須由 EEMBC 的 EnergyMonitor 硬件供電才能獲得有效結(jié)果。測(cè)試環(huán)境的溫度必須高于 21 °C (70 °F),并且在基準(zhǔn)運(yùn)行期間電源設(shè)置為 3 V。
測(cè)試周期(例如,由喚醒定時(shí)器生成)為一秒。精度為 50 ppm 的 32 KHz 晶體振蕩器用作ULPBench-CP 的時(shí)序參考。 如果不使用晶體振蕩器,設(shè)計(jì)人員必須說(shuō)明如何校準(zhǔn)使用的任何定時(shí)器。這是 EEMBC 認(rèn)證實(shí)驗(yàn)室能夠重現(xiàn)結(jié)果的要求。
需要注意的是,更改測(cè)試周期可能會(huì)對(duì)結(jié)果產(chǎn)生嚴(yán)重影響,并且不會(huì)根據(jù) ULPBench-CP 的透明度要求而被接受。
最終的 bin 圖像和源代碼必須上傳到 EEMBC Web 界面,以便可以驗(yàn)證基準(zhǔn)測(cè)試結(jié)果。
EnergyMonitor 硬件 – 為什么只有 3 V 電源?
ULPBench-CP 規(guī)定基準(zhǔn)測(cè)試第一階段的電源電壓必須設(shè)置為 3 V。這是由于 MCU 和 SoC 在較低電源電壓下消耗的能量較少,因此選擇了最小的公分母電源電壓用于基準(zhǔn)比較。由于 ULPBench 的一個(gè)重要目標(biāo)是電池供電的應(yīng)用,這有助于整合使用鋰離子電池運(yùn)行的設(shè)備的數(shù)據(jù):
有些起始電壓為 3.3 V,工作電壓低至 2.7 V
一些從 3.0 V 開(kāi)始,在放電階段沿著這個(gè)平臺(tái)運(yùn)行
兩節(jié)堿性電池的標(biāo)稱(chēng)電壓為 3 V
EEMBC 基準(zhǔn)測(cè)試團(tuán)隊(duì)正在研究增加 ULPBench-CP 測(cè)試的另一個(gè)階段以允許不同的電壓,盡管對(duì)于應(yīng)該是什么沒(méi)有共同的看法。已發(fā)布表明 MCU/SoC 產(chǎn)品系列的最低電源電壓差異很大(參見(jiàn) [4])。
基準(zhǔn)開(kāi)發(fā)中考慮的另一個(gè)階段是測(cè)試至少一個(gè)模擬模塊。大量 MCU/SoC 具有無(wú)法在 2.2 V 下運(yùn)行(或受限)的模擬模塊。將電源電壓降低到一定水平以下似乎很有吸引力,但也會(huì)讓用戶感到困惑:“哪個(gè)基準(zhǔn)值適合我? ”
為什么環(huán)境溫度定義為 21 °C?
在這里,有兩個(gè)方面需要考慮。
首先,即使在不運(yùn)行代碼的情況下,今天和不久的將來(lái)的半導(dǎo)體工藝也會(huì)遭受大量能量損失(也稱(chēng)為“漏電流”)。這些電流通常取決于溫度,并且在給定溫度下會(huì)迅速增加。如果在運(yùn)行基準(zhǔn)測(cè)試時(shí)溫度過(guò)高(即使偏離 21 °C (70 °F) 目標(biāo)幾度,也可能對(duì)基準(zhǔn)測(cè)試結(jié)果產(chǎn)生重大影響。這使得準(zhǔn)確比較和重現(xiàn)性變得更加困難。
圖 2 說(shuō)明了基準(zhǔn)執(zhí)行期間溫度穩(wěn)定性的挑戰(zhàn)。電流/能耗從 0 °C 到 50 °C 穩(wěn)步上升,但在80 °C 到 85 ° C之間增加了相同的量 。換句話說(shuō),一十分之一的溫度變化具有同樣的能量效應(yīng)。
圖 2.雖然睡眠模式下的能耗在 20 °C時(shí)相對(duì)較小,但在 85 °C 時(shí)要高得多(高出 14 倍)
在高溫下進(jìn)行精確基準(zhǔn)測(cè)量的另一個(gè)挑戰(zhàn)是讓所有經(jīng)過(guò)測(cè)試的 MCU 和 SoC 達(dá)到相同的穩(wěn)定預(yù)定溫度。MCU/SoC 是否運(yùn)行在標(biāo)準(zhǔn)化的 PCB 上,并且在恒溫箱中具有相同的部件,這很難驗(yàn)證。
應(yīng)用程序的溫度應(yīng)產(chǎn)生溫度曲線/循環(huán)信息,并且能耗將相應(yīng)變化。稍后會(huì)更多……
EnergyMonitor 硬件——為什么不是傳統(tǒng)的測(cè)量設(shè)備?
EEMBC 的 EnergyMonitor 測(cè)試板具有寬電流測(cè)量范圍和低動(dòng)態(tài)內(nèi)部阻抗。使用感測(cè)電阻器的傳統(tǒng)電流測(cè)量系統(tǒng)幾乎無(wú)法獲得可用的結(jié)果。
能量監(jiān)視器通過(guò)電容器向負(fù)載提供能量并測(cè)量充電周期。這導(dǎo)致了一個(gè)近乎理想的能源,以及一個(gè)可以容忍電流峰值的測(cè)量系統(tǒng)。該器件還可以測(cè)量短代碼執(zhí)行情況下的能耗,例如中斷事件處理 (圖 3、4)。
圖 3.該圖在 Y 軸上顯示了以微焦耳 (μJ) 為單位的累積測(cè)量能量。X 軸以秒為單位顯示時(shí)間。基準(zhǔn)的描述顯示每秒兩個(gè)基準(zhǔn)代碼周期。
圖 4.該圖還顯示了隨時(shí)間變化的能量。僅顯示了一個(gè)能量包。
另一個(gè)優(yōu)勢(shì)是大量使用客戶定義的能量模式,支持現(xiàn)代處理器中的電源門(mén)控。EnergyMonitor 充分涵蓋了內(nèi)部設(shè)備容量充電和放電過(guò)程,這使得該工具可以在節(jié)能產(chǎn)品開(kāi)發(fā)的早期使用。
然而,更重要的是,EnergyMonitor 的成本比傳統(tǒng)設(shè)備低得多(參見(jiàn) [3])。EnergyMonitor 還旨在支持未來(lái)的 ULPBench 階段,周期不到一秒。
結(jié)論
當(dāng)前的 ULPBench-CP 基準(zhǔn)測(cè)試為估算功耗提供了基準(zhǔn),使“小電流下的短運(yùn)行時(shí)間”等聲明和 μA/MHz 等數(shù)據(jù)表參數(shù)成為過(guò)去不可靠的指標(biāo)。用戶現(xiàn)在可以請(qǐng)求基準(zhǔn)測(cè)試,例如 ULPBench-CP,或使用該工具自行測(cè)量數(shù)據(jù)。
本系列的第二部分將根據(jù)產(chǎn)品文檔和數(shù)據(jù)表檢查基準(zhǔn)數(shù)據(jù),以驗(yàn)證其準(zhǔn)確性。
能否從 MCU 描述和數(shù)據(jù)表中準(zhǔn)確確定能耗,以實(shí)現(xiàn)最長(zhǎng)的系統(tǒng)運(yùn)行時(shí)間?
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7552瀏覽量
151423 -
處理器
+關(guān)注
關(guān)注
68文章
19286瀏覽量
229846 -
mcu
+關(guān)注
關(guān)注
146文章
17148瀏覽量
351202
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論