新聞中心

STM32L系列低功耗

作者: 時間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
在stop模式下,所有Vcore(穩(wěn)壓器輸出電壓)域時鐘停止,PLL、MSI、HSI、HSE都被停止。RAM和寄存器中的值保留。

在stop模式下,穩(wěn)壓器為 Vcore(穩(wěn)壓器輸出電壓)域提供低功耗電壓,用來保持寄存器和內(nèi)部RAM中的數(shù)據(jù)。

本文引用地址:http://butianyuan.cn/article/201611/316444.htm

為了最大程度降低功耗,在進(jìn)入stop模式之前,VREFINT、BOR、PVD、和溫度傳感器可以被關(guān)閉,退出stop模式后,可以用PWR_UltraLowPowerCmd()打開他們。
PWR_UltraLowPowerCmd(ENABLE);//使能超低功耗模式;

內(nèi)部參考電壓的功耗也不是微不足道的,尤其在stop模式和standby模式。為了減小功耗,用這個函數(shù)設(shè)置PWR_CR的ULP位來關(guān)閉內(nèi)部參考電壓,然而,在這種情況下從stop模式或standby模式退出時,在內(nèi)部參考電壓啟動時間內(nèi)(3ms),通過內(nèi)部參考電壓管理那些功能是不可靠的。為了縮短喚醒時間,在進(jìn)入stop模式或者standby模式之前,調(diào)用PWR_FastWakeUpCmd()函數(shù)(設(shè)置PWR_CR的FWU位),CPU就可以從stop模式或者standby模式喚醒而不用等待內(nèi)部參考電壓的啟動。

if ULP=0(參考電壓在低功耗模式下打開),FWU位被忽略。

if ULP=1(參考電壓在低功耗模式下關(guān)閉),FWU=1:當(dāng)從低功耗模式退出時,忽略參考電壓的啟動時間。

if ULP=1(參考電壓在低功耗模式下關(guān)閉),FWU=0:CPU只有等到參考電壓準(zhǔn)備好才會從低功耗模式退出。

PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);//進(jìn)入stop模式;設(shè)置PWR_CR寄存器的PDDS和LPSDSR位。PDDS:進(jìn)入stop模式。

穩(wěn)壓器:

一個嵌入式的、線性的穩(wěn)壓器給除了待機(jī)電路外的所有數(shù)字電路供電。穩(wěn)壓器的輸出電壓在1.2~1.8V范圍內(nèi),軟件可配。

穩(wěn)壓器在系統(tǒng)復(fù)位后總是被使能。穩(wěn)壓器根據(jù)CPU應(yīng)用模式不同,工作在三種不同的模式:主模式(MR),低功耗模式(LPR),掉電模式。

1、CPU工作在運(yùn)行模式下時,穩(wěn)壓器工作在主模式并且為Vcore domain提供全部電量(包括核、寄存器、數(shù)字電路)

2、CPU工作再低功耗運(yùn)行模式,穩(wěn)壓器工作再低功耗模式并且為Vcore domain提供低電量,以保存寄存器和內(nèi)部RAM中的內(nèi)容。

3、CPU工作再睡眠模式,穩(wěn)壓器工作在主模式并且為Vcore domain提供全部電量,以保存寄存器和內(nèi)部RAM中的內(nèi)容。

4、CPU工作再stop模式,穩(wěn)壓器工作再低功耗模式并且為Vcore domain提供低電量,以保存寄存器和內(nèi)部RAM中的內(nèi)容。

5、CPU工作在Standby模式,穩(wěn)壓器工作在掉電模式,除了standby電路外,寄存器和內(nèi)部RAM中的內(nèi)容都將丟失。

內(nèi)部參考電壓:

通過內(nèi)部參考電壓管理的功能有(BOR)欠壓復(fù)位、可編程電壓檢測、ADC、LCD、比較器。內(nèi)部參考電壓總是使能的。

