當前位置: 華文世界 > 科學

stm32 PWR電源控制

2024-01-16科學

stm32 PWR電源控制

PWR簡介

PWR (Power Control) 是電源控制 的意思。

PWR負責管理STM32內部的電源供電部份,可以實作可編程電壓監測器 和低功耗模式 的功能。

可編程電壓監測器 (PVD) 可以監控VDD電源電壓 ,當VDD下降到PVD閥值以下或上升到PVD閥值之上時,PVD會觸發中斷,用於執行緊急關閉任務低。

功耗模式包括睡眠模式 (Sleep) 、停機模式 (Stop) 和待機模式 (Standby) ,可在系統空閑時,降低STM32的功耗,延長裝置使用時間。

硬體圖

PWR供電分為模擬部份供電、數位部份供電、和後備供電。

模擬供電提供給A/D轉換器、溫度傳感器、復位模組等,它們是透過VDDA正極和VSSA負極供電。A/D轉換器有些微控制器還有VREF+-兩個引腳供電。

第二部份中間部份供電供於待機電路、電壓調節,和內部cpu核心、記憶體等供電。內部cpu是透過電壓調節器將3.3v供電降壓到1.8v給cpu、記憶體、硬體外設供電,使用低電壓執行的目的是降低功耗。

第三部份是後備供電,主要給時鐘RCC、LES晶振、後備寄存器供電。後備供電如果VDD有電時由VDD供電,如果VDD沒電時由VBAT供電。

可編程電壓監測器

簡稱PVD。電壓在2.2V-2.9V(這個閥值可以設定),可以產生一個標誌位資訊,透過標誌位,可以知道電壓不足,可產生中斷等。

低功耗模式

從上到下越來越省電,越來越難喚醒。

睡眠模式: 呼叫WFI(wait for interrupt等待中斷)或WFE(wait for event等待事件)函式後進入。WFI的喚醒是觸發任一中斷喚醒。WFE的喚醒條件是任一事件(產生了中斷但是沒有配置中斷,不進入中斷函式)。睡眠模式相當於只關閉了cpu的時鐘 ,關閉了cpu的時鐘程式就不執行了,就暫停了,功耗就低了。

停機模式: 設定PDDS位為0,SLEEPDEEP深度睡眠模式位為1,然後呼叫WFI或WFE就可以進入停機深度睡眠模式。停機模式只有外部中斷才能喚醒。相當於關閉了所有cpu和外設的時鐘,但是沒有關閉cpu和外設的電源,程式停止了,但數據還在。LPDS位可以設定電源是否處於低功耗模式,使更省電。

待機模式: 設定PDDS為1,SLEEPDEEP為1,執行WFI或WFE進入待機模式和停機模式有一點點差別。中斷不能喚醒待機模式,只有WKUP引腳的上升沿、RTC鬧鐘事件、按復位鍵和獨立看門狗等才能喚醒。

低功耗模式標誌位