• 正文
    • 1、STM32的低功耗
    • 2、低功耗模式
    • 3、睡眠模式
    • 4、停止模式
    • 5、待機(jī)模式
    • 6、程序?qū)崿F(xiàn)
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

STM32的三種低功耗模式,你都認(rèn)識(shí)嗎?

01/19 08:25
6163
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1、STM32的低功耗

眾所周知,功耗一直是嵌入式開發(fā)中的重要考慮因素,在便攜式設(shè)備和小型設(shè)備中需要考慮到設(shè)備的功耗,這就要求低功耗設(shè)備在執(zhí)行任務(wù)時(shí)盡可能減少能源消耗,以延長電池壽命或降低能源消耗。

在STM32的眾系列中,特別是STM32F103、STM32F4 , STM32L還有STM32U系列,提供了多種低功耗模式和機(jī)制,可以降低系統(tǒng)功耗,延長電池壽命或減少能源消耗。包括多個(gè)低功耗模式、時(shí)鐘管理、外設(shè)控制等。

本期我們將以STM32F103為例介紹STM32的低功耗模式。

硬件設(shè)備:STM32F103C8T6最小系統(tǒng)板

2、低功耗模式

STM32F1的芯片手冊(cè)中提到STM32的低功耗總共有三種模式:休眠模式,停止模式,待機(jī)模式。并且還可以通過降低系統(tǒng)時(shí)鐘的方式來降低功耗。接下來我們?cè)敿?xì)介紹這三種模式的區(qū)別。

從表中我們可以看出三種低功耗模式的進(jìn)入條件以及喚醒條件,其中低功耗程度從Sleep休眠模式到Standby待機(jī)模式遞增。

在待機(jī)模式中,需要通過Wake Up引腳的上升沿來喚醒系統(tǒng)(或者RTC報(bào)警,RST復(fù)位以及看門狗

3、睡眠模式

當(dāng)我們配執(zhí)行了WFI或WFE模式(等待中斷或等待事件)來進(jìn)入睡眠模式。通過配置SLEEPONEXIT位來選擇是否立刻進(jìn)入睡眠模式。

當(dāng)清除該位時(shí),系統(tǒng)就會(huì)立刻進(jìn)入低功耗模式。當(dāng)該位置1時(shí),就會(huì)等待中斷或者事件之后進(jìn)入低功耗模式。

WFI(中斷)和WFE(事件)模式退出睡眠模式的情況并不相同,如果我們是從WFI進(jìn)入的睡眠模式,那么當(dāng)中斷事件發(fā)生時(shí),就會(huì)退出低功耗模式,例如外部中斷,定時(shí)器中斷等。

如果從WFE模式進(jìn)入的睡眠模式,那么也提供了兩種喚醒方式。

4、停止模式

停止模式可以認(rèn)為是深度睡眠,在停止模式中,將會(huì)關(guān)閉掛載在1.8V工作域中的時(shí)鐘,還有像HSI和HSE等時(shí)鐘也會(huì)被關(guān)閉,SRAM和寄存器中的值將會(huì)保存下來,IO口的狀態(tài)會(huì)保持在之前的運(yùn)行模式的狀態(tài)。

該表提供了如何進(jìn)入停止模式以及如何退出停止模式。稍后會(huì)在程序中使用。

5、待機(jī)模式

待機(jī)模式是功耗最低的模式,不僅僅關(guān)閉了各個(gè)時(shí)鐘,還關(guān)閉了包括1.8V工作域內(nèi)的外設(shè)與時(shí)鐘。SRAM和各寄存器內(nèi)的值也會(huì)丟失。

該表提供了如何進(jìn)入待機(jī)模式以及退出待機(jī)模式,退出待機(jī)模式的事件是:WKUP引腳接收到上升沿,RTC時(shí)鐘報(bào)警以及RST引腳觸發(fā)復(fù)位和看門狗復(fù)位。

需要注意的是喚醒之后系統(tǒng)處于復(fù)位狀態(tài)。

6、程序?qū)崿F(xiàn)

首先創(chuàng)建一份STM32的基礎(chǔ)工程,接著在HAL庫中我們可以使用如下代碼進(jìn)入低功耗模式:

 ? ?// 1. 等待 3 秒后進(jìn)入睡眠模式 ? ?HAL_Delay(3000); ?// 延時(shí) 3 秒 ? ?HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_SLEEPENTRY_WFI); ?// 進(jìn)入睡眠模式 ? ?// 在這里,MCU進(jìn)入睡眠模式后,將等待中斷喚醒
 ? ?// 2. 等待 3 秒后進(jìn)入停止模式 ? ?HAL_Delay(3000); ?// 延時(shí) 3 秒 ? ?HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI); ?// 進(jìn)入停止模式 ? ?// 在這里,MCU進(jìn)入停止模式后,也會(huì)等待中斷喚醒
 ? ?// 3. 等待 3 秒后進(jìn)入待機(jī)模式 ? ?HAL_Delay(3000); ?// 延時(shí) 3 秒 ? ?HAL_PWR_EnterSTANDBYMode(); ?// 進(jìn)入待機(jī)模式 ? ?// 在待機(jī)模式下,MCU會(huì)停止所有時(shí)鐘,直到外部喚醒事件發(fā)生

由于設(shè)備欠缺,無法測試具體他們的功耗如何,因此本期就先到這里。

意法半導(dǎo)體

意法半導(dǎo)體

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車用集成電路領(lǐng)域居世界前列.

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷售收入在半導(dǎo)體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車用集成電路領(lǐng)域居世界前列.收起

查看更多

相關(guān)推薦