一种基于UART的睡眠唤醒方法及装置制造方法及图纸

技术编号:6050264 阅读:520 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于通用异步接收/发送装置(UART)的睡眠唤醒方法,该方法包括:当没有数据发送时,第一设备通过自身UART的tx信号线通知与第一设备进行通信的第二设备;第二设备收到通知后且自身没有数据发送给第一设备时,通过自身UART的tx信号线通知第一设备,并使自身的UART进入睡眠状态;第一设备收到通知后,使自身的UART进入睡眠状态;第一设备及第二设备定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART。本发明专利技术同时公开了一种基于UART的睡眠唤醒装置,采用本发明专利技术的方法及装置,能降低设备的功耗,并且还能减少对设备GPIO资源的使用。

Sleep waking method and device based on UART

The invention discloses a universal asynchronous receiver / transmitter (UART) based on the sleep wakeup method, the method includes: when there is no data to transmit, the first device to communicate second devices through the TX signal line itself UART notice with the first second equipment; equipment receive notification and no data is sent to the first device when the first notification device through the TX signal line UART, and to make their own UART to sleep; the first device after receipt of the notification, make their own UART to sleep; the output state of the first and two timing detection equipment equipment from the RX signal line, determine the output state RX signal line for receiving data when wake up their UART. The invention also discloses a sleep wakeup device based on the UART, and uses the method and the device of the invention to reduce the power consumption of the equipment, and can reduce the use of the GPIO resource of the equipment.

【技术实现步骤摘要】

