STM32學(xué)習(xí)——低功耗模式
芯片型號(hào) : STM32F10X
參考資料:STM32F10XXX使用手冊(cè)
朱友鵬單片機(jī)完全學(xué)習(xí)課程
在STM32的電源管理系統(tǒng)中,軟件工程師需要關(guān)注的是低功耗模式的選擇和實(shí)現(xiàn)。在設(shè)計(jì)產(chǎn)品時(shí)會(huì)出現(xiàn)如使用電池供電需要較低功耗的情景,此時(shí)就需要使用低功耗模式。
CPU不需繼續(xù)運(yùn)行的時(shí)候就是執(zhí)行無(wú)意義代碼時(shí)(如空循環(huán))。CPU從低功耗模式中被喚醒后,還需一定時(shí)間才能進(jìn)入正常工作狀態(tài),這段時(shí)間就是低功耗模式的啟動(dòng)時(shí)間,低功耗模式都要事先選好喚醒源和喚醒事件,否則不能正常工作。低功耗模式的選擇標(biāo)準(zhǔn)就是以上三者,結(jié)合這三者以選擇合適的低功耗模式。
睡眠(SLEEP)模式:CPU停止工作但外設(shè)仍然運(yùn)行。喚醒源為所有中斷。
停機(jī)(STOP)模式:CPU停止工作、時(shí)鐘停止工作、外設(shè)停止工作,只有SRAM和寄存器還能保持原來(lái)的值(這點(diǎn)是跟關(guān)機(jī)再開(kāi)機(jī)的區(qū)別)。喚醒源是外部中斷(按鍵等中斷信號(hào)發(fā)生在CPU外部的中斷是外部中斷,而串口等是內(nèi)部中斷)。
待機(jī)(SUSPEND)模式:CPU停止工作、時(shí)鐘停止工作、外設(shè)停止工作、SRAM和寄存器也停止工作(相當(dāng)于整個(gè)系統(tǒng)斷電關(guān)機(jī)),只有備份寄存器和待機(jī)電路還能工作(有兩套電路,不同情況下工作),喚醒源:WKUP引腳上升沿、RTC警報(bào)、NRTS引腳中的外部復(fù)位、IWDG復(fù)位(兩個(gè)外部?jī)蓚€(gè)內(nèi)部)。
三種模式的功耗由上到下依次降低,啟動(dòng)時(shí)間由上到下依次增大。
除了低功耗模式,正常運(yùn)行中也有相應(yīng)的方法來(lái)降低功耗。此處所說(shuō)的降低系統(tǒng)時(shí)鐘速率是指運(yùn)行時(shí)使用比官方推薦時(shí)鐘頻率(72MHz)低的頻率。對(duì)于外設(shè)來(lái)說(shuō),只要供電和時(shí)鐘正常就能正常運(yùn)行,因此在不需使用某些外設(shè)時(shí),可以通過(guò)關(guān)閉時(shí)鐘來(lái)關(guān)閉對(duì)應(yīng)的外設(shè)以降低功耗。
附圖:低功耗模式概要