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