0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于MCU低功耗設(shè)計理論分析解讀

貿(mào)澤電子 ? 來源:djl ? 作者:貿(mào)澤電子 ? 2019-06-28 00:32 ? 次閱讀

一.MCU耗能因素

現(xiàn)代的MCU一般使用CMOS技術(shù),耗能包括2方面:
靜態(tài)消耗 主要是晶體管消耗能量;
動態(tài)消耗 公式=C×V2×f,其中C是CMOS的負(fù)載電容,V是供電電壓,f是時鐘頻率;
總電能消耗是靜態(tài)消耗和動態(tài)消耗之和,即:IDD=f×IDynamicRun[uA/MHz]+IStatic[uA].
因此,電能消耗依賴于:
MCU芯片尺寸或者說晶體管的數(shù)目;
MCU供電電壓降低電壓可以成平方級別地降低電能消耗;
時鐘頻率可以把時鐘頻率降低到剛好滿足應(yīng)用需要;
外設(shè)數(shù)目使能的外設(shè)越多,耗能越大;
運行模式合理選擇工作模式可以大幅節(jié)能,如,全速工作極短時間后進(jìn)入睡眠模式。

二.節(jié)能方法

1. 關(guān)閉不需要使用的外設(shè);
2. 所有未使用的引腳必須連接到一個確定的邏輯電平;
3. 當(dāng)有外設(shè)必須保持激活時,使用Wait模式來獲得低功耗;
4. 使用合適的VDD值;
5. 盡可能地使用低功耗運行模式;
6. 如果不能使用低功耗模式,那就將主頻降低到滿足應(yīng)用的最小值;
7. 如果可能,使用動態(tài)控制I/O引腳的上拉功能。

三.低功耗模式

支持低功耗的MCU一般都有好幾種運行模式,以ST公司STM8L為例,它支持5種低功耗模式:等待、低功耗運行、低功耗等待、主動停止和停止。每一種模式的進(jìn)入方式,節(jié)能級別和外設(shè)工作要求,總結(jié)表1:

表1 STM8L低功耗運行模式

關(guān)于MCU低功耗設(shè)計理論分析解讀

上述低功耗運行模式對于開發(fā)者來說有點多,尤其剛接觸STM8L處理器。我們需要一般性的指導(dǎo)原則,表2是來源于實踐的經(jīng)驗。

表2 選擇合理的STM8L節(jié)能模式

關(guān)于MCU低功耗設(shè)計理論分析解讀

四.鮮為人知的技巧

1. 使用Wait替換查詢方式達(dá)到節(jié)能目的
常見的查詢方式如下,此時CPU無事可干,白白消耗電能。
ADC_CR1 = ADC_START; /* start conversion */
while (!(ADC_SR & ADC_SR_EOC)) ; /* wait for EOC bit set */
可以使用等待事件的方式來節(jié)省電能。
先配置ADC為事件源,并使能相應(yīng)的中斷:
WFE_CR2 = ADC_COMP_EV; /* enable ADC as a source of event */
ADC_CR1 = ADC_EOCIE; /* enable interrupt for end of conversion */
當(dāng)ADC轉(zhuǎn)換完成后,喚醒處于等待的CPU:
ADC_CR1 = ADC_START; /* start conversion */
_asm(“wfe”); /* enter wait mode until waked by ADC_EOCIE*/

2. 無須上下文切換的中斷模式
應(yīng)用程序設(shè)計時,如果所有中斷事件由ISR完成,可以通過將CFG_GCR寄存器中AL位置1來節(jié)省電能:避免保存/恢復(fù)context、無須主程序運行(返回到WFI模式),如下圖1所示。

關(guān)于MCU低功耗設(shè)計理論分析解讀

圖1 WFI模式下中斷無須上下文切換

將AL位置1節(jié)省電能的方法同樣可以用于HALT模式,原理如下圖2所示。

關(guān)于MCU低功耗設(shè)計理論分析解讀

圖2 HALT模式下中斷無須上下文切換

