做有低功耗產(chǎn)品設(shè)計(jì)經(jīng)驗(yàn)的朋友都應(yīng)該知道,一個產(chǎn)品的功耗不光是硬件功耗的事,其實(shí)軟件也是影響整個產(chǎn)品功耗的一個關(guān)鍵因素。
今天就為大家分享一點(diǎn)關(guān)于STM32在低功耗狀態(tài)時,IO引腳常規(guī)的配置內(nèi)容。
1
將未使用的GPIO輸入配置為模擬輸入GPIO始終有一個輸入通道,可以是數(shù)字或模擬通道。如果不需要讀取GPIO數(shù)據(jù),則優(yōu)先配置為模擬輸入。這節(jié)省了輸入施密特觸發(fā)器的消耗。在STM32CubeMX配置中都有這么一個選項(xiàng):將不用引腳配置為模擬狀態(tài)。
2
調(diào)節(jié)GPIO速度上升時間,下降時間和最大頻率可使用GPIOx_OSPEEDR配置寄存器進(jìn)行配置。這種調(diào)整對EMI(電磁干擾)和SSO(同時開關(guān)輸出)有影響,因?yàn)殚_關(guān)電流峰值較高。因此必須平衡GPIO性能與噪聲。每個GPIO信號的上升時間和下降時間必須適應(yīng)與相關(guān)信號頻率和電路板容性負(fù)載兼容的最小值。
3
不使用時禁用GPIO寄存器時鐘如果某個GPIO組不需要長時間使用,禁用其時鐘。比如標(biāo)準(zhǔn)外設(shè)庫,禁用GPIOA時鐘:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, DISABLE);HAL庫,禁止GPIOA時鐘:
__HAL_RCC_GPIOA_CLK_DISABLE();
4
進(jìn)入低功耗模式時配置GPIO進(jìn)入低功耗模式時,所有引腳信號必須連接到VDD或接地。如果GPIO連接到外部接收器(外部元件輸入),則必須使用PP或PU/PD強(qiáng)制GPIO信號值。當(dāng)GPIO連接到驅(qū)動器(外部元件輸出或總線)時,驅(qū)動器必須提供有效電平( VDD或接地)。如果未定義驅(qū)動器電平,則必須使用PU/PD強(qiáng)制GPIO上的信號。出于實(shí)際原因,當(dāng)GPIO是運(yùn)行模式下的輸入(模擬或數(shù)字)時,在低功耗模式下使用輸入PU/PD可能更容易;當(dāng)GPIO是運(yùn)行模式下的輸出時,則使用輸出PP。這可以避免在進(jìn)入或退出停止模式時管理更改。
5
退出關(guān)機(jī)模式退出關(guān)機(jī)(shut down)模式時, GPIO會在上電復(fù)位時重新配置為默認(rèn)值。在將它們重新編程為正確值之前,這會需要額外的系統(tǒng)消耗。如果這是應(yīng)用程序的問題,則必須使用待機(jī)(standby)模式替代關(guān)機(jī)模式。
(僅限STM32L4系列和STM32L4+系列)
原文標(biāo)題:STM32低功耗時,IO引腳配置的問題
文章出處:【微信公眾號:玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
STM32
+關(guān)注
關(guān)注
2265文章
10858瀏覽量
354430
原文標(biāo)題:STM32低功耗時,IO引腳配置的問題
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論