微控制器/片上系統(tǒng) (MCU/SoC) 系統(tǒng)的能耗比較——一個(gè)基準(zhǔn)就足夠了,還是我們需要一個(gè)參數(shù)基準(zhǔn)?
一個(gè)產(chǎn)品的選擇、市場(chǎng)定位和成功的一個(gè)重要因素是整個(gè)系統(tǒng)的能耗。測(cè)量這一點(diǎn)的傳統(tǒng)方法是以微安 (μA) 或每兆赫茲微瓦 (μW/MHz) 為單位來(lái)表示效率,但這已經(jīng)不夠了。儲(chǔ)能系統(tǒng)既不存儲(chǔ) μA 也不存儲(chǔ) μW,而是存儲(chǔ)焦耳,焦耳僅表示能量。因此,比較 MCU/SoC 設(shè)備的能源使用情況已成為用戶(hù)的首要關(guān)注點(diǎn)。
一個(gè)基準(zhǔn)是否足以選擇 MCU、MCU 系列或整個(gè) MCU 制造商?公開(kāi)可用的技術(shù)文檔是否足夠?為您的應(yīng)用選擇合適的供應(yīng)商有多容易?
第 1 部分:超低功耗基準(zhǔn):ULPBench-Core Profile
第 2 部分:ULPBench-Core 配置文件、EEMBC 文檔和 MCU 數(shù)據(jù)表
第 3 部分:工作溫度對(duì)能耗的影響
第 4 部分:MCU 數(shù)據(jù)表:操作模式、控制位、寄存器、電流和模式傳輸參數(shù)
以前的文章著眼于供應(yīng)商數(shù)據(jù)表的內(nèi)容。數(shù)據(jù)表在其最新版本中可在網(wǎng)絡(luò)上獲得,但遺憾的是在其先前版本中沒(méi)有。在設(shè)計(jì)開(kāi)始時(shí)未存儲(chǔ)初始修訂會(huì)在計(jì)算能耗方面產(chǎn)生誤導(dǎo)性結(jié)果。供應(yīng)商在數(shù)據(jù)表中的營(yíng)銷(xiāo)聲明有時(shí)很難用詳細(xì)數(shù)據(jù)進(jìn)行驗(yàn)證。如果我們想根據(jù)能效來(lái)選擇最好的MCU,我們有幾種選擇:
來(lái)自 ULPBench von EEMBC 等基準(zhǔn)測(cè)試的結(jié)果
發(fā)表 MCU 應(yīng)用測(cè)量的文章
MCU供應(yīng)商提供的各類(lèi)文件
技術(shù)貿(mào)易雜志、大會(huì)或論壇上的公開(kāi)文章。
EEMBC 的 ULPBench 結(jié)果
ULPBench 提供有關(guān)能源消耗的基本陳述。RUN-Mode 和 RTC-Mode 在一秒內(nèi)以 50 ppm 的精度執(zhí)行。被測(cè)設(shè)備不需要滿(mǎn)足供應(yīng)商的典型數(shù)據(jù)。
超出此基本定義的每個(gè)應(yīng)用程序都可以提供將對(duì) EEMark 排名產(chǎn)生負(fù)面影響的消費(fèi)數(shù)據(jù)。以下是三個(gè)例子:
電源模式之間的切換損耗和切換所需的代碼
外設(shè),特別是具有高數(shù)據(jù)吞吐量的數(shù)字功能和模擬功能,例如 ADC/DAC/放大器等。
限制模式之間的切換和序列的約束;可以使用從實(shí)際模式到目標(biāo)模式的中間模式。
所有三個(gè)提到的條件都對(duì) EEMBC 的第一個(gè)基準(zhǔn)測(cè)試的結(jié)果沒(méi)有影響。
MCU 供應(yīng)商為其產(chǎn)品提供了許多不同的文檔。我們僅限于功能描述、電氣特性數(shù)據(jù)和面向應(yīng)用的文檔。軟件示例和開(kāi)發(fā)工具將不在這里介紹。
在圖 1 中,總結(jié)了所有提及操作模式和更改以確保安全操作的頁(yè)面。
【圖1 | 海量數(shù)據(jù)呈現(xiàn)給用戶(hù),實(shí)現(xiàn)節(jié)能運(yùn)行。僅考慮整個(gè)產(chǎn)品組合中的一個(gè) MCU 系列。]
通常,發(fā)布的功率模式不到十幾種;為任何應(yīng)用功能獲得最佳電源模式應(yīng)該很容易。公布的數(shù)據(jù)與少數(shù)功率模式所暗示的相反。在任何電源模式和模式更改過(guò)程中,都必須確保安全和節(jié)能的操作:
工作電壓和頻率通常覆蓋不同的區(qū)域
指令和電源模式控制位
幾個(gè) ON/OFF 字和位;內(nèi)部電源的電源門(mén)控、允許的順序和必要的時(shí)序。
時(shí)鐘生成、路由和 ON/OFF 切換。
排除所有決定以下配置、功能和操作模式的頁(yè)面:
中斷和“異常”處理
內(nèi)存條件,如等待狀態(tài)、內(nèi)存中的數(shù)據(jù)保留(SRAM 保留)等。
內(nèi)存保護(hù)/MMU 配置等
調(diào)試模式期間的操作/電源模式
外圍功能,例如啟用/禁用、電源/性能配置和更改條件
保存和重新配置功能
大多數(shù)系統(tǒng)架構(gòu)使用最小的公分母來(lái)表示操作條件。這意味著,例如,諸如中斷請(qǐng)求之類(lèi)的任務(wù)的確認(rèn)和執(zhí)行將在相對(duì)高性能的電源模式下執(zhí)行。這使用最近選擇的工作電壓和頻率。更合適的操作模式需要執(zhí)行額外的軟件,這增加了對(duì)能量和執(zhí)行時(shí)間的另一項(xiàng)要求,損失了能量和性能。
圖 1 還表明需要對(duì)現(xiàn)有文獻(xiàn)進(jìn)行深入學(xué)習(xí)。時(shí)鐘和電源門(mén)控的實(shí)現(xiàn)需要對(duì)眾多振蕩器和工作電壓及其控制、指令和電氣特性進(jìn)行全面規(guī)劃。此外,動(dòng)態(tài)運(yùn)行模式轉(zhuǎn)換條件很重要,并非所有能級(jí)都可以直接從實(shí)際運(yùn)行模式中獲得。
【圖2 | 通過(guò) TI SLAA657A。該圖表明從一種模式(LDO/DC-DC 和 LF128KHz)更改為另一種模式需要零個(gè)、一個(gè)或兩個(gè)中間步驟。其他條件,例如延遲,沒(méi)有提到,但在系統(tǒng)規(guī)劃中是必不可少的。在上圖中,僅顯示了活動(dòng)模式轉(zhuǎn)換。不包括操作/低功耗模式之間的轉(zhuǎn)換。
電氣特性代表靜態(tài)條件;它們僅代表已確定的條件。數(shù)據(jù)表中沒(méi)有提到瞬態(tài)和啟動(dòng)損耗。最好的情況是,您會(huì)在應(yīng)用說(shuō)明中找到建議。
對(duì)于 STM32L476 (EEMark=153),您可以根據(jù)數(shù)據(jù)表計(jì)算出在 1700 uA@2 us/3 V 時(shí)的喚醒能量約為 0.1 uJ。ULPBench-CP 軟件和硬件測(cè)量的能量消耗為 6.66 uJ。在一秒鐘內(nèi),您可以忽略喚醒能量。但如果工作負(fù)載分布在 100 個(gè)周期內(nèi),“喚醒”能量 (10,2uJ) 明顯大于“工作負(fù)載”能量 6.56 uJ。換句話(huà)說(shuō),當(dāng)您增加循環(huán)次數(shù)時(shí),切換操作模式的能量會(huì)成為一個(gè)重要因素。此外,節(jié)能模式和運(yùn)行模式之間的頻繁變化可能會(huì)導(dǎo)致不同的“最佳”低功耗模式,具體取決于實(shí)際喚醒周期。SiLabs 示例顯示了這一點(diǎn)。
【圖3 | 通過(guò) SiLabs,2013-11-25 - AN0027_Rev1.03;從 EM2 與 EM4 定期喚醒的功耗。該報(bào)告表明,能量模式 4 提供最低的電流消耗,沒(méi)有完全保持,因此要求設(shè)備在喚醒時(shí)經(jīng)歷一個(gè)復(fù)位周期。這個(gè)復(fù)位周期比從 EM2 或 EM3 喚醒需要更長(zhǎng)的時(shí)間。]
對(duì)于所有可用的組合,所有不同能量模式之間的轉(zhuǎn)換是不可能的。請(qǐng)參閱 NXP/Qualcomm 的 Kinetis-MCU 中的一個(gè)示例。
【圖4 | 通過(guò) NXP,AN4503:Kinetis MCU 的電源管理,第 2 版,04/2015。并非每種模式都可以從其他模式到達(dá)。]
正如您在圖 4 中看到的,HSRUN 模式只能從 RUN 模式進(jìn)入,通過(guò)軟件而不是通過(guò)硬件模式修改。此外,每個(gè)“低功耗”模式只能留給 RUN 模式。由于文檔中沒(méi)有提到任何例外,您可以假設(shè)每個(gè)事件或中斷都需要在 RUN 模式或“極低功耗 RUN”模式下執(zhí)行,或者需要必須通過(guò)軟件選擇的不同模式。這意味著您總是返回到“耗電”的 RUN/VLPR 模式。
這些模式之間的轉(zhuǎn)換具有從納秒到微秒的時(shí)間/時(shí)鐘條件。將這些轉(zhuǎn)換時(shí)間與 ULPBench 上的執(zhí)行時(shí)間進(jìn)行比較是很有趣的。ULPBench 上的執(zhí)行時(shí)間范圍為 0.4 到 2 毫秒。必要的時(shí)鐘周期在 10000 到 23000 的范圍內(nèi)。這清楚地證實(shí)了需要一種更智能的方法來(lái)重新配置 MCU 并使更改操作模式成為無(wú)縫且快速的解決方案。
我們今天在哪里?
我們介紹了一種比較 MCU/SoC 能耗的方法。EEMBC 組織已從第一步開(kāi)始:基準(zhǔn) ULPBench。對(duì)于能源敏感型產(chǎn)品,需要進(jìn)行更多調(diào)查來(lái)驗(yàn)證和選擇 MCU/SoC 系列。
用戶(hù)可以通過(guò)智能和密集的軟件代碼影響待機(jī)和活動(dòng)運(yùn)行模式下的能源需求,而不是通過(guò)半導(dǎo)體工藝選擇或芯片設(shè)計(jì)。與溫度相關(guān)的能耗的根源與用戶(hù)無(wú)關(guān)。最佳情況下,用戶(hù)可以與 MCU 供應(yīng)商一起使用先進(jìn)的方法來(lái)優(yōu)化動(dòng)態(tài)能耗,以管理全面的操作模式。圖 1 顯示了該行業(yè)向客戶(hù)提供了多少文件和冗長(zhǎng)的描述來(lái)解釋最佳的能源消耗。始終選擇最佳電源模式并使系統(tǒng)始終處于安全運(yùn)行條件下是一項(xiàng)挑戰(zhàn)。例如, 圖 2 和圖 4 中的信息顯示了改變操作模式的限制。未來(lái)的策略是縮短模式之間的切換周期,避免它們,或者使它們更容易。
Quo Vadis,我們要去哪里?
操作模式更改次數(shù)的增加是一項(xiàng)挑戰(zhàn)。我們已經(jīng)看到了大量信息,并且必須了解它們的組合才能實(shí)現(xiàn)低能耗系統(tǒng)。實(shí)現(xiàn)最佳解決方案是一項(xiàng)重大的努力。更智能的操作模式管理是一種解決方案。這些解決方案存在,但需要進(jìn)行調(diào)整。管理操作模式的清晰和簡(jiǎn)單的結(jié)構(gòu)將使硬件和軟件設(shè)計(jì)人員的生活更加輕松。維護(hù)、產(chǎn)品增強(qiáng)和向后兼容性是綜合操作模式的更多論據(jù)。
在這樣的安全運(yùn)行和安全模式環(huán)境下,安全運(yùn)行和安全模式對(duì)真正的最低能量模式提出了另一個(gè)巨大的挑戰(zhàn)和更強(qiáng)烈的需求。主要討論了基本的硬件和軟件解決方案——能源需求不是這些討論的重點(diǎn)。物聯(lián)網(wǎng)環(huán)境在許多方面都需要安全、可靠和能源優(yōu)化的嵌入式系統(tǒng)的結(jié)合。
作者:Horst Diewald,Uwe Mengelkamp
審核編輯:郭婷
評(píng)論
查看更多