CN102096649B - 一种基于uart的睡眠唤醒方法及装置 - Google Patents
一种基于uart的睡眠唤醒方法及装置 Download PDFInfo
- Publication number
- CN102096649B CN102096649B CN201110035873.2A CN201110035873A CN102096649B CN 102096649 B CN102096649 B CN 102096649B CN 201110035873 A CN201110035873 A CN 201110035873A CN 102096649 B CN102096649 B CN 102096649B
- Authority
- CN
- China
- Prior art keywords
- uart
- signal line
- equipment
- data
- output state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000007958 sleep Effects 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 14
- 238000011084 recovery Methods 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 12
- 230000002618 waking effect Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 208000019116 sleep disease Diseases 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 11
- 230000000630 rising effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3278—Power saving in modem or I/O interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于通用异步接收/发送装置(UART)的睡眠唤醒方法,该方法包括:当没有数据发送时,第一设备通过自身UART的tx信号线通知与第一设备进行通信的第二设备;第二设备收到通知后且自身没有数据发送给第一设备时,通过自身UART的tx信号线通知第一设备,并使自身的UART进入睡眠状态;第一设备收到通知后,使自身的UART进入睡眠状态;第一设备及第二设备定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART。本发明同时公开了一种基于UART的睡眠唤醒装置,采用本发明的方法及装置,能降低设备的功耗,并且还能减少对设备GPIO资源的使用。
Description
技术领域
本发明涉及无线通信领域,特别是指一种基于通用异步接收/发送装置(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)的外围器件的增加,芯片的通用输入输出(GPIO,General Purpose Input Output)等资源会越来越紧张,由于作为流控使用的两线可以复用为GPIO,如果采用两线的连接方式,则能够节省两个GPIO资源,如此,使AP更加灵活,并且控制更为简便,从而不仅能提高效率,而且能减少资源的占用。
目前,AP与其连接的设备间利用UART进行通信时,存在以下几种睡眠唤醒方法:
(1)UART一直开着,只有当AP无任务执行且睡眠时,则UART睡眠,而当AP有任务执行时,则再次唤醒UART,由于不管AP执行任务时需不需要UART,UART均处于唤醒状态,如此,会增加AP的功耗,不利于AP的设计。
(2)通过自定义的睡眠指示和唤醒信号实现UART的双向唤醒,由于自定义的睡眠指示和唤醒信号需要占用AP的GPIO资源,如此,会增加AP的资源占用率。
(3)把作为流控使用的两线复用成GPIO,利用流控的作用实现双向唤醒,该方法只适用于四线连接的方式,并且该方法同样会增加AP的GPIO资源的占用率。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于UART的睡眠唤醒方法及装置,能降低设备的功耗,并能减少对GPIO资源的使用。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种基于UART的睡眠唤醒方法,该方法包括:
当没有数据发送时,第一设备通过自身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信号线的输出状态为有数据接收时,唤醒自身的UART。
上述方案中,所述第一设备,还用于睡眠后当有数据发送给第二设备时,唤醒自身的UART,之后通过自身的tx信号线发送事先约定的字符给第二设备,并接收第二设备返回的表示已唤醒的字符;
所述第二设备,还用于收到第一设备发送的字符后,通过自身的tx信号线向第一设备返回表示已唤醒的字符;或者,
所述第二设备,还用于睡眠后当有数据发送给第一设备时,唤醒自身的UART,之后通过自身的tx信号线发送事先约定的字符给第一设备,并接收第一设备返回的表示已唤醒的字符;
所述第一设备,还用于收到第二设备发送的字符后,通过自身的tx信号线向第一设备返回表示已唤醒的字符。
本发明提供的基于UART的睡眠唤醒方法及装置,当没有数据发送时,第一设备通过自身UART的tx信号线通知与所述第一设备进行通信的第二设备;所述第二设备收到通知后且自身没有数据发送给所述第一设备时,通过自身UART的tx信号线通知所述第一设备,并使自身的UART进入睡眠状态;所述第一设备收到通知后,使自身的UART进入睡眠状态;所述第一设备及所述第二设备定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART,如此,能降低设备的功耗,并且还能减少对设备GPIO资源的使用。
附图说明
图1为本发明基于UART的睡眠唤醒的方法流程示意图;
图2为本发明的基于UART通信的设备间的连接方式示意图;
图3为本发明基于UART的睡眠唤醒的装置结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明基于UART的睡眠唤醒方法,如图1所示,包括以下步骤:
步骤101:当没有数据发送时,第一设备通过自身UART的tx信号线通知与所述第一设备进行通信的第二设备;
这里,图2为本发明所述第一设备与所述第二设备进行通信的连接方式示意图,从图2中可以看出,所述第一设备与所述第二设备通过两线的连接方式进行通信,即:所述第一设备的tx信号线为所述第二设备的rx信号线,所述第一设备的rx信号线为所述第二设备的tx信号线,其中,tx信号线用于发送数据,rx信号线用于接收数据;另外,为了保证传输信号的稳定性,还可以在所述第一设备与所述第二设备之间增加GND信号线,表示接地;
由于本发明采用两线的连接方式,没有GPIO可以辅助,因此,当所述第一设备没有数据发送时,必须通过tx信号线通知给所述第二设备;
依据RS232协议规定:在数据发送过程中,为了使发送的数据块能间隔开,在发送的过程中可以将tx信号线设置为break模式,即:使tx信号线的电平值为零;因此,本步骤的具体实现可以为:
当没有数据发送时,所述第一设备将自身的tx信号线设置为break模式;其中,设置为break模式的具体处理流程与现有技术的具体处理流程完全相同,这里不再赘述;设置为break模式后,第一设备的tx信号线的电平值则为零,从而以此通知所述第二设备没有数据发送了;
所述第一设备与所述第二设备均可以是遵循RS232协议基于UART进行通信的任意一个设备,所述第一设备具体可以是AP、或个人电脑(PC,Personal Computer)等,相应的,所述第二设备可以是与AP、或PC等采用UART进行通信的设备。
步骤102:所述第二设备收到通知后且自身没有数据发送给所述第一设备时,通过自身UART的tx信号线通知所述第一设备,并使自身的UART进入睡眠状态;
这里,所述第一设备的tx信号线设置为break模式后,所述第二设备就会检测到所述第一设备的tx信号线的电平值一直持续为零,所述第二设备可以据此确定所述第一设备无数据发送了;因此,本步骤的具体实现,可以为:
所述第二设备检测到所述第一设备的tx信号线的电平值为零的时长达到预定时长后,则可以认为所述第一设备的UART具备进入睡眠状态的条件;
其中,在实际应用时,所述第二设备在检测到所述第一设备的tx信号线的电平值为零后,可以启动一个定时器,在定时器超时后,如果所述第一设备的tx信号线的电平值在定时器的时长内持续为零,则认为所述第一设备的UART具备进入睡眠状态的条件;所述定时器的时长可以根据需要进行设置,比如:50ms、100ms等;
所述通过自身UART的tx信号线通知所述第一设备,具体为:
所述第二设备将自身的tx信号线设置为break模式;其中,设置为break模式的具体处理流程与现有技术的具体处理流程完全相同,这里不再赘述;
如果所述第二设备收到通知且自身还有数据发送给第一设备时,则不向第一设备发送任何信息;
所述第二设备使自身的UART进入睡眠状态的具体处理过程与现有技术的处理过程完全相同,这里不再赘述。
步骤103:所述第一设备收到通知后,使自身的UART进入睡眠状态;
相应的,所述第一设备检测到所述第二设备的tx信号线的电平值为零的时长达到预定时长后,则可以认为所述第二设备的UART具备进入睡眠状态的条件;
其中,在实际应用时,所述第一设备在检测到所述第二设备的tx信号线的电平值为零后,可以启动一个定时器,在定时器超时后,如果所述第二设备的tx信号线的电平值在定时器的时长内持续为零,则认为所述第二设备的UART具备进入睡眠状态的条件;所述定时器的时长可以根据需要进行设置,比如:50ms、100ms等;
所述第一设备使自身的UART进入睡眠状态的具体处理过程与现有技术的处理过程完全相同,这里不再赘述。
步骤104:所述第一设备及所述第二设备定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART。
这里,由于基于UART进行通信时,没有任何外部的硬件终端可以利用,因此,只能通过软件的方式来检测并唤醒UART;具体地,可以是:设置定时检测自身rx信号线引脚状态的函数,并在定时检测函数的唤醒处理中增加UART恢复函数,通过定时检测函数检测设备自身rx信号线的输出状态,并在确定设备自身rx信号线的电平值为高时,通过UART恢复函数唤醒设备自身的UART;其中,定时的时长可以依据需要进行设置,经试验进行测试,定时的时长可以是50~500ms之间的任一值,比如:100ms等;
在实际应用时,与AP进行通信的设备一般会自带rx中断检测机制,因此,如果进行通信的设备自带有rx中断时,本步骤的具体实现还可以为:
设置rx中断,并在中断处理中增加UART恢复函数,只要所述设备检测到自身rx信号线的电平值不为低时,即:电平值不为零时,则触发所述rx中断,从而唤醒设备自身的UART;
在实际应用时,如果所述第一设备和/或所述第二设备自带有GPIO中断时,本步骤的具体实现还可以为:
设置GPIO中断,并在中断处理中增加UART恢复函数,只要所述设备检测到边沿或电平值为高时,则触发所述GPIO中断,从而唤醒设备自身的UART;
其中,如果数据发送方的tx信号线复用为GPIO,此时,发送方通过自身的tx信号线即接收方的rx信号线发送的是脉冲信号,可以设置通过检测边沿或电平值来触发GPIO中断,如果发送方的tx信号线不复用为GPIO,此时发送方发送的是字符,则设置通过检测边沿来触发GPIO中断;检测到的边沿具体可以是上升沿或下降沿;在实际应用时,可以选择检测上升沿和下降沿中的任意一种来触发GPIO中断;
在实际应用过程中,所述第一设备及所述第二设备均可以选择上述三种检测及唤醒方法中的任意一种;
这里,所述第一设备及所述第二设备事先已经获知对方采用上述哪种方式检测并唤醒UART;所述第一设备及所述第二设备确定自身rx信号线的输出状态为有数据接收时的时机为:对方设备有数据发送,此时,对方设备先唤醒自身的UART,之后先发送双方事先约定好的字符,从而使得数据接收方可以唤醒自身的UART,唤醒后再发送数据;
具体地,如果接收方采用设置定时检测函数的方式、或设置rx中断的方式唤醒自身的UART时,通信的双方,即:所述第一设备及所述第二设备,事先约定好发送给对方的字符及对方反馈的表示已唤醒的字符,当有数据发送时,发送方先向接收方发送事先约定的字符,等收到对方返回的表示已唤醒的字符后,再发送数据;举个例子来说,对于AP和与其通信的设备来说,当AP需要给通信的设备发送数据时,AP先给通信的设备发送一个AT,通信的设备收到AT唤醒自身的UART后,向AP返回OK,AP收到OK后再向通信的设备发送数据,如果AP在规定时间内没有收到通信的设备返回的OK时,可以再向通信的设备发送一个AT,如此循环,直至收到通信的设备返回的OK为止;当通信的设备需要给AP发送数据时,通信的设备先给AP发送一个OK,AP收到OK唤醒自身的UART后,向通信的设备发送返回AT,通信的设备收到AT后再向AP发送数据,如果通信的设备在规定时间内没有收到AP返回的AT时,可以再向AP发送一个OK,如此循环,直至收到AP返回的AT为止;其中,规定时间可以依据需要进行设置,比如:50ms;
如果接收方采用设置GPIO中断的方式唤醒自身的UART时,如果发送方的tx信号线复用为GPIO,此时,发送方先发送一个脉冲,接收方收到脉冲后唤醒自身的UART,为了确保接收方已经唤醒自身的UART,可以在一定间隔比如40ms后,向接收方发送事先约定的字符,等收到对方返回的表示已唤醒的字符后,再发送数据;举个例子来说,对于AP和与其通信的设备,如果AP采用了设置GPIO中断的方式唤醒自身的UART,且与AP通信的设备的tx信号线复用为GPIO时,当与AP通信的设备需要给AP发送数据时,通信的设备先给AP发送一个脉冲,延时40ms后,再向AP发送一个OK,AP收到脉冲信号后唤醒自身的UART,并在收到OK后,向通信的设备返回AT,通信的设备收到AT后再向AP发送数据,如果通信的设备在规定时间内没有收到AP返回的AT时,可以再向AP发送一个OK,如此循环,直至收到AP返回的AT为止;其中,规定时间可以依据需要进行设置,比如:50ms;
如果发送方的tx信号线不复用为GPIO,此时,由于接收方检测不到电平值,所以,接收方触发GPIO中断的条件是:边沿检测,即:检测到上升沿或下降沿,在实际应用时,可以设置检测到上升沿或检测到下降沿触发GPIO中断,在发送数据前,接收方发送事先约定的字符,等收到对方返回的表示已唤醒的字符后,再发送数据;举个例子来说,对于AP和与其通信的设备,如果AP采用了设置GPIO中断的方式唤醒自身的UART,且与AP通信的设备的tx信号线不复用为GPIO时,当与AP通信的设备需要给AP发送数据时,先向AP发送一个OK,AP收到OK后唤醒自身的UART,并向通信的设备返回AT,通信的设备收到AT后再向AP发送数据,如果通信的设备在规定时间内没有收到AP返回的AT时,可以再向AP发送一个OK,如此循环,直至收到AP返回的AT为止;其中,规定时间可以依据需要进行设置,比如:50ms;
这里需要说明的是:由于本发明设备间基于UART进行通信的连接方式为两线的连接方式,因此,发送方发送的任何字符、脉冲信号、以及数据等均通过自身的tx信号线发送给接收方,相应的,接收方向发送方返回的任何字符、脉冲信号、以及数据等也均通过自身的tx信号线返回给发送方。
为实现上述方法,本发明还提供了一种基于UART的睡眠唤醒装置,如图3所示,该装置包括:第一设备31及第二设备32;其中,
第一设备31及第二设备32均包括UART模块;
第一设备31,用于当没有数据发送时,通过自身UART的tx信号线通知第二设备32;并在收到第一设备32的通知后,使自身的UART进入睡眠状态;之后定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART。
第二设备32,用于收到第一设备31发送的通知后,且自身没有数据发送给第一设备31时,通过自身UART的tx信号线通知所述第一设备31,并使自身的UART进入睡眠状态;之后检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART。
这里,需要说明的是:第一设备31与第二设备32采用连线的连接方式进行通信。
其中,所述第一设备31,还用于睡眠后当有数据发送给第二设备32时,唤醒自身的UART,之后通过自身的tx信号线发送事先约定的字符给第二设备32,并接收第二设备返回的表示已唤醒的字符;
所述第二设备32,还用于收到第一设备31发送的字符后,通过自身的tx信号线向第一设备31返回表示已唤醒的字符;或者,
所述第二设备32,还用于睡眠后当有数据发送给第一设备31时,唤醒自身的UART,之后通过自身的tx信号线发送事先约定的字符给第一设备31,并接收第一设备返回的表示已唤醒的字符;
所述第一设备31,还用于收到第二设备32发送的字符后,通过自身的tx信号线向第一设备32返回表示已唤醒的字符。
这里,本发明的所述装置中的第一设备及第二设备的具体处理过程已在上文中详述,不再赘述。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于通用异步接收/发送装置(UART)的睡眠唤醒方法,其特征在于,该方法包括:
当没有数据发送时,第一设备通过自身UART的tx信号线通知与所述第一设备进行通信的第二设备;
所述第二设备收到通知后且自身没有数据发送给所述第一设备时,通过自身UART的tx信号线通知所述第一设备,并使自身的UART进入睡眠状态;
所述第一设备收到通知后,使自身的UART进入睡眠状态;
所述第一设备及所述第二设备定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART;其中,
当所述第二设备收到通知且自身还有数据发送给所述第一设备时,则不向所述第一设备发送任何信息。
2.根据权利要求1所述的方法,其特征在于,所述第一设备通过自身UART的tx信号线通知与第一设备进行通信的第二设备,为:
所述第一设备将自身的tx信号线设置为中断(break)模式。
3.根据权利要求2所述的方法,其特征在于,所述通过自身UART的tx信号线通知所述第一设备,为:
所述第二设备将自身的tx信号线设置为break模式。
4.根据权利要求1、2或3所述的方法,其特征在于,所述定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART,为:
设置定时检测自身rx信号线引脚状态的函数,并在定时检测函数的唤醒处理中增加UART恢复函数,通过定时检测函数检测设备自身rx信号线的输出状态,并在确定设备自身rx信号线的电平值为高时,通过UART恢复函数唤醒设备自身的UART。
5.根据权利要求1、2或3所述的方法,其特征在于,所述定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART,为:
设置rx中断,并在中断处理中增加UART恢复函数,所述设备自身rx信号线的电平值不为低时,触发所述rx中断,并通过UART恢复函数唤醒设备自身的UART。
6.根据权利要求1、2或3所述的方法,其特征在于,所述定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART,为:
设置通用输入输出(GPIO)中断,并在中断处理中增加UART恢复函数,所述设备检测到边沿或电平值为高时,触发所述GPIO中断,并通过UART恢复函数唤醒设备自身的UART。
7.根据权利要求1、2或3所述的方法,其特征在于,所述确定自身rx信号线的输出状态为有数据接收时的时机为:
数据发送方发送事先约定的字符;或者,
数据发送方发送脉冲信号,延时后再向数据接收方发送事先约定的字符。
8.根据权利要求7所述的方法,其特征在于,在唤醒自身的UART后,该方法进一步包括:
向数据发送方返回表示已唤醒的字符。
9.一种基于UART的睡眠唤醒装置,其特征在于,该装置包括:第一设备及第二设备;其中,
第一设备,用于当没有数据发送时,通过自身UART的tx信号线通知第二设备;并在收到第二设备的通知后,使自身的UART进入睡眠状态;之后定时检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART;
第二设备,用于收到第一设备发送的通知后,且自身没有数据发送给第一设备时,通过自身UART的tx信号线通知所述第一设备,并使自身的UART进入睡眠状态;之后检测自身rx信号线的输出状态,确定自身rx信号线的输出状态为有数据接收时,唤醒自身的UART;其中,
当所述第二设备收到通知且自身还有数据发送给所述第一设备时,则不向所述第一设备发送任何信息。
10.根据权利要求9所述的装置,其特征在于,
所述第一设备,还用于睡眠后当有数据发送给第二设备时,唤醒自身的UART,之后通过自身的tx信号线发送事先约定的字符给第二设备,并接收第二设备返回的表示已唤醒的字符;
所述第二设备,还用于收到第一设备发送的字符后,通过自身的tx信号线向第一设备返回表示已唤醒的字符;或者,
所述第二设备,还用于睡眠后当有数据发送给第一设备时,唤醒自身的UART,之后通过自身的tx信号线发送事先约定的字符给第一设备,并接收第一设备返回的表示已唤醒的字符;
所述第一设备,还用于收到第二设备发送的字符后,通过自身的tx信号线向第二设备返回表示已唤醒的字符。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110035873.2A CN102096649B (zh) | 2011-02-10 | 2011-02-10 | 一种基于uart的睡眠唤醒方法及装置 |
PCT/CN2011/084682 WO2012106973A1 (zh) | 2011-02-10 | 2011-12-26 | 基于通用异步接收/发送装置的睡眠唤醒方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110035873.2A CN102096649B (zh) | 2011-02-10 | 2011-02-10 | 一种基于uart的睡眠唤醒方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102096649A CN102096649A (zh) | 2011-06-15 |
CN102096649B true CN102096649B (zh) | 2014-12-10 |
Family
ID=44129749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110035873.2A Active CN102096649B (zh) | 2011-02-10 | 2011-02-10 | 一种基于uart的睡眠唤醒方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102096649B (zh) |
WO (1) | WO2012106973A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096649B (zh) * | 2011-02-10 | 2014-12-10 | 中兴通讯股份有限公司 | 一种基于uart的睡眠唤醒方法及装置 |
US20130031392A1 (en) * | 2011-07-29 | 2013-01-31 | Mclane William J | Usb device side wake-up for power conservation and management |
US9288032B2 (en) | 2012-04-13 | 2016-03-15 | Futurewei Technologies, Inc. | Dynamic frame structure for synchronous time-division duplexing digital subscriber lines |
CN103645794B (zh) * | 2013-11-15 | 2017-02-08 | 北京兆易创新科技股份有限公司 | 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法 |
CN103631360B (zh) * | 2013-11-15 | 2017-06-30 | 北京兆易创新科技股份有限公司 | 一种支持睡眠模式的芯片及方法 |
US10101797B2 (en) * | 2014-09-27 | 2018-10-16 | Intel Corporation | Efficient power management of UART interface |
CN106301712A (zh) * | 2015-06-05 | 2017-01-04 | 国民技术股份有限公司 | 一种同步通信方法及其应用设备、系统 |
CN107239422A (zh) * | 2017-06-15 | 2017-10-10 | 威海市天罡仪表股份有限公司 | 一种低功耗模式下ttl串口无损接收突发数据的方法 |
CN109947226A (zh) * | 2019-04-03 | 2019-06-28 | 深圳芯马科技有限公司 | 一种mcu芯片的uart唤醒电路 |
CN111198776B (zh) * | 2019-12-25 | 2024-06-07 | 上海亮牛半导体科技有限公司 | 一种防止mcu深度休眠期间uart接收丢数据的方法 |
TWI767638B (zh) * | 2021-03-31 | 2022-06-11 | 新唐科技股份有限公司 | 通用非同步收發器介面電路和擷取通用非同步收發器資料之方法 |
CN113177016A (zh) * | 2021-05-25 | 2021-07-27 | 惠州Tcl移动通信有限公司 | 一种串口通讯方法、装置、终端设备及存储介质 |
CN113660714B (zh) * | 2021-07-30 | 2024-04-26 | 烟台东方威思顿电气有限公司 | 基于特定特征码的低功耗唤醒方法 |
CN114338530B (zh) * | 2021-12-21 | 2023-09-29 | 浙江华锐捷技术有限公司 | 设备状态的调整方法、装置、存储介质及电子装置 |
CN116028391B (zh) * | 2022-07-15 | 2024-03-22 | 荣耀终端有限公司 | 电子设备、外围设备及单线通信系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242607A (zh) * | 2008-03-14 | 2008-08-13 | 上海闻泰电子科技有限公司 | 一种双cpu架构智能手机及其通信控制方法 |
CN101504565A (zh) * | 2009-03-04 | 2009-08-12 | 上海闻泰电子科技有限公司 | 一种芯片模块睡眠唤醒的方法 |
CN101150809B (zh) * | 2007-11-03 | 2011-02-02 | 青岛海信移动通信技术股份有限公司 | 移动终端处理器串口唤醒与流控的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096649B (zh) * | 2011-02-10 | 2014-12-10 | 中兴通讯股份有限公司 | 一种基于uart的睡眠唤醒方法及装置 |
-
2011
- 2011-02-10 CN CN201110035873.2A patent/CN102096649B/zh active Active
- 2011-12-26 WO PCT/CN2011/084682 patent/WO2012106973A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150809B (zh) * | 2007-11-03 | 2011-02-02 | 青岛海信移动通信技术股份有限公司 | 移动终端处理器串口唤醒与流控的方法 |
CN101242607A (zh) * | 2008-03-14 | 2008-08-13 | 上海闻泰电子科技有限公司 | 一种双cpu架构智能手机及其通信控制方法 |
CN101504565A (zh) * | 2009-03-04 | 2009-08-12 | 上海闻泰电子科技有限公司 | 一种芯片模块睡眠唤醒的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102096649A (zh) | 2011-06-15 |
WO2012106973A1 (zh) | 2012-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102096649B (zh) | 一种基于uart的睡眠唤醒方法及装置 | |
CN106372012B (zh) | 一种不使用握手控制线的串口唤醒系统及串口通信方法 | |
CN100373299C (zh) | 用于控制两处理器之间的数据通信的方法和双处理器装置 | |
CN101504565A (zh) | 一种芯片模块睡眠唤醒的方法 | |
KR20130113203A (ko) | 전자 장치 및 전자 장치의 파워 관리 방법 | |
EP2867781B1 (en) | Explicit control message signaling | |
TW201029496A (en) | Power management method for a wireless communication device and wireless communication device | |
CN104469905A (zh) | 降低nfc芯片闲置时功耗的方法及系统 | |
CN110955625A (zh) | 一种基于spi的全双工实时通信的方法及装置 | |
EP1650669B1 (en) | Method and system for reducing power consumption of handsets through uart auto flow control | |
EP1530296B1 (en) | Multiple-CPU portable terminal with communication function and control method | |
CN110943900B (zh) | 带冲突检测的载波监听多路访问的rs485总线电路及方法 | |
CN105807886B (zh) | 一种芯片唤醒系统及方法以及移动终端 | |
US20030148801A1 (en) | Signalling protocol for signalling start of reset processing in serial ATA bus protocol | |
CN102131304B (zh) | 一种网络连接方法及通讯终端 | |
CN102929830A (zh) | 一种软件模拟快速通信协议 | |
CN114035477A (zh) | 一种设备唤醒方法、装置及系统 | |
CN208477514U (zh) | 一种智能温控器的spi转uart的模拟电路 | |
CN203535935U (zh) | 液晶显示模块的控制电路和控制系统 | |
JP4239025B2 (ja) | 通信端末装置及びその起動方法並びに通信システム | |
CN105988541A (zh) | 一种电能计量芯片的通信复位方法及系统 | |
CN112034973B (zh) | 一种串口通信装置 | |
CN116056195A (zh) | 一种适用于多模通信终端的睡眠控制方法 | |
CN101114189B (zh) | 异步序列传输的系统唤醒方法 | |
CN106301712A (zh) | 一种同步通信方法及其应用设备、系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |