你的位置:首頁(yè) > 電源管理 > 正文

如何為超低功耗系統選擇合適的MCU?攻略在此!

發(fā)布時(shí)間:2018-02-11 責任編輯:wenwei

【導讀】在物聯(lián)網(wǎng)的推動(dòng)下,業(yè)界對各種電池供電設備產(chǎn)生了巨大需求。這反過(guò)來(lái)又使業(yè)界對微控制器和其他系統級器件的能源效率要求不斷提高。因此,超低功耗(ULP)已成為一個(gè)過(guò)度使用的營(yíng)銷(xiāo)術(shù)語(yǔ),特別是用于描述微控制器時(shí)。作為理解ULP背后真正意義的第一步,應考慮其各種含義。
 
本文我們將考察ADI公司的兩款微控制器,以幫助大家了解如何在此背景下解讀超低功耗的真正意義。我們還會(huì )討論 EEMBC聯(lián)盟的認證機制,因為它確保了得分的準確性,可幫助系統開(kāi)發(fā)人員為其解決方案選擇最合適的微控制器。
 
測量和優(yōu)化超低功耗
 
作為了解ULP的出發(fā)點(diǎn),我們首先解釋如何測量它。開(kāi)發(fā)人員通常會(huì )查看數據手冊,在其中可以找到每MHz的電流值,以及不同睡眠模式下的電流值。
 
第一個(gè)問(wèn)題是,查看工作功耗時(shí),數據手冊通常不會(huì )解釋獲得該值的條件。例如代碼、電壓和閃存上的等待狀態(tài)。有些供應商使用工作模式參考,例如EEMBC CoreMark,而有些供應商則使用像"while 1"語(yǔ)句一樣簡(jiǎn)單的操作。如果閃存上有等待狀態(tài),則微控制器單元的性能會(huì )降低,增加執行時(shí)間,從而提高執行任務(wù)的能耗。有些供應商提供典型電壓時(shí)的數值,有些提供最低電壓時(shí)的數值,還有些供應商不指定任何電壓。也許這些差異很微妙,但沒(méi)有一個(gè)標準的話(huà),比較只能是大致上的對比。
 
通常,深度睡眠模式在數據手冊中有相當詳細的解釋?zhuān)瑯?,獲得這些模式下的電流消耗的條件因供應商而異(例如保留的內存量或電壓)。此外,在實(shí)際應用中,用戶(hù)還必須考慮進(jìn)入和退出這些模式所消耗的電能。這可能是一個(gè)微不足道的值,也可能事關(guān)重大,取決于器件是大部分時(shí)間處于睡眠模式還是頻繁喚醒。
 
第二個(gè)問(wèn)題是器件有多長(cháng)時(shí)間處于睡眠狀態(tài)?工作模式和睡眠模式之間的平衡對于確定ULP測量非常重要。為了簡(jiǎn)化該過(guò)程,EEMBC對其ULPMark-CoreProfile (ULPMark-CP)使用1秒鐘時(shí)間;這是一項基準測試,許多微控制器廠(chǎng)商將其用作數據手冊的標準。注意:使用1秒的決定被視為EEMBC工作組的共識??紤]到ULPMark-CoreProfile工作負載的工作時(shí)間,占空比將為98%左右。在該基準測試中,器件每秒喚醒一次,執行少量工作(工作周期),然后回到睡眠狀態(tài)。
 
通常,在工作模式下,模擬電路會(huì )導致電流消耗存在偏移;因此,使工作電流最小并有效使用深度睡眠模式對優(yōu)化整個(gè)系統的電能使用是有意義的。請注意,降低頻率會(huì )降低工作電流,但時(shí)間會(huì )增加,前面提到的模擬電路造成的偏移在微控制器處于工作狀態(tài)時(shí)保持不變。但是,微控制器不同選擇的利弊是什么?應用的占空比和深度睡眠電流對消耗的電能有何影響?
 
每周期的電能是占空比D(以睡眠模式時(shí)間占總時(shí)間的百分比給出)的函數,可由一個(gè)簡(jiǎn)化的公式來(lái)定義,假設開(kāi)啟和關(guān)閉轉換的電能很小。
 
其中,斜率由ION定義,因為ISLEEP遠小于ION,y軸截距就是ISLEEP。此 公式可以幫助理解占空比,其中工作電流比睡眠電流更重要。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
圖1. ULPMark-CP的占空比為1秒。在此期間,器件從深度睡眠模式喚醒,執行固定的工作負載,然后返回深度睡眠模式。
 
超低功耗測試平臺
 