本专利技术涉及无线通信领域,特别是指一种基于通用异步接收/发送装置(UART, Universal Asynchronous Receiver/Transmitter)的睡目民唤醒方法及装置。
技术介绍
串口也叫串行通信接口,串口由于具有利用简便的通信信号线即可实现较强的 传输功能且传输速度范围广的优点,成为近年来应用最为广泛的通信接口。其中,由于具 有较多的类型,使得串口的传输速度范围广;串口的类型包括UART、串行外围接口(SPI, Serial Peripheral Interface)、及通用串行总线(USB,Universal Serial BUS)等。其 中,UART由于具有功耗低、通信控制简单、不需要驱动、在无数据传输时可关闭数据口等优 点,因此,在实际应用时,许多设备将UART作为通信的主要接口。目前,利用UART进行设备间的通信时,主要利用四线(tx、rx、cts、以及rts)与 两线(rx以及tx)的连接方式。其中,在四线连接方式中,采用cts和rts可以对数据流 进行控制,这种连接方式也可以称为流控的连接方式,采用流控的连接方式能在通信双方 传输速率不一致的情况下,保证不会丢失数据。在实际应用时,如果UART不作为调制解调 器(modem) 口使用时,则没有必要采用四线的连接方式,采用两线的连接方式完全可以满 足需求。这是因为目前的大多数应用中,只是将UART作为一个简单的通信口,比如仅仅 进行AT命令的简单交互,而不作为modem 口拨号使用;另外,随着设备比如应用处理器 (AP,Application Processor)的外围器件的增加,芯片的通用输入输出(GPI0, General Purpose Input Output)等资源会越来越紧张,由于作为流控使用的两线可以复用为GPI0, 如果采用两线的连接方式,则能够节省两个GPIO资源,如此,使AP更加灵活,并且控制更为 简便,从而不仅能提高效率,而且能减少资源的占用。目前,AP与其连接的设备间利用UART进行通信时,存在以下几种睡眠唤醒方法(I)UART 一直开着,只有当AP无任务执行且睡眠时,则UART睡眠,而当AP有任务 执行时,则再次唤醒UART,由于不管AP执行任务时需不需要UART,UART均处于唤醒状态, 如此,会增加AP的功耗,不利于AP的设计。(2)通过自定义的睡眠指示和唤醒信号实现UART的双向唤醒,由于自定义的睡眠 指示和唤醒信号需要占用AP的GPIO资源,如此,会增加AP的资源占用率。(3)把作为流控使用的两线复用成GPI0,利用流控的作用实现双向唤醒,该方法 只适用于四线连接的方式,并且该方法同样会增加AP的GPIO资源的占用率。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种基于UART的睡眠唤醒方法及装置,能 降低设备的功耗,并能减少对GPIO资源的使用。为达到上述目的,本专利技术的技术方案是这样实现的本专利技术提供了一种基于UART的睡眠唤醒方法,该方法包括4当没有数据发送时,第一设备通过自身UART的tx信号线通知与所述第一设备进 行通信的第二设备;所述第二设备收到通知后且自身没有数据发送给所述第一设备时,通过自身UART 的tx信号线通知所述第一设备,并使自身的UART进入睡眠状态;所述第一设备收到通知后,使自身的UART进入睡眠状态;所述第一设备及所述第二设备定时检测自身rx信号线的输出状态,确定自身rx 信号线的输出状态为有数据接收时,唤醒自身的UART。上述方案中,所述第一设备通过自身UART的tx信号线通知与第一设备进行通信 的第二设备,为所述第一设备将自身的tx信号线设置为中断(break)模式。上述方案中,所述通过自身UART的tx信号线通知所述第一设备,为所述第二设备将自身的tx信号线设置为break模式。上述方案中,所述定时检测自身rx信号线的输出状态,确定自身rx信号线的输出 状态为有数据接收时,唤醒自身的UART,为设置定时检测自身rx信号线引脚状态的函数,并在定时检测函数的唤醒处理中 增加UART恢复函数,通过定时检测函数检测设备自身rx信号线的输出状态,并在确定设备 自身rx信号线的电平值为高时,通过UART恢复函数唤醒设备自身的UART。 上述方案中,所述定时检测自身rx信号线的输出状态,确定自身rx信号线的输出 状态为有数据接收时,唤醒自身的UART,为设置rx中断,并在中断处理中增加UART恢复函数,所述设备自身rx信号线的电 平值不为低时,触发所述rx中断,并通过UART恢复函数唤醒设备自身的UART。上述方案中,所述定时检测自身rx信号线的输出状态,确定自身rx信号线的输出 状态为有数据接收时,唤醒自身的UART,为设置GPIO中断,并在中断处理中增加UART恢复函数,所述设备检测到边沿或电平 值为高时,触发所述GPIO中断,并通过UART恢复函数唤醒设备自身的UART。上述方案中,所述确定自身rx信号线的输出状态为有数据接收时的时机为数据发送方发送事先约定的字符;或者,数据发送方发送脉冲信号,延时后再向数据接收方发送事先约定的字符。上述方案中,在唤醒自身的UART后,该方法进一步包括向数据发送方返回表示已唤醒的字符。本专利技术还提供了一种基于UART的睡眠唤醒装置,该装置包括第一设备及第二设 备;其中,第一设备,用于当没有数据发送时,通过自身UART的tx信号线通知第二设备;并 在收到第一设备的通知后,使自身的UART进入睡眠状态;之后定时检测自身rx信号线的输 出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART ;第二设备,用于收到第一设备发送的通知后,且自身没有数据发送给第一设备时, 通过自身UART的tx信号线通知所述第一设备,并使自身的UART进入睡眠状态;之后检测 自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的 UART0上述方案中,所述第一设备,还用于睡眠后当有数据发送给第二设备时,唤醒自身 的UART,之后通过自身的tx信号线发送事先约定的字符给第二设备,并接收第二设备返回 的表示已唤醒的字符;所述第二设备,还用于收到第一设备发送的字符后,通过自身的tx信号线向第一 设备返回表示已唤醒的字符;或者,所述第二设备,还用于睡眠后当有数据发送给第一设备时,唤醒自身的UART,之后 通过自身的tx信号线发送事先约定的字符给第一设备,并接收第一设备返回的表示已唤 醒的字符;所述第一设备,还用于收到第二设备发送的字符后,通过自身的tx信号线向第一 设备返回表示已唤醒的字符。本专利技术提供的基于UART的睡眠唤醒方法及装置,当没有数据发送时,第一设备通 过自身UART的tx信号线通知与所述第一设备进行通信的第二设备;所述第二设备收到通 知后且自身没有数据发送给所述第一设备时,通过自身UART的tx信号线通知所述第一设 备,并使自身的UART进入睡眠状态;所述第一设备收到通知后,使自身的UART进入睡眠状 态;所述第一设备及所述第二设备定时检测自身rx信号线的输出状态,确定自身rx信号线 的输出状态为有数据接收时,唤醒自身的UART,如此,能降低设备的功耗,并且还能减少对 设备GPIO资源的使用。附图本文档来自技高网
...

【技术保护点】
一种基于通用异步接收/发送装置(UART)的睡眠唤醒方法,其特征在于,该方法包括:当没有数据发送时,第一设备通过自身UART的tx信号线通知与所述第一设备进行通信的第二设备;所述第二设备收到通知后且自身没有数据发送给所述第一设备时,通过自身UART的tx信号线通知所述第一设备,并使自身的UART进入睡眠状态;所述第一设备收到通知后,使自身的UART进入睡眠状态;所述第一设备及所述第二设备定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART。

【技术特征摘要】

【专利技术属性】
技术研发人员:周兴伟
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94

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

1