以前的開發過程中更多針對原型實現,對功耗控制考慮較少。正好借此機會,基于瑞薩RA4M2微控制器,圍繞低功耗Sleep模式的應用展開。我們通過配置LPM(Low Power Mode)模塊,讓MCU在流水燈演示后自動進入Sleep,隨后可通過按鍵中斷或串口接收中斷喚醒。
在RASC Configuration工具中,需添加LPM模塊并設置為Sleep模式,保證MCU進入低功耗狀態時外設時鐘仍可工作。關鍵配置如下:

外部中斷(IRQ5/IRQ6)配置為Falling Edge,回調函數統一為 key_irq_callback,優先級設置為12。串口SCI UART9配置需使能RX中斷,回調函數為 uart9_callback,以便串口接收數據時可喚醒MCU。
在 LPM 模塊的Wake Sources中啟用按鍵中斷與串口接收中斷RXD0,這樣當設備處于 Sleep 時,按下按鍵或收到串口數據均可觸發喚醒并進入相應的中斷回調處理流程。
低功耗相關庫函數較少,主要在于配置。相關函數如下:
R_LPM_Open:
執行必要的初始化R_LPM_LowPowerModeEnter:
進入低功耗模式,并在喚醒后恢復MCU功能R_LPM_Close:
關閉LPM實例R_LPM_LowPowerReconfigure:
對低功耗模式進行配置R_LPM_IoKeepClear:
從深度軟件待機模式喚醒后清除IOkeep位。
工程中,在main函數中初始化:
R_LPM_Open(&g_lpm0_ctrl, &g_lpm0_cfg);
主流程結束后,通過
R_LPM_LowPowerModeEnter(&g_lpm_ctrl);
進入Sleep,等待按鍵或串口喚醒。喚醒操作已經在RASC配置時進行了定義,配置喚醒相關中斷源。
實驗測得,開發板在正常運行時功耗約50-80mA,進入Sleep后降至5-15mA,節能效果顯著。Sleep模式下,CPU時鐘門控關閉,外設時鐘保持,喚醒延遲極短(<10us),非常適合對響應速度有要求的場景。對于更極致的低功耗需求,可考慮Standby/snooze等更深模式,但需權衡喚醒速度以及外設運行情況。
-
單片機
+關注
關注
6074文章
45368瀏覽量
664674 -
mcu
+關注
關注
147文章
18669瀏覽量
388976 -
低功耗
+關注
關注
12文章
3018瀏覽量
106317 -
開發板
+關注
關注
26文章
6161瀏覽量
114184
發布評論請先 登錄
【RA4M2-SENSOR】—— 2.串口通訊測試
【RA4M2-SENSOR】1、開箱+新建模板工程
【RA4M2-SENSOR】介紹、環境搭建、工程測試
【RA4M2-SENSOR】+產品初體驗
【RA4M2-SENSOR】5、外部中斷按鍵+低功耗模式+功耗測量
【RA4M2-SENSOR】 Keil開發環境建立和跑馬燈運行
【RA4M2-SENSOR】數字識讀及實現
【有獎試用14期】RA-Eco-RA4M2-100PIN開發板
【開發板評測】Renesas RA6M4開發板之SDIO(SDHI)
活動 | RA生態工作室 &amp; 電子發燒友RA4M2開發板試用活動來襲!!
【有獎評測 】RA4M2-SENSOR 開發板免費評測
【干貨分享】基于瑞薩RA4M2-SENSOR開發板,實現便攜式 GPS 定位器

【RA4M2-SENSOR開發板評測】低功耗模式
評論