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