今天回答一位讀者問的關于STM32低功耗問題。
1寫在前面
有低功耗產品設計經驗的朋友都應該知道,一個產品的功耗不光是硬件功耗的事,其實軟件也是影響整個產品功耗的一個關鍵因素。
我之前也開發過幾款使用電池供電的產品,調試起來,那叫一個痛苦,軟件和硬件各種因素都要考慮。
當你確信軟件沒問題了,可能硬件某個地方又存在漏電流,這其中的“痛苦”我也不再這里描述了。
下面給出STM32低功耗時,其引腳的相關配置。
2
實現功耗優化的GPIO軟件指南
1.將未使用的GPIO輸入配置為模擬輸入
GPIO始終有一個輸入通道,可以是數字或模擬通道。
如果不需要讀取GPIO數據,則優先配置為模擬輸入。這節省了輸入施密特觸發器的消耗。
在STM32CubeMX配置中都有這么一個選項:將不用引腳配置為模擬狀態。

2.調節GPIO速度
上升時間,下降時間和最大頻率可使用GPIOx_OSPEEDR配置寄存器進行配置。
這種調整對EMI(電磁干擾)和SSO(同時開關輸出)有影響,因為開關電流峰值較高。因此必須平衡GPIO性能與噪聲。
每個GPIO信號的上升時間和下降時間必須適應與相關信號頻率和電路板容性負載兼容的最小值。
3.不使用時禁用GPIO寄存器時鐘
如果某個GPIO組不需要長時間使用,請使用HAL_RCC_GPIOx_CLK_DISABLE()函數禁用其時鐘。
4.進入低功耗模式時配置GPIO
進入低功耗模式時,所有引腳信號必須連接到VDD或接地。
如果GPIO連接到外部接收器(外部元件輸入),則必須使用PP或PU/PD強制GPIO信號值。
當GPIO連接到驅動器(外部元件輸出或總線)時,驅動器必須提供有效電平( VDD或接地)。如果未定義驅動器電平,則必須使用PU/PD強制GPIO上的信號。
出于實際原因,當GPIO是運行模式下的輸入(模擬或數字)時,在低功耗模式下使用輸入PU/PD可能更容易;當GPIO是運行模式下的輸出時,則使用輸出PP。這可以避免在進入或退出停止模式時管理更改。
5.退出關機模式
退出關機模式時, GPIO會在上電復位時重新配置為默認值。
在將它們重新編程為正確值之前,這會需要額外的系統消耗。
如果這是應用程序的問題,則必須使用待機模式替代關機模式。
(僅限STM32L4系列和STM32L4+系列)
(以上內容來自應用筆記:AN4899)
-
STM32
+關注
關注
2309文章
11162瀏覽量
373404 -
引腳
+關注
關注
16文章
2111瀏覽量
55681 -
GPIO
+關注
關注
16文章
1328瀏覽量
56218 -
VDD
+關注
關注
1文章
318瀏覽量
37182
發布評論請先 登錄
STM32L072xx:超低功耗32位MCU的卓越之選
STM32L072xx:超低功耗32位MCU的設計指南與應用潛力
STM32L062x8:超低功耗32位MCU的卓越之選
STM32L072xx系列微控制器:低功耗設計的優選之選
9FGV0441:PCIe Gen 1 - 4 應用的低功耗時鐘發生器
CDCE6214:超低功耗時鐘發生器的卓越之選
單片機低功耗的處理
MAX35103:低功耗時間數字轉換器的卓越之選
MCU低功耗主要體現在哪些方面?
STM32WB1MMC藍牙低功耗模塊技術解析與應用設計
STM32WB09xE藍牙低功耗MCU技術解析
【RA4M2-SENSOR】+低功耗模式的功耗測試
?CDCE6214 超低功耗時鐘發生器技術文檔總結
如何配置STM32低功耗時的引腳
評論