內(nèi)部參考電壓的功耗是不能被忽略的,尤其是在stop模式和standby模式。為了減少功耗,可以將PWR_CR寄存器的ULP(Ultra low power)位置位來關(guān)閉內(nèi)部參考電壓,然而在這種情況下,當(dāng)從stop/standby模式退出時,通過內(nèi)部參考電壓管理的功能在內(nèi)部參考電壓啟動時(3ms)是不可靠的。為了減少喚醒時間,CPU可以從stop/standby模式退出時不等待內(nèi)部參考電壓的啟動。在進(jìn)入stop/standby模式之前,將PWR_CR寄存器的FWU(Fast wakeup)置位可以實(shí)現(xiàn)。

無論FWU的值是多少,如果ULP位被置位,在進(jìn)入stop/standby模式之前使能的以上這些功能,在進(jìn)入stop/standby模式之后這些功能被禁止,并且當(dāng)內(nèi)部參考電壓的啟動結(jié)束后這些功能再次使能(通過做PVD的測試,好像并沒有像手冊說的那樣再次使能,而是每次喚醒后要重新手動使能PVD)。在PWR_CSR寄存器的VREFINTRDYF 位表示內(nèi)部參考電壓是否準(zhǔn)備好。

從stop模式喚醒后,系統(tǒng)時鐘默認(rèn)為MSI時鐘,需要重新配置系統(tǒng)時鐘。
任何的EXTI Line(內(nèi)部的或外部的)中斷或事件都能是CPU從stop模式喚醒。

CPU的低功耗特性只是做低功耗產(chǎn)品的開發(fā)的一部分,外圍器件的功耗同樣起決定作用。要想達(dá)到理想的功耗,CPU和外圍器件必須能夠完美的結(jié)合。在低功耗產(chǎn)品研發(fā)中,可能是我第一次接觸此類產(chǎn)品的研發(fā),功耗問題花費(fèi)了我大量的時間,CPU在沒有外部器件的情況下功耗是理想的,基本上與數(shù)據(jù)手冊描述的一樣,所選的外圍器件的功耗也很低,但是CPU與外圍器件連起來時功耗就很高。

下面我分享下我在做STM32L151低功耗(stop模式)研發(fā)中的一些經(jīng)驗(yàn):

1.外部器件能用IO口供電的就盡量用IO口供電,在stop模式下,CPU的IO口的狀態(tài)是保持的,這樣外圍器件的供電開關(guān)很容易控制。像外部存儲芯片可以用IO口供電。有些外圍芯片不適合用IO口供電的,像有些射頻芯片,因?yàn)檫@些射頻芯片上電啟動要相當(dāng)長的時間。

2.最好別用standby模式。雖然standby模式對CPU來說功耗最低,但是standby模式有很多缺點(diǎn)。在standby模式下CPU處于不受控制的狀態(tài),所有的IO口都工作在高阻抗的狀態(tài)下,只有幾個專用的引腳能夠?qū)PU從standby模式喚醒,而且每次喚醒都相當(dāng)于系統(tǒng)復(fù)位,RAM中的數(shù)據(jù)全部丟失。在有外部器件連接的情況下,器件引腳可能會吸收大量的電流,反而達(dá)不到低功耗的目的。

3.如果CPU外圍有器件連接,且沒有用IO供電,一定要將CPU與器件相連的IO口設(shè)置成適當(dāng)?shù)哪J剑駝t這些引腳可能會吸收很大的電流。ST公司給的例程中建議設(shè)置成模擬輸入,但是我將CPU與射頻芯片nRF24L01相連的IO口設(shè)置成模擬輸入功耗達(dá)不到理想要求。經(jīng)過多次實(shí)驗(yàn),設(shè)置成下拉輸入功耗達(dá)到了理想要求??赡苊糠N器件的特性不同導(dǎo)致了這樣的結(jié)果。

4.對于電平的檢測。在檢測外圍器件的某個引腳的中斷時,假如該中斷是低電平有效,中斷前該引腳保持高電平,這種情況下要把CPU的IO口設(shè)置成上拉輸入,反之就設(shè)置成上拉輸入。檢測到中斷后盡快的清除中斷。



關(guān)鍵詞: STM32L系列低功

評論


技術(shù)專區(qū)

關(guān)閉