STM32學(xué)習(xí)筆記 | 電源管理及低功耗設(shè)計(jì)要點(diǎn)
一款好的電子產(chǎn)品,都需要認(rèn)真考慮電源管理的問題,電池供電的產(chǎn)品更應(yīng)該注意低功耗的實(shí)現(xiàn)。
嵌入式專欄
1
STM32電源介紹 每一塊STM32芯片中都有一個(gè)電源控制器(PWR),不同系列的STM32有相似,也有差異。
1.電壓
絕大部分STM32的電壓要求介于 1.8 V 到 3.6 V 之間,嵌入式線性調(diào)壓器用于提供內(nèi)部 1.2 V 數(shù)字電源。
2.類型
數(shù)字電源:VDD也是其主電源,主要用于數(shù)字部分;
模擬電源:VDDA用于模擬部分的電源,比如ADC,這樣可以單獨(dú)濾波并屏蔽 PCB 上的噪聲。
備份電源:VBAT用于備份區(qū)域的電源,比如RTC、備份SRAM等,一旦主電源斷開,VBAT可以為這些區(qū)域提供電源。
▲ STM32F4備份域
3. 調(diào)壓器 多數(shù)STM32都有電源調(diào)節(jié)器(有些型號(hào)沒有),為備份域和待機(jī)電路以外的所有數(shù)字電路供電,調(diào)壓器輸出電壓約為 1.2 V。
運(yùn)行模式: 調(diào)壓器為 1.2 V 域(內(nèi)核、存儲(chǔ)器和數(shù)字外設(shè))提供全功率。 停止模式: 調(diào)壓器為 1.2 V 域提供低功率,保留寄存器和內(nèi)部 SRAM 中的內(nèi)容。 待機(jī)模式: 調(diào)壓器掉電。除待機(jī)電路和備份域外,寄存器和 SRAM 的內(nèi)容都將丟失。
嵌入式專欄
2
STM32的低功耗模式 STM32 的工作模式通??煞譃?/span> 4類 :運(yùn)行模式、睡眠模式、停止模式、待機(jī)模式。根據(jù) STM32 類型不同,可將工作模式進(jìn)一步劃分。比如 STM32L 低功耗系列,睡眠 模式可進(jìn)一步劃分為:普通睡眠模式和低功耗睡眠模式。
- 以ST M32F4為例:
-
運(yùn)行模式:默認(rèn)進(jìn)入該模式;
-
睡眠模式:內(nèi)核停止,外設(shè)保持運(yùn)行
-
停止模式:所有時(shí)鐘都停止
-
待機(jī)模式:1.2 V 域斷電
▲ STM32睡眠/停止/待機(jī)模式圖解
嵌入式專欄
3
STM32低功耗設(shè)計(jì)要點(diǎn)
STM32低功耗通常會(huì)結(jié)合項(xiàng)目實(shí)際情況,以及應(yīng)用場景來進(jìn)行針對(duì)性設(shè)計(jì)。以下面幾個(gè)案例來進(jìn)行說明。
案例一:有工程師提到:STM32F103 進(jìn)入STOP 模式后無法通過串口喚醒 ?
分析原因:這位工程師對(duì)低功耗喚醒機(jī)制理解有誤:STM32進(jìn)入 STOP 模式后不能直接通過 UART 等中斷外設(shè)喚醒, 只能通過 EXTI 外部中斷方式喚醒。
解決辦法: 我們可以在 MCU 進(jìn)入 STOP 前將 RX 腳設(shè)為 EXTI 模式,并使能對(duì)應(yīng)的中斷來實(shí)現(xiàn)。 案例二: 有工程師提到: STM32F051進(jìn)入低功耗之后,實(shí)際功耗遠(yuǎn)大于理想功耗。 分析原因:造成問題的原因可能是工程師通過直接調(diào)用“停止模式”,進(jìn)入低功耗,但部分IO外部有上拉電阻,進(jìn)入低功耗之前未做調(diào)整,導(dǎo)致功耗偏大。解決辦法: 進(jìn)入低功耗之前,對(duì)使用和未使用 IO 狀態(tài)進(jìn)行調(diào)整。比如有外部上拉,可配置成模擬輸入等。
案例三: 有工程師提到:通過按鍵喚醒 STM32F103 ,串口不能正常工作? 分析原因: 經(jīng)分析發(fā)現(xiàn),開發(fā)者進(jìn)入的低功耗模式為待機(jī)模式,喚醒之后,未初始化串口外設(shè),導(dǎo)致串口不能正常工作。在待機(jī)模式下,所有外設(shè)都關(guān)閉,意味著所有外設(shè)配置都為默認(rèn)值。 解決辦法: 喚醒 STM32 之后,重新初始化串口(以及所有使用的)外設(shè)。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場,如有問題,請(qǐng)聯(lián)系我們,謝謝!