當前位置:
首頁 > 科技 > 開發超低功耗系統時選擇合適微控制器的策略

開發超低功耗系統時選擇合適微控制器的策略

開發超低功耗系統時選擇合適微控制器的策略

作者:Monica Redon

在物聯網(IoT)的推動下,業界對各種電池供電設備產生了巨大需求。這反過來又使業界對微控制器和其他系統級器件的能源效率要求不斷提高。因此,超低功耗(ULP)已成為一個過度使用的營銷術語,特別是用於描述微控制器時。作為理解ULP背後真正意義的第一步,應考慮其各種含義。在某些情況下,當電源嚴重受限時(例如能量收集),應用要求最低工作電流。或者,當系統大部分時間處於待機或睡眠模式,不常醒來(定期或非同步)處理任務時,應用要求最低睡眠模式電流。此外,ULP也意味著能源效率,大多數工作是在有限時間內進行的。總體而言,電池供電設備基於一組權衡考慮,綜合使用這些要求。

當然,ULP也是一個見仁見智並與功能相關的問題。例如,我們一般將工作模式電流在30 μA/MHz至40 μA/MHz範圍、關斷電流在50 nA到70 nA的微控制器單元(MCU)視為ULP。然而,能否將微控制器劃歸超低功耗類涉及到複雜的特性組合,包括架構、SoC設計、工藝技術、智能外設和深度睡眠模式。本文將考察ADI公司的兩款微控制器,以幫助大家了解如何在此背景下解讀超低功耗的真正意 義。我們還會討論 EEMBC聯盟的認證機制,它確保了得分的準確性,可幫助系統開發人員為其解決方案選擇最合適的微控制器。

測量和優化超低功耗

作為了解ULP的出發點,我們首先解釋如何測量它。開發人員通常會查看數據手冊,在其中可以找到每MHz的電流值,以及不同睡眠模式下的電流值。第一個問題是,查看工作功耗時,數據手冊通常不會解釋獲得該值的條件,例如代碼、電壓和快閃記憶體上的等待狀態。有些供應商使用工作模式參考,例如EEMBC CoreMark,而有些供應商則使用像"while 1"語句一樣簡單的操作。如果快閃記憶體上有等待狀態,則微控制器單元的性能會降低,增加執行時間,從而提高執行任務的能耗。有些供應商提供典型電壓時的數值,有些提供最低電壓時的數值,還有些供應商不指定任何電壓。也許這些差異很微妙,但沒有一個標準的話,比較只能是大致上的對比。

通常,深度睡眠模式在數據手冊中有相當詳細的解釋,但同樣,獲得這些模式下的電流消耗的條件因供應商而異(例如保留的內存量或電壓)。此外,在實際應用中,用戶還必須考慮進入和退出這些模式所消耗的電能。這可能是一個微不足道的值,也可能事關重大,取決於器件是大部分時間處於睡眠模式還是頻繁喚醒。這就引出了下一個問題——器件有多長時間處於睡眠狀態?工作模式和睡眠模式之間的平衡對於確定ULP測量非常重要。為了簡化該過程,EEMBC對其ULPMark-CoreProfile (ULPMark-CP)使用1秒鐘時間;這是一項基準測試,許多微控制器廠商將其用作數據手冊的標準。注意:使用1秒的決定被視為EEMBC工作組的共識。考慮到ULPMark-CoreProfile工作負載的工作時間,占空比將為98%左右。在該基準測試中,器件每秒喚醒一次,執行少量工作(工作周期),然後回到睡眠狀態。

通常,在工作模式下,模擬電路會導致電流消耗存在偏移;因此,使工作電流最小並有效使用深度睡眠模式對優化整個系統的電能使用是有意義的。請注意,降低頻率會降低工作電流,但時間會增加,前面提到的模擬電路造成的偏移在微控制器處於工作狀態時保持不變。但是,微控制器不同選擇的利弊是什麼?應用的占空比和深度睡眠電流對消耗的電能有何影響?

每周期的電能是占空比D(以睡眠模式時間佔總時間的百分比給出)的函數,可由一個簡化的公式來定義,假設開啟和關閉轉換的電能很小。

開發超低功耗系統時選擇合適微控制器的策略

其中,斜率由ION定義,因為ISLEEP遠小於ION,y軸截距就是ISLEEP。此 公式可以幫助理解占空比,其中工作電流比睡眠電流更重要。

開發超低功耗系統時選擇合適微控制器的策略

圖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。雖然兩個內核均有帶分支推測的三級流水線,並且兩者的指令集架構相似,但只有Cortex-M4F支持DSP和浮點指令。ULPMark-CoreProfile沒有DSP指令,因此Cortex-M4F器件沒能發揮FPU的優勢。

