介紹
RA系列能夠實現休眠模式下的超低功耗,以RA2E1為例,在常溫下的休眠功耗只有約0.25uA(典型值)。非常適合做電池供電應用或手持設備應用。由于芯片在此狀態下的時鐘是處于關閉狀態(不包括32K副時鐘),芯片無法做串口接收喚醒(除UART0的Snooze模式外)。下列方法能夠簡易地做軟件配置來實現任意串口接收喚醒。
原理是在休眠進入前預先將RXD腳配置為IRQx,然后進入休眠,由于RA系列的芯片大部分都是RXD&IRQ復用腳,無需做任何外部硬件線路設計就能夠簡單的用軟件來切換UART&IRQ,從而實現串口通訊和休眠喚醒功能。
內容&原理
演示的例程采用EK-RA2E1評估板,UART1(P401, P402)分別配置為TXD1&RXD1。方法先通過FSP將UART1配置好并作正常通訊使用。當需要進入休眠狀態前,將UART1關閉,并釋放RXD1管腳,然后通過配置IRQ4相關的寄存器來將RXD1腳切換到IRQ4模式下進入休眠,當對方發送任何串口數據時(只做喚醒,無法接收到有效數據),start bit的低電平就能夠喚醒MCU,然后MCU再將IRQ4腳重新配置為RXD1。例程中采用了簡單的SW System Reset方式做系統重啟來將RXD1重置為UART。
具體配置
01
UART1配置
UART1的配置只需要按照應用需求配置做就可以,但必須留意所選的RXD腳必須跟IRQ是復用的,以便做功能切換。
02
Low Power Mode配置
LPM配置為SW Standby Mode,并在Wake Sources里面將IRQ4(RXD1)打勾
03
IRQ軟件切換
IRQ由于只是做中斷喚醒功能,無需配置任何中斷回調函數。
進入休眠前的切換流程:
a. 首先關閉UART1,釋放P402管腳
b.將P402通過PmnPFS配置ISEL (1)& PIDR (1) = 0x4002
c.Disable IRQ4,然后配置IRQ4的控制功能IRQ Control Register
d.置啟IRQ4
e.進入休眠
f. 休眠喚醒后,通過NVIC_SystemReset() 做芯片復位,回復到UART1啟動狀態
只需通過以上簡單的底層寄存器配置步驟。就能夠實現UART接收喚醒的功能。但由于芯片在喚醒后需要一段時間做系統時鐘啟動,而且串口在這段時間是處于未配置/關閉狀態,當前上位機發送的喚醒數據是無法做有效數據接收的。需要等MCU啟動完成后,或者喚醒直接切換到UART1后,通訊數據才能夠正常接收。
審核編輯:劉清
-
串口通訊
+關注
關注
1文章
259瀏覽量
24930 -
電池供電
+關注
關注
0文章
255瀏覽量
22158 -
UART接口
+關注
關注
0文章
124瀏覽量
15294 -
回調函數
+關注
關注
0文章
87瀏覽量
11562
原文標題:RA UART實現SW Standby Mode喚醒
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論