3. 動態(tài)設(shè)置I/O口的上拉功能
很多應(yīng)用需要按鍵作為人機(jī)接口,按鍵一般連接到I/O上。當(dāng)按鍵沒有動作時I/O口設(shè)置內(nèi)部上拉而獲得確定的邏輯電平;一旦按鍵按下,I/O口對地導(dǎo)通將產(chǎn)生額外的40~70uA電流,這對于電池供電的低功耗來說是十分重要的。

可以動態(tài)地控制I/O口的上拉達(dá)到節(jié)能的目的:一旦按鍵按下,中斷服務(wù)程序?qū)⒔乖揑/O口的上拉功能;然后軟件定時執(zhí)行—先使能上拉功能,再檢測I/O口狀態(tài),如果按鍵仍按下再次禁止上拉功能,否則使能I/O口的上拉功能。整個邏輯如下圖3所示:

關(guān)于MCU低功耗設(shè)計理論分析解讀

圖3 動態(tài)設(shè)置I/O口的上拉而節(jié)能

4. CPU空閑節(jié)能策略
CPU的空閑節(jié)能如下圖4所示,它的邏輯包括以下幾個步驟:
(1)發(fā)現(xiàn)CPU空閑:帶OS系統(tǒng),表現(xiàn)為任務(wù)沒有事件需要響應(yīng),或者進(jìn)入idle進(jìn)程;無OS系統(tǒng),表現(xiàn)為程序運行結(jié)束。
(2) 選擇一種合適的CPU節(jié)能模式:chip_EnterLowPower()完成進(jìn)入節(jié)能前的準(zhǔn)備工作,包括:關(guān)閉外設(shè),切換I/O引腳到節(jié)能狀態(tài)。
(3) 退出節(jié)能模式需要調(diào)用chip_ExitLowPower(),可能發(fā)生在以下2種情形:
a. 需要使用被關(guān)閉外設(shè)的ISR:
b. 由process直接退出;
chip_ExitLowPower()的善后工作包括:使能外設(shè),切換I/O引腳到工作狀態(tài)。同時為避免ISR和process兩次操作chip_ExitLowPower(),該
函數(shù)設(shè)置了狀態(tài)變量避免重復(fù)退出。

關(guān)于MCU低功耗設(shè)計理論分析解讀

圖4 CPU空閑節(jié)能策略

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 低功耗
    +關(guān)注

    關(guān)注

    10

    文章

    2330

    瀏覽量

    103458
  • 電能
    +關(guān)注

    關(guān)注

    1

    文章

    640

    瀏覽量

    36524