對於基準分析,ADuCM4050和ADuCM302x分別工作在52 MHz和26MHz。ADuCM4050需要大約11,284個周期來執行ULPMark工作負載,ADuCM302x需要10,920個周期,這意味著前者在1秒周期的217μs內完成工作模式部分,而後者的工作時間為420 μs。

ADuCM4050使用的周期數比ADuCM3029多的原因是所用頻率不同(分別為52 MHz和26 MHz),ADuCM4050的快閃記憶體需要一個等待狀態,而ADuCM3029的快閃記憶體上沒有等待狀態。ADuCM4050具有高速緩存,因此在快閃記憶體上增加等待狀態不會有太大影響,因為許多指令是從高速緩存執行,可以全速(52 MHz)存取而無需額外的等待狀態。關於執行時間,同預期一樣,ADuCM4050執行工作負載的速度比ADuCM3029更快,因為其運行頻率是ADuM3029的兩倍。

若要獲得EEMBC基準代碼,您必須是成員或工作組。您可以訪問這裡。成為成員。Monica Redon是ADI公司在EEMBC委員會的代表, 您可以聯繫她了解更多信息。

表1. 在流行的ARM內核上完成ULP-Mark-CoreProfile工作負載所需的大致周期數。周期數是近似值,因為周期數還與編譯器有關。

開發超低功耗系統時選擇合適微控制器的策略

*這是基於Cortex-M0+和Cortex-M3數字的估計值。

但為什麼ADuCM4050比ADuCM3029多消耗10 μA/MHz?這種增加背後的原因是,前者能以兩倍於後者的頻率工作,因而需要額外的緩衝器來實現對更高頻率的時序約束。同ADuCM3029相比,ADuCM4050還有一些額外特性:

  • 存儲器大小加倍(SRAM 和快閃記憶體均是如此):128 kB 和512 kB,而ADuCM3029 只有64 kB 和256 kB。根據應用需求,您可能需要額外的存儲空間。

  • 頻率加倍:52 MHz,而ADuCM3029 只有26 MHz,因此ADuCM4050性能更好。

  • 增加了RGB 定時器。

  • 增加了新的安全特性:帶密鑰包裹- 解包功能的保護密鑰存儲和帶密鑰解包功能的鍵控HMAC。

  • 增加了三個額外的SensorStrobe 輸出。

  • 增加了全部SRAM 內容保留功能:ADuCM4050 最多可保留124kB,而ADuCM3029 最多只能保留32 kB。

開發超低功耗系統時選擇合適微控制器的策略

圖2. ULPMark-CP結果前10名,位於EEMBC網站(2017年8月18日)。1

根據應用需求(功耗優化、額外存儲、工作性能、內容保留等),您可以決定使用ADuCM4050還是ADuCM302x產品。

關於深度睡眠模式,ADuCM4050在運行ULPMark-CoreProfile並保留比ADuCM3029多一倍的存儲器內容時(前者為16 kB,而後者為8 kB),實現了更低的休眠功耗。這種改善的原因是較新的ADuCM4050產品採用增強型架構。

編譯器的作用

如上所述,ULPMark包括兩種操作狀態:工作狀態和低功耗狀態(器件處於睡眠模式)。這些狀態均納入恰好為1秒的占空比中。在工作狀態下,每個器件執行相同的工作負載。但正如我們所看到的那樣,工作效率受架構的影響。此外,它也受編譯器的影響。編譯器可能會選擇更改和優化語句,致使指令組合發生變化。

根據應用的需要,您可以針對尺寸和速度進行優化,以平衡尺寸和速度等因素。循環展開是一個簡單的例子,執行的分支數與循環體內代碼的比例會發生變化。編譯器在尋找更好的計算結果方式上仍能起到重要作用,但所做的工作是等價的。例如,ADuCM3029的ULPMark-CP結果可能會因優化程度不同而異:針對速度高度優化時為245.5,中等優化時為232,低度優化時為209。Texas Instruments MSP430FR5969的ULPMark結果是說明編譯器重要性的另一個例子。通過應用更新版本的IAR Embedded Workbench編譯器,結果提高了5%——儘管不知道內部編譯器做了什麼改變來實現這一改進(www.eembc.org/ulpbench/)。同樣,若不深入了解專有編譯器技術,就無法知道為什麼STMicroelectronics STM32L476RG從使用ARMCC編譯器變為IAR編譯器後,結果提高了16%。

ADI公司MCU的兩個結果均是利用IAR編譯器編譯的代碼生成的,但版本不同。

ADuCM4050和ADuCM302x分別使用IAR EWARM7.60.1.11216和7.50.2.10505。同樣不知道做了哪些內部改變。提交的兩個得分使用了與優化速度對應的no_size_constraints選項。

將ULPMark轉換為電能值

ULPMark-CoreProfile使用一個取電能值倒數的公式(10個周期,5個每秒平均電能值的中位數)。