比較ADI公司的兩款微控制器——ADuCM4050 和 ADuCM302x的超低功耗(電能)特性。在ULPMark節課表中, ADuCM4050和ADuCM302x的得分分別為203和245.5。請記住,該基準測試僅操作微控制器單元的核心(因此得名CoreProfile)。如何解釋18%的差異?
 
ADuCM4050包含一個(gè)采用ARMv7E-M架構的ARM® Cortex®-M4F。ADuCM302x包含一個(gè)采用ARMv7-M架構的ARM Cortex-M3。雖然兩個(gè)內核均有帶分支推測的三級流水線(xiàn),并且兩者的指令集架構相似,但只有Cortex-M4F支持DSP和浮點(diǎn)指令。ULPMark-CoreProfile沒(méi)有DSP指令,因此Cortex-M4F器件沒(méi)能發(fā)揮FPU的優(yōu)勢。
 
對于基準分析,ADuCM4050和ADuCM302x分別工作在52 MHz和26MHz。ADuCM4050需要大約11,284個(gè)周期來(lái)執行ULPMark工作負載,ADuCM302x需要10,920個(gè)周期,這意味著(zhù)前者在1秒周期的217μs內完成工作模式部分,而后者的工作時(shí)間為420 μs。ADuCM4050使用的周期數比ADuCM3029多的原因是所用頻率不同(分別為52 MHz和26 MHz),ADuCM4050的閃存需要一個(gè)等待狀態(tài),而ADuCM3029的閃存上沒(méi)有等待狀態(tài)。ADuCM4050具有高速緩存,因此在閃存上增加等待狀態(tài)不會(huì )有太大影響,因為許多指令是從高速緩存執行,可以全速(52 MHz)存取而無(wú)需額外的等待狀態(tài)。關(guān)于執行時(shí)間,同預期一樣,ADuCM4050執行工作負載的速度比ADuCM3029更快,因為其運行頻率是ADuM3029的兩倍。
 
表1. 在流行的ARM內核上完成ULP-Mark-CoreProfile工作負載所需的大致周期數。周期數是近似值,因為周期數還與編譯器有關(guān)。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
*這是基于Cortex-M0+和Cortex-M3數字的估計值。
 
但為什么ADuCM4050比ADuCM3029多消耗10 μA/MHz?這種增加背后的原因是,前者能以?xún)杀队诤笳叩念l率工作,因而需要額外的緩沖器來(lái)實(shí)現對更高頻率的時(shí)序約束。同ADuCM3029相比,ADuCM4050還有一些額外特性:
 
  • 存儲器大小加倍(SRAM 和閃存均是如此):128 kB 和512 kB,而ADuCM3029 只有64 kB 和256 kB。根據應用需求,您可能需要額外的存儲空間。
  • 頻率加倍:52 MHz,而ADuCM3029 只有26 MHz,因此ADuCM4050性能更好。
  • 增加了RGB 定時(shí)器。
  • 增加了新的安全特性:帶密鑰包裹- 解包功能的保護密鑰存儲和帶密鑰解包功能的鍵控HMAC。
  • 增加了三個(gè)額外的SensorStrobe 輸出。
  • 增加了全部SRAM 內容保留功能:ADuCM4050 最多可保留124kB,而ADuCM3029 最多只能保留32 kB。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
圖2. ULPMark-CP結果前10名,位于EEMBC網(wǎng)站(2017年8月18日)。
 
根據應用需求(功耗優(yōu)化、額外存儲、工作性能、內容保留等),您可以決定使用ADuCM4050還是ADuCM302x產(chǎn)品。
 
關(guān)于深度睡眠模式,ADuCM4050在運行ULPMark-CoreProfile并保留比ADuCM3029多一倍的存儲器內容時(shí)(前者為16 kB,而后者為8 kB),實(shí)現了更低的休眠功耗。這種改善的原因是較新的ADuCM4050產(chǎn)品采用增強型架構。
 
編譯器的作用
 
ULPMark包括兩種操作狀態(tài):工作狀態(tài)和低功耗狀態(tài)(器件處于睡眠模式)。這些狀態(tài)均納入恰好為1秒的占空比中。在工作狀態(tài)下,每個(gè)器件執行相同的工作負載。但正如我們所看到的那樣,工作效率受架構的影響。此外,它也受編譯器的影響。編譯器可能會(huì )選擇更改和優(yōu)化語(yǔ)句,致使指令組合發(fā)生變化。
 
