產(chǎn)品詳情
1. 低功耗
1.1低功耗模式
在系統(tǒng)或電源復(fù)位以后,微控制器處于正常模式運(yùn)行狀態(tài),系統(tǒng)所用時(shí)鐘為 256KHz 內(nèi)部 RC 振蕩器輸出。當(dāng) CPU 不需繼續(xù)運(yùn)行時(shí),可以利用進(jìn)入多種低功耗模式來節(jié)省功耗。例如等待某個(gè)外部事件時(shí), 用戶需要根據(jù)低電源消耗、快啟動(dòng)時(shí)間和可用的喚醒源等條件,選定一個(gè)低功耗模式。
三種低功耗模式
? 待機(jī)模式(Idle Mode)
? 停止模式(Stop Mode)
? 睡眠模式(Sleep Mode)
1.2進(jìn)入低功耗
進(jìn)入低功耗模式(Sleep)步驟:
? Step1: 關(guān)閉低功耗下不需要工作的模擬模塊
? Step2: 系統(tǒng)時(shí)鐘切換到 LIRC_256K,并且關(guān)閉除 LIRC_256K 以外的時(shí)鐘源
? Step3: 配置 PMU_LPDOS 使其電壓檔位比 PMU_HPLDOS 電壓檔位高
? Step4: 把 PMU_HPXCP, PMU_HPPDI, PMU_HPPDLI 配置為 0
? Step5(可選): 配置 LPCON[7]為 1,并且配置 PMUBK 寄存器設(shè)置低功耗下 LPLDO 電壓
? Step6: 配置 PMU_HPV2I 為 0(如果執(zhí)行了 step5,則無需執(zhí)行 step6)
? Step7: 配置空閑的 IO 為模擬模式。
? Step8: 進(jìn)入 Sleep 前的準(zhǔn)備工作:包括配置喚醒源,初始化喚醒中斷服務(wù)函數(shù),關(guān)閉看門狗(可選),
使能進(jìn)入 Sleep 時(shí)自動(dòng)關(guān)閉 256K 內(nèi)部 RC 振蕩器(可選),使能 SLEEP_GOON_EN 喚醒時(shí)不復(fù)位 (可選)
? Step9: 配置 LP_CON0[0]進(jìn)入 Sleep
1.3低功耗喚醒
支持多種喚醒方式
? 端口喚醒
總共有 4 個(gè) IO 喚醒源(由 WKUP_CON[3:0]控制使能)
這些喚醒源喚醒之后是會(huì)產(chǎn)生中斷并且有對應(yīng)的中斷狀態(tài)位,中斷是不可屏蔽的(即有中斷狀態(tài)就一定有中斷)。另外,由 SLEEP_GOON_EN(SYS_CON0[30])決定用端口喚醒時(shí)是產(chǎn)生系統(tǒng)復(fù)位還是繼續(xù)運(yùn)行。
IO 喚醒初始化步驟:配置 IO 模式->配置喚醒邊沿->清除喚醒標(biāo)志位->中斷初始化使能(根據(jù)需要)
->使能喚醒位->清除喚醒標(biāo)志位->配置 LP_CON 進(jìn)入低功耗模式。后續(xù)只需要在進(jìn)入低功耗模式之前,切換 IO 模式->清除喚醒標(biāo)志位->進(jìn)入低功耗模式。
注意:
如果選擇了上升沿/下降沿喚醒,而此時(shí) IO 為高電平/低電平,則喚醒標(biāo)志位馬上會(huì)置 1。使能后 IO保持為高電平/低電平不會(huì)重復(fù)觸發(fā),喚醒標(biāo)志位保持為 1,上升沿/下降沿才會(huì)觸發(fā)。
只要喚醒標(biāo)志位為 1,則無法進(jìn)入低功耗模式。
對于喚醒 IO 的電平翻轉(zhuǎn)時(shí)間無法確定的應(yīng)用場景,如果在主程序中使能wkup_en/int_en,在喚醒中斷函數(shù)中關(guān)閉 wkup_en/int_en,會(huì)存在以下風(fēng)險(xiǎn):使能 wkup_en/int_en 時(shí)馬上觸發(fā) wkup_pend 導(dǎo)致進(jìn)入中斷,然后在中斷中關(guān)閉 wkup_en/int_en,退出中斷后進(jìn)入低功耗模式,導(dǎo)致無法喚醒/喚醒后不進(jìn)入喚醒中斷。因此喚醒中斷要慎重使用。
? 內(nèi)部源喚醒
支持看門狗(WDT)喚醒,TIMER7_TRGO 喚醒,比較器(COMP)喚醒,flash_wkup(STOP 模式下 prog_ram_done),LVDVCC 喚醒。
注:
1. 如果不使能 WKUP_CON[3:0],即只使用內(nèi)部喚醒源時(shí),進(jìn)入 sleep 之前,系統(tǒng)時(shí)鐘要配置成選擇內(nèi)部 LIRC(256KHz), LIRC 在 sleep 期間不能關(guān)閉,且把系統(tǒng)時(shí)鐘分頻配置成大于等于 2.
2. 使能 WKUP_CON[3:1]時(shí),除了對應(yīng)的 GPIO 可以喚醒外,還復(fù)用了內(nèi)部喚醒源,其中 WKUP_CON[3]復(fù)用 LVDVCC喚醒,WKUP_CON[2]復(fù)用比較器喚醒,WKUP_CON[1]復(fù)用 TIMER7_TRGO 喚醒。即,當(dāng)使能了 WKUP_CON[3:1],但對應(yīng)的 GPIO 沒有配置為相應(yīng)的 function 模式時(shí),復(fù)用的內(nèi)部喚醒源可以代替 GPIO 觸發(fā)喚醒。
沈陽芯碩科技有限公司是華大電子專業(yè)代理商,有技術(shù)問題可咨詢我們