收藏 人收藏

    評論

    相關(guān)推薦

    PID設(shè)計理論

    按照傳統(tǒng)PID設(shè)計理論,首先設(shè)開環(huán)系數(shù)為K=200,目的是提高系統(tǒng)低頻增益,減小穩(wěn)態(tài)誤差。但是K值過大會降低系統(tǒng)穩(wěn)定性,所以在低頻段處加一零點,與積分環(huán)節(jié)構(gòu)成滯后校正。該滯后環(huán)節(jié)的作用主要有兩條
    發(fā)表于 06-15 15:53

    32位低功耗MCU設(shè)計

    32位低功耗MCU設(shè)計前言傳統(tǒng)的低功耗 MCU 設(shè)計都是以8位MCU為主,因為8 位內(nèi)核閾門相對較少,運行或泄露電流低,售價也相對低廉。但是
    發(fā)表于 10-08 15:38

    MCU輕松低功耗的五大方法分析

    ,但只要涉及低功耗的問題就比較棘手了,比如某些可以低到微安級的MCU,而自己設(shè)計的低功耗怎么測都是毫安級的,電流竟然能夠高出標(biāo)準(zhǔn)幾百到上千倍,遇到這種情況千萬不要怕,只要認(rèn)真你就贏了。下邊咱們仔細(xì)
    發(fā)表于 07-12 06:34

    低功耗MCU如何降低功耗

    低功耗MCU的一項非常重要的指標(biāo),比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經(jīng)常出現(xiàn)電量不足的情況。 平時我們在做產(chǎn)品的時候,基本的功能實現(xiàn)很簡單,但只要涉及到關(guān)于
    發(fā)表于 11-12 13:57

    MCU如何降低功耗?

    關(guān)于低功耗的問題就比較棘手了,比如某些可以低到微安級的MCU微控制器,而自己設(shè)計的低功耗怎么測都是毫安級的,電流竟然能夠高出標(biāo)準(zhǔn)幾百到上千倍,遇到這種情況干萬不要怕,只要認(rèn)真你就贏了。
    發(fā)表于 12-30 06:55

    低功耗MCU

    低功耗MCU的一項非常重要的指標(biāo),比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經(jīng)常出現(xiàn)電量不足的情況。平時我們在做產(chǎn)品的時候,基本的功能實現(xiàn)很簡單,但只要涉及到關(guān)于
    發(fā)表于 10-29 06:17

    怎樣去設(shè)計MCU低功耗

    ,但只要涉及低功耗的問題就比較棘手了,比如某些可以低到微安級的MCU,而自己設(shè)計的低功耗怎么測都是毫安級的,電流竟然能夠高出標(biāo)準(zhǔn)幾百到上千倍,遇到這種情況千萬不要怕,只要認(rèn)真你就贏了。下邊咱們仔細(xì)
    發(fā)表于 11-10 07:16

    高質(zhì)量PCB設(shè)計理論

    高質(zhì)量PCB設(shè)計理論 本文為關(guān)于PCB圖布線的部分經(jīng)驗總結(jié),文中內(nèi)容主要適用于高精度模擬系統(tǒng)或低頻(
    發(fā)表于 04-15 00:15 ?964次閱讀

    滿意PID控制設(shè)計理論與方法

    滿意PID控制設(shè)計理論與方法-2007-1-科學(xué)出版社-馬建偉。
    發(fā)表于 04-01 15:13 ?0次下載

    MCU設(shè)計低功耗時需要注意的五點

    平常我們在使用MCU低功耗時經(jīng)常會出現(xiàn)實際功耗理論功耗偏差較大,如在某些低到微安級的功耗模式,而我們設(shè)計的
    發(fā)表于 09-01 15:51 ?1115次閱讀

    關(guān)于MCU低功耗問題

    隨著便攜式移動設(shè)備,各種穿戴設(shè)備的興起,我們不得不關(guān)注設(shè)備的功耗問題,因為這些設(shè)備都具有一個特征:使用電池系統(tǒng)供電,一塊線路板上跟功耗相關(guān)的單元電路可能有很多,今天我們來談?wù)?b class='flag-5'>關(guān)于MCU
    的頭像 發(fā)表于 08-13 15:22 ?3672次閱讀

    低功耗MCU如何降低功耗

    低功耗MCU的一項非常重要的指標(biāo),比如某些可穿戴的設(shè)備,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經(jīng)常出現(xiàn)電量不足的情況。平時我們在做產(chǎn)品的時候,基本的功能實現(xiàn)很簡單,但只要涉及到關(guān)于
    發(fā)表于 10-25 10:06 ?10次下載
    超<b class='flag-5'>低功耗</b><b class='flag-5'>MCU</b>如何降<b class='flag-5'>低功耗</b>

    MCU低功耗設(shè)計(三)產(chǎn)品

    引言:能耗對電池供電的產(chǎn)品來說是一個重大問題,一旦電能耗盡設(shè)備將“罷工”。在《MCU低功耗設(shè)計(一)理論》中,我們介紹了節(jié)能的原理;在《MCU低功耗
    發(fā)表于 10-28 14:06 ?16次下載
    <b class='flag-5'>MCU</b><b class='flag-5'>低功耗</b>設(shè)計(三)產(chǎn)品

    低功耗MCU選型

    摘要有時為了一款低功耗產(chǎn)品而絞盡腦汁,產(chǎn)品的低功耗實現(xiàn)往往在于主控MCU的選擇。低功耗MCU選型要點 powerDown時有極低的電流
    發(fā)表于 11-01 16:25 ?18次下載
    <b class='flag-5'>低功耗</b><b class='flag-5'>MCU</b>選型

    保證MCU低功耗,這五點很重要

    平常我們在使用MCU低功耗時經(jīng)常會出現(xiàn)實際功耗理論功耗偏差較大,如在某些低到微安級的功耗模式,而我們設(shè)計的
    發(fā)表于 02-09 11:14 ?1次下載
    保證<b class='flag-5'>MCU</b><b class='flag-5'>低功耗</b>,這五點很重要