一种防止MCU深度休眠期间UART接收丢数据的方法技术

技术编号:24289634 阅读:34 留言:0更新日期:2020-05-26 20:02
本发明专利技术公开了一种防止MCU深度休眠期间UART接收丢数据的方法,包括以下步骤:S1:MCU进入深度休眠模式,PLL关闭、系统主时钟关闭、UART处于aways on电源域,UART的时钟源APB Clock从PLL切换至crystal;S2:UART接收到第一个数据帧后向CPU发起唤醒信号;S3:MCU被唤醒后,打开PLL,并将UART的时钟源APB Clock从crystal切换至PLL,软件系统进入正常运行模式。本发明专利技术的特点是:可通过UART直接唤醒MCU,无需额外的GPIO,MCU在深度休眠过程中使用UART接收数据,且对方不用等待,不需要发送dummy data,不额外占用GPIO中断资源,保证UART接收不丢失数据。

A method to prevent UART from receiving lost data during MCU deep sleep

【技术实现步骤摘要】
一种防止MCU深度休眠期间UART接收丢数据的方法
本专利技术涉及计算机通信
,具体涉及一种防止MCU深度休眠期间UART接收丢数据的方法。
技术介绍
UART(UniversalAsynchronousReceiver/Transmitter)通用异步收发传输器是通用MCU以及各类无线SOC中常用的一种外设接口,MCU/SOC在一些电池供电的应用场景中需要节省功耗以延长设备电池的使用周期,因此会在没有任务的时间段进入深度休眠模式(PLL关闭、系统主时钟关闭、32.768KHz低功耗低速时钟开启),在深度休眠模式下,MCU/SOC只能被RTC、GPIO中断唤醒,因此UART通信口接收外部不定长突发数据帧过程中不能及时唤醒MCU/SOC,导致数据丢失,目前常用的MCU唤醒方法是有两种:如图1所示,使用一个GPIO先将MCU/SOC唤醒,然后等待一段时间待MCU/SOC稳定后,再通过UART给MCU/SOC通信;如图2所示,将MCU/SOC的一个GPIO配置为中断模式,并将其连接在UART的Rx管脚上,UART发送端先发一段d本文档来自技高网...

【技术保护点】
1.一种防止MCU深度休眠期间UART接收丢数据的方法,其特征在于包括以下步骤:/nS1:MCU进入深度休眠模式,PLL关闭、系统主时钟关闭、UART处于aways on电源域,UART的时钟源APB Clock从PLL切换至crystal;/nS2:UART接收到第一个数据帧后向CPU发起唤醒信号;/nS3:MCU被唤醒后,打开PLL,并将UART的时钟源APB Clock从crystal切换至PLL,软件系统进入正常运行模式。/n

【技术特征摘要】
1.一种防止MCU深度休眠期间UART接收丢数据的方法,其特征在于包括以下步骤:
S1:MCU进入深度休眠模式,PLL关闭、系统主时钟关闭、UART处于awayson电源域,UART的时钟源APBClock从PLL切换至crystal;
S2:UART接收到第一个数据帧后向CPU发起唤醒信号;
S3:MCU被...

【专利技术属性】
技术研发人员:吴亮汪成喜詹胜林邓敏徐栋麟
申请(专利权)人:上海亮牛半导体科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1