物聯網 (IoT) 正在推動對各種電池供電設備的巨大需求。這反過來又推動了對微控制器和其他系統級組件不斷提高能效的要求。因此,超低功耗(ULP)已成為一個過度使用的營銷短語,尤其是在用于描述微控制器時。作為理解ULP背后真正含義的第一步,請考慮其含義的多樣性。在某些情況下,當電源受到嚴重限制(例如,能量收集)時,需要最低的有功電流。或者,當系統大部分時間處于待機或睡眠模式,不經常(定期或異步)喚醒以處理任務時,需要最低的睡眠模式電流。此外,ULP還可以意味著能源效率,因此大多數工作都是在有限的時間內完成的。總體而言,電池供電設備將根據一系列權衡利用這些要求的組合。
當然,ULP 也是一個意見和功能問題——例如,我們通常認為微控制器單元 (MCU) 是 ULP,其活動模式范圍為 30 μA/MHz 至 40 μA/MHz,關斷電流為 50 nA 至 70 nA。然而,將微控制器歸類為超低功耗是各種特性的復雜組合,包括架構、SoC 設計、工藝技術、智能外設和深度睡眠模式。在本文中,我們將研究ADI公司的兩款微控制器,以幫助您了解如何在這種情況下解釋超低功耗的真正含義。我們還將研究EEMBC聯盟的認證機制,該機制確保分數的準確性,以幫助系統開發人員為其解決方案選擇最合適的微控制器。
測量和優化超低功耗
作為理解ULP的起點,我們首先解釋如何測量它。開發人員通常會查看數據手冊,在那里可以找到每MHz的電流值,以及不同睡眠模式的電流。第一個問題是,在查看有功電流消耗時,數據手冊通常無法解釋獲得該值的條件,例如代碼、電壓和閃存上的等待狀態。一些供應商使用主動模式引用,例如EEMBC CoreMark,而其他供應商將使用像運行“while 1”語句這樣簡單的東西。如果閃存上存在等待狀態,微控制器單元的性能會降低,從而增加執行時間,從而增加執行任務的能耗。一些供應商提供典型電壓的數字,其他供應商提供最低電壓的數字,而其他供應商則不指定任何電壓。也許這些都是微妙的差異,但沒有標準,比較只是近似的。
通常,數據手冊中對深度睡眠模式進行了很好的解釋,但同樣,獲得這些模式的電流消耗的條件因供應商而異(例如,保留的內存量或電壓)。此外,在實際應用中,用戶還必須考慮進入和退出這些模式時消耗的能量。這可能是一個微不足道的值,也可能是真正相關的,具體取決于設備大部分時間是否處于睡眠模式或頻繁喚醒。這就引出了下一點——設備在睡眠中花費了多少時間?活動模式和睡眠模式之間的平衡對于確定ULP測量非常重要。為了簡化流程,EEMBC為其ULPMark-CoreProfile(ULPMark-CP)使用了1秒周期,該基準測試被許多微控制器供應商用作數據手冊標準。注意:使用1秒的決定是EEMBC工作組的共識。考慮到ULPMark-CoreProfile工作負載的活動時間,占空比約為2%。在此基準測試中,設備每秒喚醒一次,執行少量工作(活動周期),然后返回睡眠狀態。
通常,在有源模式下,由于模擬電路,電流消耗會有所偏移,因此,最小化有源電流并有效使用深度睡眠模式對于優化整體系統能源使用是有意義的。請注意,通過降低頻率,有功電流將減少,但時間會增加,并且前面提到的模擬電路引起的失調在微控制器處于活動狀態時保持不變。但是,微控制器選擇之間的權衡是什么,應用的占空比和深度睡眠電流對該能量有何影響?
每個周期的能量作為占空比D的函數(以活動模式下的時間與總時間的百分比給出)由一個簡化的方程定義,該方程假設開和關轉換中的能量很小。
其中斜率由 I 定義上自從我睡比我小得多上而 y 截距只是我睡.該方程有助于理解占空比,其中有功電流比睡眠電流更重要。
圖1.ULPMark-CP的周期為1秒。在此期間,設備將從深度睡眠模式喚醒,執行固定工作負載,然后返回到深度睡眠模式。
超低功耗測試平臺
如前所述,我們將比較ADI公司兩款微控制器ADuCM4050和ADuCM302x的超低功耗(能量)。在ULPMark結果表中,ADuCM4050和ADuCM302x分別獲得了203和245.5的分數。請記住,此基準測試僅執行微控制器單元的內核(因此稱為CoreProfile)。如何解釋18%的差異?
ADuCM4050內置一個實現ARMv7E-M架構的ARM Cortex-M4F。ADuCM302x包含一個實現ARMv7-M架構的ARM Cortex-M3。雖然兩個內核都有一個具有分支推測的 3 級流水線,并且在指令集架構上都相似,但只有 Cortex-M4F 支持 DSP 和浮點指令。由于ULPMark-CoreProfile上沒有DSP指令,Cortex-M4F部件沒有利用FPU。??
對于基準分析,ADuCM4050和ADuCM302x的工作頻率分別為52 MHz和26 MHz。ADuCM4050執行ULPMark工作負載需要約11,284個周期,ADuCM302x需要10,920個周期,這意味著前者在1秒周期的217 μs內完成活動模式部分,而后者在420 μs內有效。ADuCM4050使用的周期比ADuCM3029多幾個,是因為使用的頻率(分別為52 MHz和26 MHz),ADuCM4050需要一個等待閃存狀態,而ADuCM3029在閃存上沒有等待狀態。由于ADuCM4050具有高速緩存,因此在閃存上添加等待狀態不會造成重大損失,因為許多指令是從高速緩存執行的,可以全速(52 MHz)訪問,而無需額外的等待狀態。在執行時間方面,正如預期的那樣,ADuCM4050的工作負載執行速度比ADuCM3029快,因為它的運行頻率是ADuM3029的兩倍。
ARM核心 | 完成 ULPMark 活動模式的近似周期 | ||
皮層-M0 | 15,174* | ||
皮層-M0+ | 14,253 | ||
皮質-M3 | 10,920 | ||
皮層-M4 | 11,852 | ||
皮層-M4F | 11,284 | ||
*這是基于Cortex-M0+和Cortex-M3數字的估計值。 |
但是,為什么ADuCM4050的功耗比ADuCM3029高10 μA/MHz?這種增加背后的原因是,前者的工作頻率可能是后者的兩倍,需要額外的緩沖器來完成更高頻率的時序約束。與ADuCM3029相比,ADuCM4050還具有一些額外的特性:
存儲器大小翻倍(SRAM和閃存):分別為128 kB和512 kB,而ADuCM3029為64 kB和256 kB。根據應用程序需求,您可能需要額外的存儲空間。
雙頻:ADuCM3029為52 MHz,而ADuCM3029為26 MHz,因此ADuCM4050具有更好的性能。
添加了 RGB 計時器。
添加了新的安全功能:具有密鑰包裝-解包功能的受保護密鑰存儲和具有密鑰解包的密鑰 HMAC。
添加了三個額外的傳感器頻閃?輸出。
增加了完整的SRAM保留:ADuCM4050可保留高達124 kB,而ADuCM3029可保留高達32 kB。
圖2.ULPMark-CP的前10個結果,位于EEMBC網站(18千2017年8月)。1
根據應用需求(功耗優化、額外存儲、主動性能、保持能力等),您可以決定使用ADuCM4050或ADuCM302x產品。
在深度睡眠模式下,ADuCM4050的休眠電流是運行ULPMark-CoreProfile時ADuCM3029的兩倍(前者為16 kB,后者為8 kB)。這種改進的原因是較新的ADuCM4050產品上的架構得到增強。
編譯器的作用
如上所述,ULPMark 由兩種操作狀態組成 — 活動狀態和設備處于睡眠模式的低功耗狀態。這些狀態組合成正好 1 秒的時間段。在活動狀態下,每個設備執行相同的工作負載。但正如我們所看到的,這項工作的效率受到架構的影響。此外,它還受編譯器的影響。編譯器可以選擇更改和優化語句,以便指令組合將更改。
根據應用程序需求,您可以優化大小、速度、平衡大小和速度等。循環展開是一個簡單的示例,其中執行的分支與循環內代碼的比率發生變化。編譯器仍然可以在尋找更好的計算結果方法方面發揮重要作用,但所做的工作是等效的。例如,ADuCM3029的ULPMark-CP結果可能從速度優化高的245.5到中等優化的232或低優化的209不等。編譯器重要性的另一個例子是德州儀器 MSP430FR5969 的 ULPMark 結果,通過應用較新版本的 IAR 嵌入式工作臺編譯器,編譯器提高了 5%,盡管不知道為完成此改進進行了哪些內部編譯器更改 (www.eembc.org/ulpbench/)。同樣,如果不深入了解專有編譯器技術,就無法確定為什么意法半導體STM32L476RG的結果在從ARMCC編譯器到IAR編譯器的過程中提高了16%。
ADI公司MCU的兩個結果都是使用IAR編譯器編譯的代碼生成的,但版本不同。ADuCM4050和ADuCM302x分別使用IAR EWARM 7.60.1.11216和7.50.2.10505。同樣,不可能知道進行了哪些內部更改。兩個分數都是使用與優化速度相對應的no_size_constraints選項提交的。
將 ULPMark 轉換為能量值
ULPMark-CoreProfile 使用一個公式,該公式取能量值的倒數(中位數為 5× 10 個周期每秒的平均能量)。
能量作為設備執行工作負載(在活動模式下)和設備處于休眠狀態時消耗的能量的總和獲得。
根據ADuCM3029數據手冊,運行質數代碼時,有源電流的典型值為980 μA。此代碼適合緩存并利用其較低的功耗。對于ULPMark-CoreProfile代碼,由于它主要是線性代碼,因此啟用緩存沒有太大的好處,因此電流消耗類似于禁用緩存的數據手冊中顯示的電流消耗,為1.28 mA。對于休眠電流,ULPMark-CoreProfile 需要啟用 LFXTAL 和 RTC,因此休眠模式下的電流消耗為 830 nA(根據數據手冊)。如前所述,活動持續時間為420 μs。
根據數據手冊編號和執行時間,有功電流的能量為1.61 μJ,睡眠期間消耗的能量為2.49 μJ。根據這些值得出的分數與使用EEMBC EnergyMonitor軟件測量的分數相匹配。
第一代ULPMark的缺點之一是運行規則將工作電壓限制為3 V(由工作組以這種方式實現,為所有設備建立通用電平)。大多數現代MCU在較低電壓下運行具有更好的能效(盡管這可能會受到溫度和工作頻率的影響)。例如,意法半導體STM32L476RG的ULPMark性能提高了19%,采用DC-DC轉換器將電壓從3 V降至1.8 V。
圖3.ADuCM4050的框圖它集成了一個1.2 V低壓差穩壓器(LDO)和一個可選的容性降壓轉換器。
意法半導體STM32L476RG并不是唯一一款公布結果受DC-DC轉換器影響的器件,盡管在某些器件中,轉換器集成在器件本身中,如ADuCM302x和ADuCM4050,無需外部IC即可提高器件的電源性能。然而,使用DC-DC轉換器有助于創造公平的競爭環境,因為它允許器件以最佳能效運行。例如,僅在3 V下工作的器件將無法從DC-DC轉換器中受益,因為它已經處于最佳(或次優)效率。另一方面,一個可以在低至1.8 V電壓下工作但不能利用DC-DC轉換器的器件基本上浪費了64%的供電能量。此外,對于優先考慮能效的系統設計人員來說,如果系統使用3 V電池,則外部DC-DC轉換器的額外成本可能并不重要。使用DC-DC轉換器時必須小心,以避免測量轉換器而不是MCU的能效。然而,必須考慮到,在實際應用中,DC-DC工作模式可能存在缺點,例如從/到活動模式/到睡眠模式的轉換時間延長。
使用DC-DC轉換器時的另一個考慮因素是轉換器的類型。一些轉換器是基于電感的,它們意味著更大的面積、更高的成本和可能的電磁干擾(EMI)問題。ADuCM4050和ADuCM302x器件使用容性轉換器來避免這些問題。有關更多信息,請參閱用戶指南UG-1091“如何設置和使用ADuCM3027/ADuCM3029微控制器”。
在分析 ULPMark-CP 結果甚至數據手冊值時,請務必確認器件差異。換句話說,在測量設備的能效時,漏電流是一個重要因素,尤其是在睡眠模式下。雖然傳統的性能基準通常不受影響,但溫度和濕度等各種因素都會對器件的漏電流產生一定程度的影響,進而影響其ULPMark-CP結果。在制造業中,供應商的設備每天都會有所不同,晶圓與晶圓之間也會有所不同。即使是完全相同的設備的能耗也可能有所不同(我們已經看到從5%到15%不等的變化,具體取決于進行測量的時間和地點)。從根本上說,這意味著給定的ULPMark-CP分數應該用作能源效率的指南。例如,ULPMark 結果為 245 的器件在取自不同晶圓的同一器件上可能介于 233 到 257 之間(假設增量為 5%)。
認證機制——建立信譽
為了確保分數的準確性,愿意認證其設備的供應商將電路板和工具與特定于平臺的配置文件一起發送到EEMBC技術中心(ETC)。EEMBC將平臺配置文件集成到其系統文件(包括工作負載)中,并在不同的板上多次測量分數。認證的分數是所有測量值的平均值。
通過這種方式,EEMBC確保所有分數的條件都相同(相同的工作量,相同的能量監控板,相似的溫度等)。
圖4顯示了在ADuCM3029 EZ-Kit上測量ULPMark-CP的連接設置。
圖4.用于測量分數的板設置。
為了衡量分數,EEMBC提供了EnergyMonitor軟件。通過單擊運行ULPBench按鈕,能量監控器硬件為ADuCM3029 EZ-Kit板供電,并測量配置文件運行的能耗。在執行結束時,軟件計算分數并將其顯示在屏幕上。該軟件還在歷史記錄窗口中顯示先前周期的平均能耗。?
圖5.能源監控軟件 — 圖形用戶界面。
下一步 — MCU 效率分析
EEMBC的最終目標是提供多套基準測試,使用戶能夠全面評估MCU。除了專注于MCU核心效率的ULPMark-CP之外,新發布的ULPMark-PeripheralProfile(ULPMark-PP)專注于各種MCU外設,如ADC,PWM,SPI和RTC。在ULPMark-PP中,有源和輕度睡眠電流消耗非常重要,因為器件在工作負載中執行多個外設事務。
接下來開發的是IoTMark-BLE和SecureMark套件。前者側重于測量MCU和無線電通過藍牙發送和接收的效率。后者是一個復雜的安全套件,將測量為物聯網設備實施各種加密元素的能源和性能開銷。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7552瀏覽量
151423 -
mcu
+關注
關注
146文章
17148瀏覽量
351198 -
電路板
+關注
關注
140文章
4960瀏覽量
97845
發布評論請先 登錄
相關推薦
評論