0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

探究STM32低功耗的幾種模式

FPGA那點事兒 ? 來源:CSDN ? 作者:zzw3255 ? 2021-07-26 17:49 ? 次閱讀

低功耗模式

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

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

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

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

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

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

先來看下官方庫進入低功耗的方式。

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

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

第一個PWR_Regulator是選擇電源是否進入低功耗。

#define PWR_Regulator_ON //電源不進低功耗 喚醒基本沒延遲#define PWR_Regulator_LowPower //電源進去低功耗 不過喚醒啟動有一點延遲

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

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

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

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

如何做到停機模式更低功耗

代碼

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

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

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

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

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

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

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

編輯:jq

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

    關注

    2288

    文章

    10988

    瀏覽量

    361707

原文標題:STM32低功耗模式

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

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    AG32 MCU 如何進入低功耗模式

    instruction cache 默認情況下,微控制器(MCU)在系統(tǒng)復位或電源復位后處于運行模式。當CPU不需要持續(xù)運行時,可以使用幾種低功耗模式來節(jié)省
    發(fā)表于 04-21 11:29

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

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

    TUSB8041或者TUSB8041A有休眠低功耗模式嗎?

    TUSB8041或者TUSB8041A有休眠低功耗模式嗎?應用在機器人系統(tǒng)里面,需要考慮功耗問題,所以這里想將這個HUB進入低功耗模式。芯
    發(fā)表于 12-11 06:31

    Air201定位模組LuatOS輕松搞定超低功耗模式!

    今天我們要學習的是定位模組Air201的超低功耗模式下,定時三分鐘上傳以及G-senser拓展示例;更多低功耗模式的玩法,等你來探索。接下來,我們講解相關示例的具體使用。
    的頭像 發(fā)表于 12-01 15:38 ?465次閱讀
    Air201定位模組LuatOS輕松搞定超<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>!

    stm32低功耗設計技巧

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

    APM32F10xx進入低功耗模式的問題分析

    近日,在學習APM32開發(fā)板關于PMU模塊的內(nèi)容,看到很多內(nèi)容都是調(diào)用WFI內(nèi)核指令進入低功耗模式,于是自己想嘗試調(diào)用WFE內(nèi)核指令進入低功耗模式,但在APM32F10xx中,我運用按
    的頭像 發(fā)表于 10-18 16:13 ?670次閱讀
    APM32F10xx進入<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>的問題分析

    TLV320AIC3254有低功耗模式嗎?

    請問這個芯片有低功耗模式嗎?運行時電流達到30mA(3V電流),接近100mW了,我們想控制在運行時電流10mA以下,請問這個芯片有沒有寄存器配置的低功耗模式呢,在不影響正常功能使
    發(fā)表于 10-17 07:47

    配置直接測試模式低功耗藍牙器件應用說明

    電子發(fā)燒友網(wǎng)站提供《配置直接測試模式低功耗藍牙器件應用說明.pdf》資料免費下載
    發(fā)表于 09-13 11:06 ?0次下載
    配置直接測試<b class='flag-5'>模式</b>的<b class='flag-5'>低功耗</b>藍牙器件應用說明

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

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

    GD32F303無法進入低功耗模式的原因?怎么解決?

    希望在原有代碼的基礎上加入PM組件實現(xiàn)低功耗,目前是直接進入待機模式就可以 但是在測試的時候發(fā)現(xiàn),無法進入低功耗模式,現(xiàn)象如下: void enter_standby_mode(vo
    發(fā)表于 07-09 06:29

    STM32L0使用stop模式下,9600波特率,低功耗串口接收數(shù)據(jù),發(fā)現(xiàn)偶爾丟失第一個字節(jié),什么原因?

    請給一個STM32L0系列的低功耗串口的在stop模式下工作的例程。 我們在使用stop模式下,9600波特率,低功耗串口接收數(shù)據(jù),發(fā)現(xiàn)偶爾
    發(fā)表于 07-05 07:54

    STM32L151低功耗運行模式CPU是否正在運行?

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

    stm32在進入最低功耗的待機模式下是否可以保持io的狀態(tài)?

    請教各大佬,ST的各系列在進入最低功耗的待機模式下是否可以保持io的狀態(tài)? 如果不行需要配置什么模式使得電流最低達到uA級別的,且io的狀態(tài)可以保持,
    發(fā)表于 07-04 06:58

    如何測試低功耗設備的平均電流

    低功耗設備休眠電流只有納安和微安級,工作時電流可達到毫安和安培級別,并且電流會在瞬間變化,怎么測試和評估這種設備的平均功耗,本文分享幾種方案。
    的頭像 發(fā)表于 06-04 10:30 ?2914次閱讀
    如何測試<b class='flag-5'>低功耗</b>設備的平均電流

    如何配置和使用Lierda NB861 MB261 MB961模組的低功耗模式?

    如何配置和使用Lierda NB861 MB261 MB961模組的低功耗模式,并如何通過相關低功耗配置AT指令操作流程來指導用戶完成低功耗應用的開發(fā)呢?
    發(fā)表于 06-04 06:46

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品