今天回答一位讀者問的關于STM32低功耗問題。
1寫在前面
有低功耗產(chǎn)品設計經(jīng)驗的朋友都應該知道,一個產(chǎn)品的功耗不光是硬件功耗的事,其實軟件也是影響整個產(chǎn)品功耗的一個關鍵因素。
我之前也開發(fā)過幾款使用電池供電的產(chǎn)品,調(diào)試起來,那叫一個痛苦,軟件和硬件各種因素都要考慮。
當你確信軟件沒問題了,可能硬件某個地方又存在漏電流,這其中的“痛苦”我也不再這里描述了。
下面給出STM32低功耗時,其引腳的相關配置。
2
實現(xiàn)功耗優(yōu)化的GPIO軟件指南
1.將未使用的GPIO輸入配置為模擬輸入
GPIO始終有一個輸入通道,可以是數(shù)字或模擬通道。
如果不需要讀取GPIO數(shù)據(jù),則優(yōu)先配置為模擬輸入。這節(jié)省了輸入施密特觸發(fā)器的消耗。
在STM32CubeMX配置中都有這么一個選項:將不用引腳配置為模擬狀態(tài)。
2.調(diào)節(jié)GPIO速度
上升時間,下降時間和最大頻率可使用GPIOx_OSPEEDR配置寄存器進行配置。
這種調(diào)整對EMI(電磁干擾)和SSO(同時開關輸出)有影響,因為開關電流峰值較高。因此必須平衡GPIO性能與噪聲。
每個GPIO信號的上升時間和下降時間必須適應與相關信號頻率和電路板容性負載兼容的最小值。
3.不使用時禁用GPIO寄存器時鐘
如果某個GPIO組不需要長時間使用,請使用HAL_RCC_GPIOx_CLK_DISABLE()函數(shù)禁用其時鐘。
4.進入低功耗模式時配置GPIO
進入低功耗模式時,所有引腳信號必須連接到VDD或接地。
如果GPIO連接到外部接收器(外部元件輸入),則必須使用PP或PU/PD強制GPIO信號值。
當GPIO連接到驅(qū)動器(外部元件輸出或總線)時,驅(qū)動器必須提供有效電平( VDD或接地)。如果未定義驅(qū)動器電平,則必須使用PU/PD強制GPIO上的信號。
出于實際原因,當GPIO是運行模式下的輸入(模擬或數(shù)字)時,在低功耗模式下使用輸入PU/PD可能更容易;當GPIO是運行模式下的輸出時,則使用輸出PP。這可以避免在進入或退出停止模式時管理更改。
5.退出關機模式
退出關機模式時, GPIO會在上電復位時重新配置為默認值。
在將它們重新編程為正確值之前,這會需要額外的系統(tǒng)消耗。
如果這是應用程序的問題,則必須使用待機模式替代關機模式。
(僅限STM32L4系列和STM32L4+系列)
(以上內(nèi)容來自應用筆記:AN4899)
-
STM32
+關注
關注
2264文章
10854瀏覽量
354308 -
引腳
+關注
關注
16文章
1172瀏覽量
50157 -
GPIO
+關注
關注
16文章
1189瀏覽量
51839 -
VDD
+關注
關注
1文章
311瀏覽量
33040
發(fā)布評論請先 登錄
相關推薦
評論