根據應用的需要,您可以針對尺寸和速度進(jìn)行優(yōu)化,以平衡尺寸和速度等因素。循環(huán)展開(kāi)是一個(gè)簡(jiǎn)單的例子,執行的分支數與循環(huán)體內代碼的比例會(huì )發(fā)生變化。編譯器在尋找更好的計算結果方式上仍能起到重要作用,但所做的工作是等價(jià)的。例如,ADuCM3029的ULPMark-CP結果可能會(huì )因優(yōu)化程度不同而異:針對速度高度優(yōu)化時(shí)為245.5,中等優(yōu)化時(shí)為232,低度優(yōu)化時(shí)為209。Texas Instruments MSP430FR5969的ULPMark結果是說(shuō)明編譯器重要性的另一個(gè)例子。通過(guò)應用更新版本的IAR Embedded Workbench編譯器,結果提高了5%——盡管不知道內部編譯器做了什么改變來(lái)實(shí)現這一改進(jìn)(www.eembc.org/ulpbench/)。同樣,若不深入了解專(zhuān)有編譯器技術(shù),就無(wú)法知道為什么STMicroelectronics STM32L476RG從使用ARMCC編譯器變?yōu)镮AR編譯器后,結果提高了16%。
 
ADI公司MCU的兩個(gè)結果均是利用IAR編譯器編譯的代碼生成的,但版本不同。ADuCM4050和ADuCM302x分別使用IAR EWARM7.60.1.11216和7.50.2.10505。同樣不知道做了哪些內部改變。提交的兩個(gè)得分使用了與優(yōu)化速度對應的no_size_constraints選項。
 
將ULPMark轉換為電能值
 
ULPMark-CoreProfile使用一個(gè)取電能值倒數的公式(10個(gè)周期,5個(gè)每秒平均電能值的中位數)。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
 
電能為器件執行工作負載(處于工作模式)時(shí)消耗的電能與器件處于休眠狀態(tài)時(shí)消耗的電能之和。
 
根據 ADuCM3029 數據手冊,運行質(zhì)數代碼時(shí),工作電流的典型值為980 μA。此代碼裝入緩存,以利用其功耗較低的優(yōu)勢。對于ULPMark-CoreProfile代碼,由于它主要是線(xiàn)性代碼,使能緩存沒(méi)有什么太大好處,因此電流消耗與數據手冊中針對禁用緩存所顯示的電流消耗(1.28 mA)相似。關(guān)于休眠電流,ULPMark-CoreProfile要求使能LFXTAL和RTC,因此睡眠模式下的電流消耗為830 nA(根據數據手冊)。如上所述,工作時(shí)間持續420 μs。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
 
根據數據手冊數字和執行時(shí)間,工作電流的電能為1.61 μJ,睡眠期間消耗的電能為2.49 μJ。根據這些值得到的分數與EEMBCEnergyMonitor軟件測得的分數相符。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
 
第一代ULPMark的缺點(diǎn)之一是運行規則將工作電壓限制在3 V(工作組這樣做的目的是為所有器件建立一個(gè)通用電平)。大多數現代MCU在更低電壓下運行的能效要好得多(盡管這可能受溫度和工作頻率的影響)。例如,利用DC-DC轉換器將電壓從3 V降至1.8 V,STMicroelectronics STM32L476RG的ULPMark結果提高了19%。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
圖3. ADuCM4050框圖。其集成一個(gè)1.2 V低壓差穩壓器(LDO)和一個(gè)可選容性降壓調節器。
 
公布的結果受DC-DC轉換器使用的影響,STMicroelectronicsSTM32L476RG并非不是唯一這樣的器件,但有些器件將轉換器集成到器件本身,如ADuCM302x和ADuCM4050,不需要外部IC來(lái)提高器件的功耗性能。盡管如此,使用DC-DC轉換器有助于創(chuàng )造公平競爭環(huán)境,因為它允許器件以最佳能效運行。例如,僅工作在3 V的器件不會(huì )從DC-DC轉換器受益,因為它已經(jīng)處于最優(yōu)(或者可能是次優(yōu))的效率水平。另一方面,一個(gè)可以工作在1.8 V但沒(méi)有利用DC-DC轉換器的器件,則會(huì )浪費64%的供應電能。此外,對于優(yōu)先考慮能效的系統設計人員而言,如果系統使用3 V電池,則外部DC-DC轉換器的附加成本可能并不重要。必須小心使用DC-DC轉換器,避免測量轉換器而非MCU的能效。盡管如此,必須考慮到在實(shí)際應用中,DC-DC工作模式可能有一些缺點(diǎn),例如工作模式和睡眠模式的相互轉換時(shí)間會(huì )延長(cháng)。
 
