0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RA UART实现SW Standby Mode唤醒流程

瑞萨MCU小百科 来源:瑞萨MCU小百科 2024-04-15 14:03 次阅读

介绍

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是复用的,以便做功能切换。

6483287a-fae9-11ee-a297-92fbcf53809c.png

02

Low Power Mode配置

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

649db668-fae9-11ee-a297-92fbcf53809c.png

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启动状态

64acff38-fae9-11ee-a297-92fbcf53809c.png

只需通过以上简单的底层寄存器配置步骤。就能够实现UART接收唤醒的功能。但由于芯片在唤醒后需要一段时间做系统时钟启动,而且串口在这段时间是处于未配置/关闭状态,当前上位机发送的唤醒数据是无法做有效数据接收的。需要等MCU启动完成后,或者唤醒直接切换到UART1后,通讯数据才能够正常接收。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口通讯
    +关注

    关注

    1

    文章

    249

    浏览量

    24548
  • 电池供电
    +关注

    关注

    0

    文章

    235

    浏览量

    21869
  • UART接口
    +关注

    关注

    0

    文章

    123

    浏览量

    15070
  • 回调函数
    +关注

    关注

    0

    文章

    87

    浏览量

    11457

原文标题:RA UART实现SW Standby Mode唤醒

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ST32C031用RTC唤醒不了standby及shutdown模式,为什么?

    Arm®-based 32-bit MCUs》的第89页,文档是给出的RTC的中断事件是唤醒不了的: 这里请问,RTC的alarm中断事件能否唤醒standby或者shutdown模式下?
    发表于 03-19 07:55

    MM32 在STOP模式下通过UART唤醒

    STOP模式下通过UART唤醒MCU的程序配置流程:1,配置所有引脚为模拟输入2,配置串口接收引脚为外部中断3,进入stop mode4,初始化串口等外设
    发表于 12-14 17:03

    请问AD9265在Standby模式下的唤醒时间是多少?

    RT:AD9265在Standby模式下的唤醒时间是多少?官方的数据手册没有明确给出这个时间,只是说了Power-down的唤醒时间
    发表于 08-24 11:19

    SPC58ECx使用WKUP引脚从待机状态唤醒

    翻译以下为原文 hello team,when i wakeup from standby mode always .My SW not jumping to address what i
    发表于 10-24 11:16

    UART RX信号唤醒

    嗨,大家好。我试图配置PSoC3,当任何RX数据接收时,它从休眠(或Hibernate)模式唤醒。但我找不到任何样本,现在我怀疑它可能还是不可能。只有UART用于唤醒,所以您的任何建议将被赏识。谢谢
    发表于 05-20 13:42

    使用HAL库RTC时钟唤醒低功耗STOP和STANDBY模式

    STM32F1系列使用HAL库RTC时钟唤醒低功耗STOP和STANDBY模式目录STM32F1系列使用HAL库RTC时钟唤醒低功耗STOP和STANDBY模式(一)低功耗模式介绍1、
    发表于 07-23 06:11

    采用RTC WakeUP的方式对STM32F4xx StandBy模式进行唤醒

    WKUP 引脚用于唤醒 (PA0)HAL_PWR_EnterSTANDBYMode(); // 进入待机模式break;  待机模式的测试代码如下,测试时在命令行输入 standby_mode_test使
    发表于 06-13 14:44

    StandBy待机模式为例进行组件的使用分析

    ();// 进入待机模式 break;  待机模式的测试代码如下,测试时在命令行输入 standby_mode_test使开发板处于待机模式,然后按下 WAKEUP(PA0) 按键,唤醒开发板。int
    发表于 09-26 17:27

    RA4M2设计挑战赛】LPM_MODE_SLEEP -RTC ALARM定时唤醒

    ("发送失败\\n");#endifset_e31_M1();/*进入低功耗模式前打印*/printf("MCU enters Deep SW Standby mode\\r
    发表于 01-19 13:13

    RTC的alarm中断事件能否唤醒standby或者shutdown模式?

    Arm®-based 32-bit MCUs》的第89页,文档是给出的RTC的中断事件是唤醒不了的: 这里请问,RTC的alarm中断事件能否唤醒standby或者shutdown模式下?
    发表于 08-08 07:22

    FAQ0099 AT32F421 Standby Mode唤醒方式

    AT32F421_Standby_Mode唤醒方式
    发表于 10-23 07:20

    AT32F系列PWC待机唤醒唤醒Standby的使用方法

    演示AT32F系列 PWC待机唤醒唤醒Standby的使用方法。待机唤醒脚的上升沿、RTC闹钟事件的上升沿、NRST引脚上外部复位、WDT复位均能将
    发表于 10-27 06:32

    AD9265在Standby模式下的唤醒时间是多少?

    RT:AD9265在Standby模式下的唤醒时间是多少? 官方的数据手册没有明确给出这个时间,只是说了Power-down的唤醒时间
    发表于 12-15 06:55

    STM32CubeMX低功耗模式——待机模式(standby)RTC唤醒

    )模式两种,这篇博客主要是分享一下standby模式,并且通过RTC实时时钟的闹钟将单片机从低功耗模式中唤醒的方法。为了方便演示,实验流程是,通过串口命令来设置单片机进入低功耗模式,再通过RTC的闹钟将单片机从低功耗状态
    发表于 12-04 16:36 19次下载
    STM32CubeMX低功耗模式——待机模式(<b class='flag-5'>standby</b>)RTC<b class='flag-5'>唤醒</b>

    STM32F1系列使用HAL库低功耗STOP和STANDBY模式唤醒(RTC时钟唤醒+外部中断唤醒示例)

    STM32F1系列使用HAL库RTC时钟唤醒低功耗STOP和STANDBY模式目录STM32F1系列使用HAL库RTC时钟唤醒低功耗STOP和STANDBY模式(一)低功耗模式介绍1、
    发表于 12-31 19:09 60次下载
    STM32F1系列使用HAL库低功耗STOP和<b class='flag-5'>STANDBY</b>模式<b class='flag-5'>唤醒</b>(RTC时钟<b class='flag-5'>唤醒</b>+外部中断<b class='flag-5'>唤醒</b>示例)