RM新时代网站-首页

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

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

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

探究STM32低功耗的幾種模式

FPGA那點(diǎn)事兒 ? 來(lái)源:CSDN ? 作者:zzw3255 ? 2021-07-26 17:49 ? 次閱讀

低功耗模式

本文討論下STM32低功耗模式,先看如下手冊(cè)。

對(duì)比了 STM32F0 和 STM32F1 兩者進(jìn)入低功耗是一樣的,低功耗模式有三種:

睡眠模式,CM3 內(nèi)核停止,外設(shè)仍然運(yùn)行,此功耗是最高的

停止模式,所有時(shí)鐘都停止,此功耗較低,典型大概在20uA左右

待機(jī)模式,1.8V 內(nèi)核電源關(guān)閉,此功耗最低,典型大概在2uA左右

一般做開(kāi)發(fā)大多都是選擇停機(jī)模式,因?yàn)橥C(jī)模式功耗較低,而且任一中斷或事件都能喚醒。待機(jī)模式雖然功耗最低,電流只差10個(gè)微安,但是只有特定的事件和引腳可以喚醒,實(shí)時(shí)性不是很好。

先來(lái)看下官方庫(kù)進(jìn)入低功耗的方式。

void PWR_EnterSleepMode(uint8_t PWR_SLEEPEntry); //睡眠模式 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry); //停機(jī)模式void PWR_EnterSTANDBYMode(void); //待機(jī)模式

這里我們用到停機(jī)模式,有兩個(gè)參數(shù) 。

第一個(gè)PWR_Regulator是選擇電源是否進(jìn)入低功耗。

#define PWR_Regulator_ON //電源不進(jìn)低功耗 喚醒基本沒(méi)延遲#define PWR_Regulator_LowPower //電源進(jìn)去低功耗 不過(guò)喚醒啟動(dòng)有一點(diǎn)延遲

第二個(gè)參數(shù)PWR_STOPEntry選擇喚醒的方式。

#define PWR_STOPEntry_WFI //中斷喚醒#define PWR_STOPEntry_WFE //事件喚醒

停機(jī)模式喚醒后自動(dòng)選擇系統(tǒng)內(nèi)部時(shí)鐘,看自己的應(yīng)用是否需要重新配置。如果你的系統(tǒng)時(shí)鐘是HSI或者HSE是要重新配置,一般都需要重新配置,直接調(diào)用系統(tǒng)時(shí)鐘配置函數(shù)。

另外停機(jī)模式喚醒后,flash程序是從中斷或事件開(kāi)始執(zhí)行的。

如何做到停機(jī)模式更低功耗

代碼

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); //使能時(shí)鐘 PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);

上面代碼第一個(gè)參數(shù)PWR_Regulator_LowPower是配置電源低功耗模式。第二個(gè)參數(shù)PWR_STOPEntry_WFI用來(lái)確定是中斷喚醒還是事件喚醒,或者兩者都要。

第二步你要把所有引腳IO口釋放,全部配置成模擬輸入狀態(tài),此時(shí)IO口幾乎0消耗,具體見(jiàn)手冊(cè)說(shuō)明。

3ede9038-e0bf-11eb-9e57-12bb97331649.png

我們只要在進(jìn)入低功耗之前把IO口配置一下就行了(根據(jù)自己應(yīng)用需要配置IO),但是喚醒之后就要重新配置IO口了。

注意,在配置IO模擬輸入之前,一定不要鎖定IO口。我之前就踩了這個(gè)坑,在配置成模擬輸入之前我們串口兩個(gè)引腳鎖定了導(dǎo)致我的功耗一直在90uA左右下不去。

正確配置的功耗在10uA左右,這功耗已經(jīng)相當(dāng)?shù)土?,用四?jié)5號(hào)電池夠你用至少1年了。

編輯:jq

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

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355729

原文標(biāo)題:STM32低功耗模式