使用DC-DC轉換器時(shí),還需要考慮轉換器的類(lèi)型。一些轉換器是基于電感的,可能會(huì )帶來(lái)更大面積、更高成本以及電磁干擾(EMI)之類(lèi)的問(wèn)題。ADuCM4050和ADuCM302x器件使用基于電容的轉換器,避免了這些問(wèn)題。
 
分析ULPMark-CP結果或數據手冊值時(shí),重要的是要承認器件差異的存在。換句話(huà)說(shuō),測量器件的能效時(shí),漏電流是一個(gè)重要因素,尤其是在睡眠模式下。雖然傳統的性能基準一般不受影響,但溫度和濕度等因素對器件的漏電流有一定程度的影響,進(jìn)而會(huì )影響ULPMark-CP的結果。就制造而言,同一供應商在不同日期或從不同晶圓生產(chǎn)的器件會(huì )不相同。甚至同一器件的功耗也可能發(fā)生變化(根據測量的時(shí)間和地點(diǎn),變化范圍在5%到15%)。從根本上說(shuō),這意味著(zhù)給出的ULPMark-CP得分應被用作能效指南。例如,一個(gè)器件的ULPMark結果為245,而來(lái)自不同晶圓的同款器件的得分可能在233到257之間(假設變化量為5%)。
 
認證機制—建立可信度
 
為了確保得分的真實(shí)性,愿意認證其器件的供應商將電路板和工具同平臺特定的配置文件一起發(fā)送給EEMBC技術(shù)中心(ETC)。EEMBC將平臺配置文件集成到其系統文件(包括工作負載)中,并在不同電路板上多次測量得分。認證的得分為所有測量的平均值。
 
通過(guò)這種方式,EEMBC確保所有得分的條件相同(相同工作負載、相同電能監測板、相似的溫度等)。
 
圖4顯示了用于在 ADuCM3029 EZ-Kit上測量ULPMark-CP的連接設置。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
圖4. 測量得分的電路板設置。
 
為了測量得分,EEMBC提供了EnergyMonitor軟件。單擊Run ULPBench(運行ULPBench)按鈕后,EnergyMonitor硬件便向ADuCM3029 EZ-Kit板供電,并測量配置文件運行的能耗。執行結束時(shí),軟件計算得分并將其顯示在屏幕上。軟件還會(huì )在歷史窗口中顯示之前周期的平均能耗。
 
如何為超低功耗系統選擇合適的MCU?攻略在此!
圖5. EnergyMonitor軟件—GUI。
 
下一步—MCU效率分析
 
EEMBC的終極目標是提供多個(gè)基準測試套件,使用戶(hù)能夠全面評估MCU。除了關(guān)注MCU核心效率的ULP-Mark-CP之外,新發(fā)布的ULPMark-PeripheralProfile (ULPMark-PP)聚焦于操作各種MCU外設,如ADC、PWM、SPI和RTC。在ULPMark-PP中,由于器件在工作負載中執行多個(gè)外設事務(wù),所以工作功耗和輕度睡眠功耗非常重要。ULPMark-PP的結果可從EEMBC網(wǎng)站獲得;ULP-Mark-CP和ULPMark-PP組合可供EEMBC成員使用或授權使用。
 
接下來(lái)開(kāi)發(fā)IoTMark-BLE和SecureMark套件。前者側重于測量MCU和無(wú)線(xiàn)電通過(guò)藍牙®發(fā)射和接收數據的效率;后者是一種復雜的安全套件,用于測量物聯(lián)網(wǎng)器件實(shí)現各種加密機制的電能和性能開(kāi)銷(xiāo)。二者均會(huì )在2017年底提供給成員和被許可人使用。
 
基準測試如同汽車(chē),需要人來(lái)運行。因此,我們鼓勵大家敦促所有MCU供應商運行并發(fā)布器件結果。我們還需要更多供應商將ULPMark結果包括在其數據手冊中。這會(huì )顯著(zhù)增加數據手冊中規格特性的可信度和實(shí)際可比性。如果MCU供應商未公布這些認證結果,那么您就要問(wèn):"為什么不公布,你們在隱藏什么?"
 
 
 
 
 
 
 
 
推薦閱讀:



Digi-Key 祝大家農歷新年快樂(lè ),狗年大吉大利
效率高達99%,這個(gè)170W的倍壓器是如何做到滴?
深度解讀之激光雷達技術(shù)
最全的物聯(lián)網(wǎng)產(chǎn)業(yè)鏈全景圖及8大環(huán)節詳細解讀
探秘無(wú)人駕駛汽車(chē)的眼睛——LiDAR
 
 
 
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页