開發超低功耗系統時選擇合適微控制器的策略

電能為器件執行工作負載(處於工作模式)時消耗的電能與器件處於休眠狀態時消耗的電能之和。

開發超低功耗系統時選擇合適微控制器的策略

根據 ADuCM3029 數據手冊,運行質數代碼時,工作電流的典型值為980 μA。此代碼裝入緩存,以利用其功耗較低的優勢。對於ULPMark-CoreProfile代碼,由於它主要是線性代碼,使能緩存沒有什麼太大好處,因此電流消耗與數據手冊中針對禁用緩存所顯示的電流消耗(1.28 mA)相似。關於休眠電流,ULPMark-CoreProfile要求使能LFXTAL和RTC,因此睡眠模式下的電流消耗為830 nA(根據數據手冊)。如上所述,工作時間持續420 μs。

開發超低功耗系統時選擇合適微控制器的策略

根據數據手冊數字和執行時間,工作電流的電能為1.61 μJ,睡眠期間消耗的電能為2.49 μJ。根據這些值得到的分數與EEMBCEnergyMonitor軟體測得的分數相符。

開發超低功耗系統時選擇合適微控制器的策略

第一代ULPMark的缺點之一是運行規則將工作電壓限制在3 V(工作組這樣做的目的是為所有器件建立一個通用電平)。大多數現代MCU在更低電壓下運行的能效要好得多(儘管這可能受溫度和工作頻率的影響)。例如,利用DC-DC轉換器將電壓從3 V降至1.8 V,STMicroelectronics STM32L476RG的ULPMark結果提高了19%。

開發超低功耗系統時選擇合適微控制器的策略

圖3. ADuCM4050框圖。其集成一個1.2 V低壓差穩壓器(LDO)和一個可選容性降壓調節器。

公布的結果受DC-DC轉換器使用的影響,STMicroelectronicsSTM32L476RG並非不是唯一這樣的器件,但有些器件將轉換器集成到器件本身,如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軟體。單擊Run ULPBench(運行ULPBench)按鈕後,EnergyMonitor硬體便向ADuCM3029 EZ-Kit板供電,並測量配置文件運行的能耗。執行結束時,軟體計算得分並將其顯示在屏幕上。軟體還會在歷史窗口中顯示之前周期的平均能耗。

開發超低功耗系統時選擇合適微控制器的策略

圖5. EnergyMonitor軟體—GUI。

下一步—MCU效率分析

EEMBC的終極目標是提供多個基準測試套件,使用戶能夠全面評估MCU。除了關注MCU核心效率的ULP-Mark-CP之外,新發布的ULPMark-PeripheralProfile (ULPMark-PP)聚焦於操作各種MCU外設,如ADC、PWM、SPI和RTC。在ULPMark-PP中,由於器件在工作負載中執行多個外設事務,所以工作功耗和輕度睡眠功耗非常重要。ULPMark-PP的結果可從EEMBC網站獲得;ULP-Mark-CP和ULPMark-PP組合可供EEMBC成員使用或授權使用。

接下來開發IoTMark-BLE和SecureMark套件。前者側重於測量MCU和無線電通過藍牙?發射和接收數據的效率;後者是一種複雜的安全套件,用於測量物聯網器件實現各種加密機制的電能和性能開銷。二者均會在2017年底提供給成員和被許可人使用。

基準測試如同汽車,需要人來運行。因此,我們鼓勵大家敦促所有MCU供應商運行並發布器件結果。我們還需要更多供應商將ULPMark結果包括在其數據手冊中(像Ambiq Micro、AnalogDevices、STMicroelectronics和TI等廠商所做的一樣)。這會顯著增加數據手冊中規格特性的可信度和實際可比性。如果MCU供應商未公布這些認證結果,那麼您就要問:"為什麼不公布,你們在隱藏什麼?"

參考電路

1最新得分參見 www.eembc.org/ulpbench/index.php。

關於作者

Monica Redon於2010年加入ADI西班牙公司。目前,她擔任消費電子檢測與處理技術(CSPT)部門的系統工程師。此前,她曾擔任物聯網平台技術小組的應用主管。加入ADI公司之前,她在一家電力線路通信創業公司工作了5年,並在德國弗勞恩霍夫研究所的無線網路團隊工作了5年。

關於電子創新網

電子創新網及時發布有關創新設計的最新全球半導體產業信息、半導體供應商最新動態、展會研討會信息、技術趨勢信息以及人物訪談等相關新聞,關注公眾號獲取更多資訊。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 電子創新設計 的精彩文章:

「60秒半導體新聞」手機業寒冬已至 廠商、渠道商舉步維艱/Gartner上調2018年全球晶元銷售預估至4510億美元

TAG:電子創新設計 |