文章出處:【微信號(hào):gh_94c30763133f,微信公眾號(hào):FPGA那點(diǎn)事兒】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何實(shí)現(xiàn)EEPROM的低功耗模式

    內(nèi)容進(jìn)行擦除和重寫(xiě)。在許多應(yīng)用中,尤其是在電池供電的設(shè)備中,低功耗模式對(duì)于延長(zhǎng)設(shè)備的使用壽命至關(guān)重要。以下是實(shí)現(xiàn)EEPROM低功耗模式的一些方法: 1. 選擇合適的EEPROM類(lèi)型 選
    的頭像 發(fā)表于 12-16 16:54 ?272次閱讀

    stm32低功耗設(shè)計(jì)技巧

    STM32低功耗設(shè)計(jì)是一個(gè)綜合性的工作,需要在硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)層面進(jìn)行綜合考慮和優(yōu)化。以下是一些關(guān)鍵的STM32低功耗設(shè)計(jì)技巧: 一、硬件設(shè)計(jì)層面 選擇
    的頭像 發(fā)表于 11-19 15:52 ?387次閱讀

    SD NAND SPI模式:如何實(shí)現(xiàn)低功耗運(yùn)行

    最近,收到客戶(hù)反饋,使用我們SD NAND過(guò)程中,使用SPI模式,對(duì)SD完成操作后,SD沒(méi)有進(jìn)入低功耗模式,未對(duì)SD進(jìn)行任何操作的情況下測(cè)得的功耗仍在20mA左右。經(jīng)過(guò)我們分析,發(fā)現(xiàn)S
    的頭像 發(fā)表于 09-02 11:06 ?446次閱讀
    SD NAND SPI<b class='flag-5'>模式</b>:如何實(shí)現(xiàn)<b class='flag-5'>低功耗</b>運(yùn)行

    STM32L151低功耗運(yùn)行模式CPU是否正在運(yùn)行?

    在使得CPU處于LPRUN Mode時(shí),翻轉(zhuǎn)LED,LED不能正常翻轉(zhuǎn),因此請(qǐng)教一下網(wǎng)友們,STM32L151低功耗運(yùn)行模式CPU是否正在運(yùn)行
    發(fā)表于 07-05 06:17

    STM32低功耗控制一般都是采用哪種模式?

    STM32中,低功耗控制有三種,休眠模式,停機(jī)模式,待機(jī)模式,想知道大家都常用哪個(gè)模式?都能控
    發(fā)表于 04-30 08:03

    STM32L4低功耗休眠模式下為什么無(wú)法使用SWD接口?

    ,是完全可以正常工作的。但是淘寶上賣(mài)的18元的或者120元的st-link,都不行,具體我用示波器監(jiān)視NRST端口,都沒(méi)有發(fā)現(xiàn)有拉低的過(guò)程。 難道淘寶上沒(méi)有一款st-link支持stm32單片機(jī)低功耗模式下的燒
    發(fā)表于 04-24 07:42

    STM8l151低功耗模式喚醒方式如何選擇?

    使用STM8L151G4U6系列,需要用GPIO中斷/RTC時(shí)鐘/串口中斷喚醒,期望功耗在uA級(jí)別,請(qǐng)做過(guò)低功耗的人看看可以采用哪種低功耗模式? 可用的
    發(fā)表于 04-22 06:01

    RADIO與RFWAKEUP具體功能是什么樣的,如何把系統(tǒng)從低功耗模式喚醒的?

    請(qǐng)教下大家RADIO與RFWAKEUP具體功能是什么樣的,如何把系統(tǒng)從低功耗模式喚醒的,手冊(cè)中關(guān)于射頻與無(wú)線部分介紹的功能是真的少,無(wú)線部分不是STM32WB系列的重要功能之一么,感覺(jué)像藏著掖著一樣
    發(fā)表于 04-19 08:03

    STM32F407 STOP模式低功耗的電流偏大怎么解決?

    大家好!最近有個(gè)項(xiàng)目用 STM32F407VGT6(100pin , 內(nèi)1MBFLASH)低功耗的電流偏大 , 程序 測(cè)試說(shuō)明如下: 1. STM32F407VGT6 只接了8M的高頻晶振和32K
    發(fā)表于 04-15 07:00

    stm32g070怎么調(diào)試才能降低功耗?

    stm32g070,單芯片的最小系統(tǒng)板使用官方例程進(jìn)入standy 模式后電量70ua左右,和手冊(cè)的1,2個(gè)ua不符,已經(jīng)確定是芯片的功耗的,不知道該怎么調(diào)試才能降低功耗
    發(fā)表于 03-28 06:46

    無(wú)法從低功耗模式中正確喚醒STM32L552怎么辦?

    STM32L552無(wú)法從低功耗模式中正確喚醒
    發(fā)表于 03-20 08:07

    stm32G070串口設(shè)置外部中斷觸發(fā)退出低功耗后重新變?yōu)榇?,串口發(fā)送后退出低功耗為什么會(huì)卡死?

    stm32G070低功耗STOP模式外部中斷喚醒,串口設(shè)置外部中斷觸發(fā)退出低功耗后重新變?yōu)榇?,串口發(fā)送后 退出低功耗不知道為什么會(huì)卡死
    發(fā)表于 03-20 07:24

    ESP32-S3模組是怎么配置低功耗模式的?低功耗模式功耗大概是多少?

    經(jīng)常有人問(wèn)S3模組是怎么配置低功耗模式的?低功耗模式功耗大概是多少?下面小啟就跟大家講下S3模組低功耗
    的頭像 發(fā)表于 01-26 08:03 ?4318次閱讀
    ESP32-S3模組是怎么配置<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>的?<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>下<b class='flag-5'>功耗</b>大概是多少?

    stm32f030K4t6 低功耗設(shè)置

    低功耗設(shè)置。 首先,我們需要了解STM32F030K4T6微控制器的低功耗模式。該微控制器具有多種低功耗
    的頭像 發(fā)表于 01-04 10:41 ?1204次閱讀

    SEGGER調(diào)試低功耗模式

    低功耗模式是現(xiàn)代嵌入式系統(tǒng)設(shè)計(jì)中一個(gè)非常重要的考慮因素。為了延長(zhǎng)電池續(xù)航時(shí)間、降低能耗以及滿(mǎn)足可持續(xù)發(fā)展的需求,嵌入式系統(tǒng)需要能夠有效地進(jìn)入低功耗模式,并在需要時(shí)快速喚醒。正因如此,S
    的頭像 發(fā)表于 01-02 16:36 ?613次閱讀
    RM新时代网站-首页