天天看點

STM32電源控制

電源控制

1、STM32電源

STM32的工作電壓為2.0-3.6V,VDD為主電源,主電源掉電後,可通過VBAT腳為實時時鐘(RTC)和備份寄存器提供電源。

1.1 獨立的A/D轉換器供電和參考電壓

VDDA:ADC的電源引腳;

VSSA:獨立電源地引腳;

1.2 電源備份區域

使用電池或其他電源連接配接到VBAT腳上,當VDD斷電時,可以儲存備份寄存器的内容和維持RTC的功能。

1.3 電壓調節器

複位後調節器總是使能的。根據應用方式它以3種不同的模式工作。

● 運轉模式:調節器以正常功耗模式提供1.8V電源(核心,記憶體和外設)。

● 停止模式:調節器以低功耗模式提供1.8V電源,以儲存寄存器和SRAM的内容。

● 待機模式:調節器停止供電。除了備用電路和備份域外,寄存器和SRAM的内容全部丢失。

2、電源管理器

2.1 上電複位和掉電複位

2.2 可程式設計電壓監測器

使用者可以利用PVD對VDD電壓與電源控制寄存器(PWR_CR)中的PLS[2:0]位進行比較來監控電源,這幾位選擇監控電壓的閥值。

通過設定PVDE位來使能PVD。

3、低功耗模式

STM32F10xxx有三中低功耗模式:

● 睡眠模式(Cortex™-M3核心停止,外設仍在運作)

● 停止模式(所有的時鐘都以停止)

● 待機模式(1.8V電源關閉)

此外,在運作模式下,可以通過以下方式中的一種降低功耗:

降低系統時鐘

關閉APB和AHB總線上未被使用的外設的時鐘。

3.1 降低系統時鐘

3.2 外部時鐘的控制

在運作模式下,任何時候都可以通過停止為外設和記憶體提供時鐘(HCLK和PCLKx)來減少功耗。

3.3 睡眠模式

進入睡眠模式

退出睡眠模式

3.4 停止模式

停止模式是在Cortex™-M3的深睡眠模式基礎上結合了外設的時鐘控制機制,在停止模式下電壓調節器可運作在正常或低功耗模式。此時在1.8V供電區域的的所有時鐘都被停止, PLL、 HSI和HSE RC振蕩器的功能被禁止, SRAM和寄存器内容被保留下來。

3.5 待機模式

待機模式可實作系統的最低功耗。該模式是在Cortex-M3深睡眠模式時關閉電壓調節器。整個1.8V供電區域被斷電。 PLL、 HSI和HSE振蕩器也被斷電。 SRAM和寄存器内容丢失。隻有備份的寄存器和待機電路維持供電。

調試模式

預設情況下,如果在進行調試微處理器時,使微處理器進入停止或待機模式,将失去調試連接配接。這是因為Cortex™-M3的核心失去了時鐘。然而,通過設定DBGMCU_CR寄存器中的某些配置位,可以在使用低功耗模式下調試軟體。更多的細節參考低功耗模式下的調試。

3.6 低功耗模式下的自動喚醒(AWU)

RTC可以在不需要依賴外部中斷的情況下喚醒低功耗模式下的微控制器(自動喚醒模式)。 RTC提供一個可程式設計的時間基數,用于周期性從停止或待機模式下喚醒。通過對備份區域控制寄存器(RCC_BDCR)的RTCSEL[1:0]位的程式設計,三個RTC時鐘源中的二個時鐘源可以選作實作此功能。

1、 正常運作模式:電壓調節器工作在正常狀态,Cortex-M3核心正常運作,Cortex-M3的内設(如NVIC)正常運作,STM32的PLL、HSE、HIS正常運作,這是功耗大的情況。

2、 睡眠模式:Cortex-M3核心執行進去睡眠模式指令,電壓調節器工作在正常狀态,Cortex-M3核心停止運作,但Cortex-M3内設仍然正常運作,STM32的PLL、HSE、HIS也正常運作,SRAM、寄存器的值仍然得以保留。功耗相對正常模式得到降低。

3、 深度睡眠模式(停止模式):在睡眠模式基礎上,将電壓調節器工作設定為低功耗狀态,則Cortex-M3核心停止運作,Cortex-M3内設也停止運作,STM32的PLL、HSE、HIS也被關斷。但是SRAM、寄存器的值仍然得以保留。功耗相對于睡眠模式得到進一步降低。

4、 待機模式:在深度睡眠模式的基礎上,将電壓調節器關閉,則Cortex-M3核心停止運作,Cortex-M3内設也停止運作,STM32的PLL、HSE、HSI關斷,SRAM、裝置寄存器的值丢失,PWR、BKP寄存器的值也丢失,隻有待機電路仍正常工作。這時STM32的功耗可以降低至理論上的最低值。

STM32低功耗模式的進入及退出方法

STM32從這三種低功耗模式恢複的運作情況

繼續閱讀