2026 / 07 / 21
RA UART实现SW Standby Mode唤醒

介绍

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。


具体配置

1 UART1配置

UART1的配置只需要按照应用需求配置做就可以,但必须留意所选的RXD脚必须跟IRQ是复用的,以便做功能切换。


2 Low Power Mode配置

LPM配置为SW Standby Mode,并在Wake Sources里面将IRQ4(RXD1)打勾


3 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后,通讯数据才能够正常接收。

文件下载
隐私条款

一、接受条款 使用者(也称"您")在访问或使用本网站及其服务时,即已经表示同意并不加修改地接受本《用户协议》、本网站的《隐私声明》、《法律声明》以及其关或相链接的网页和网站的条件和条款的规定。我们强烈建议:在您阅读和接受本《用户协议》时,也应阅读并接受本《用户协议》中所提到《隐私声明》、《法律声明》及其相关或相链接网页或网站所包含的资料,因为《隐私声明》、《法律声明》及其它相关网页或网站可能包含对您适用的进一步规定。(请注意:点击划有底线的词句即可链接到上述《隐私声明》、《法律声明》及其它相关或相链接的网页和网站。

 

二、使用者的资格要求 在本网站中"使用者"指的是浏览、阅读、使用本网站信息或服务的任何个人或组织。本网站的服务仅适用于根据相关法律的规定具有签订有约束力的合同的个人或组织并仅由其使用。本网站的服务不向18周岁以下的个人使用者提供,也不向临时被本网站中止或取消使用者资格的使用者提供。如果使用者不符合本条规定,请停止使用本网站或本网站的服务。

样品
申请

应用
资源

微信