WO2012106973A1 - Uart-based wake-up from sleep method and device - Google Patents

Uart-based wake-up from sleep method and device Download PDF

Info

Publication number
WO2012106973A1
WO2012106973A1 PCT/CN2011/084682 CN2011084682W WO2012106973A1 WO 2012106973 A1 WO2012106973 A1 WO 2012106973A1 CN 2011084682 W CN2011084682 W CN 2011084682W WO 2012106973 A1 WO2012106973 A1 WO 2012106973A1
Authority
WO
WIPO (PCT)
Prior art keywords
uart
signal line
data
output state
wake
Prior art date
Application number
PCT/CN2011/084682
Other languages
French (fr)
Chinese (zh)
Inventor
周兴伟
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012106973A1 publication Critical patent/WO2012106973A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to the field of wireless communications, and more particularly to a universal asynchronous receiving/transmitting device
  • the serial port is also called serial communication interface.
  • the serial port has the advantage of using a simple communication signal line to realize a strong transmission function and a wide transmission speed range, and has become the most widely used communication interface in recent years.
  • the serial port types include: UART, Serial Peripheral Interface (SPI), and Universal Serial Bus (USB).
  • the UART has the advantages of low power consumption, simple communication control, no need for driving, and the ability to close the data port when there is no data transmission. Therefore, in practical applications, many devices use the UART as the main interface of communication.
  • the connection between the four wires (tx, rx, cts, and rts) and the two wires (rx and tx) is mainly used.
  • cts and rts can be used to control the data flow.
  • This connection mode can also be called a flow control connection mode.
  • the flow control connection mode can be used when the transmission rates of the communication parties are inconsistent. , to ensure that no data will be lost.
  • the UART is not used as a modem port, there is no need to use a four-wire connection. A two-wire connection is sufficient.
  • the UART is always on.
  • the UART sleeps only when the AP has no task execution and sleeps.
  • the AP has a task, it wakes up the UART again. Because the UART is not required when the AP performs the task, the UART is awakened. The state, in this way, will increase the power consumption of the AP, which is not conducive to the design of the AP.
  • the UART wake-up is implemented by a customized sleep indication and wake-up signal. Since the customized sleep indication and wake-up signal need to occupy the AP's GPIO resources, the AP resource occupancy rate is increased.
  • the main object of the present invention is to provide a UART-based sleep wake-up method and apparatus, which can reduce the power consumption of the device and reduce the use of GPIO resources.
  • the present invention provides a UART-based sleep wake-up method, the method comprising: when no data is transmitted, the first device notifies the second device that communicates with the first device by using a tx signal line of the UART;
  • the second device After receiving the notification, and the second device does not send data to the first device, the second device notifies the first device by using a tx signal line of the UART, and causes the UART of the UART to enter a sleep state; After receiving the notification, the first device enters its own UART into a sleep state; the first device and the second device periodically detect an output state of the rx signal line thereof, and determine that the output state of the rx signal line is data. When receiving, wake up its own UART.
  • the first device notifies the second device that communicates with the first device by using the tx signal line of the UART of the UART, that is:
  • the first device sets its own tx signal line to a break mode.
  • the first device is notified by the tx signal line of the own UART, wherein: the second device sets its own tx signal line to a break mode.
  • the timing detects the output state of the rx signal line, and determines that the output state of the rx signal line is a data reception, and wakes up its own UART, which is:
  • the timing detects the output state of the rx signal line, and determines that the output state of the rx signal line is a data reception, and wakes up its own UART, which is:
  • the timing detects the output state of the rx signal line, and determines that the output state of the rx signal line is a data reception, and wakes up its own UART, which is:
  • the determining the output state of the rx signal line is when there is data reception.
  • the machine is:
  • the data sender sends the pre-agreed characters; or,
  • the data sender sends a pulse signal, and then sends a pre-agreed word payment to the data receiver after the delay.
  • the method further includes:
  • the present invention also provides a UART-based sleep wake-up device, the device comprising: a first device and a second device;
  • a first device configured to notify the second device by using a tx signal line of the UART when no data is sent; and, after receiving the notification of the second device, bringing the UART into a sleep state; and periodically detecting the rx signal line thereof The output state, determine the output state of its own rx signal line to wake up its own UART when there is data reception;
  • the second device after receiving the notification sent by the first device, and having no data to send to the first device, notifying the first device by using the tx signal line of the UART, and bringing the UART into a sleep state; And detect the output state of its own rx signal line, and determine the output state of its own rx signal line to wake up its own UART when there is data reception.
  • the first device is further configured to wake up its own UART when data is sent to the second device after sleep, and send the pre-agreed character to the second device through its own tx signal line, and receive the first The character returned by the second device indicating the wake-up character;
  • the second device is further configured to: after receiving the character sent by the first device, return a character indicating that the wake-up is returned to the first device by using the tx signal line of the first device; or
  • the second device is further configured to wake up its own UART when data is sent to the first device after sleep, and send the pre-agreed character to the first device through its own tx signal line, and receive the returned by the first device. Represents a character that has been woken up;
  • the first device is further configured to: after receiving the character sent by the second device, by using its own tx letter The line returns a character indicating that the wake up has been returned to the second device.
  • the UART-based sleep wake-up method and apparatus when no data is transmitted, the first device notifies the second device that communicates with the first device through the tx signal line of the UART; the second device receives After the notification and no data is sent to the first device by itself, the first device is notified by the tx signal line of the UART, and the UART of the user is put into a sleep state; after receiving the notification, the first device makes itself The UART enters a sleep state; the first device and the second device periodically detect an output state of the rx signal line thereof, and determine that the output state of the rx signal line of the self is the data UART, and wake up its own UART, so that the UART can be lowered.
  • the power consumption of the device and also reduces the use of device GPIO resources.
  • FIG. 1 is a schematic flow chart of a method for waking up sleep based on UART according to the present invention
  • FIG. 1 is a schematic diagram of a connection mode between devices based on UART communication according to the present invention
  • FIG. 3 is a schematic structural diagram of a device for sleep wake-up based on UART according to the present invention. detailed description
  • the UART-based sleep wake-up method includes the following steps: Step 101: When no data is transmitted, the first device notifies the second communication with the first device by using a tx signal line of the UART of the UART. Equipment
  • FIG. 1 is a schematic diagram of a connection manner between a first device and a second device according to the present invention.
  • the first device and the second device are connected by two lines. Communicating, that is, the tx signal line of the first device is an rx signal line of the second device, and the rx signal line of the first device is a tx signal line of the second device, where the tx signal line
  • the rx signal line is used for receiving data; in addition, in order to ensure the stability of the transmission signal, a GND signal line may be added between the first device and the second device, Grounding
  • the present invention adopts a two-wire connection manner, no GPIO can be assisted. Therefore, when the first device has no data transmission, it must be notified to the second device through the tx signal line;
  • the tx signal line In the process of data transmission, in order to enable the transmitted data blocks to be spaced apart, the tx signal line can be set to the break mode during the transmission, that is, the level of the tx signal line is zero;
  • the specific implementation of this step can be:
  • the first device When there is no data transmission, the first device sets its own tx signal line to the break mode.
  • the specific processing flow set to the break mode is exactly the same as the specific processing flow of the prior art, and is not described here; After the break mode, the level value of the tx signal line of the first device is zero, thereby notifying the second device that no data is transmitted;
  • the first device and the second device may be any device that communicates according to the UART according to the RS232 protocol, and the first device may be an AP, or a personal computer (PC, etc.), correspondingly,
  • the second device may be a device that communicates with an AP, a PC, or the like using a UART.
  • Step 102 After receiving the notification and the data is not sent to the first device by itself, the second device notifies the first device by using a tx signal line of its own UART, and brings its own UART into a sleep state;
  • the second device detects that the level value of the tx signal line of the first device continues to be zero, and the second device may Therefore, it is determined that the first device has no data to be sent; therefore, the specific implementation of the notification received by the second device may be:
  • the UART of the first device may be considered to have a condition of entering a sleep state
  • the second device detects the tx signal of the first device After the level value of the line is zero, a timer may be started. After the timer expires, if the level value of the tX signal line of the first device continues to be zero for the duration of the timer, the first The UART of a device has a condition for entering a sleep state; the duration of the timer can be set as needed, for example: 50ms, 100ms, etc.;
  • the first device is notified by the tx signal line of the UART, specifically: the second device sets its own tx signal line to a break mode; wherein the specific processing flow set to the break mode is related to the prior art.
  • the specific processing flow is the same, and is not described here. If the second device receives the notification and has data to the first device, it does not send any information to the first device.
  • Step 103 After receiving the notification, the first device enters its own UART into a sleep state. Correspondingly, the first device detects that the level of the tx signal line of the second device is zero. After the duration, the UART of the second device can be considered to have a condition of entering a sleep state;
  • the first device may start a timer, after the timer expires, if the second device
  • the level value of the tx signal line continues to be zero for the duration of the timer, and the UART of the second device is considered to have a condition of entering a sleep state
  • the duration of the timer can be set as needed, for example: 50 ms, 100ms, etc.
  • Step 104 The first device and the second device periodically detect an output state of the rx signal line, and determine that the output state of the rx signal line is a data reception, and wake up its own UART.
  • the UART can only be detected and awakened by software; specifically, it can be: set a function to periodically detect the state of its own rx signal line pin, and add a UART recovery function in the wake-up processing of the timing detection function,
  • the timing detection function detects the output state of the rx signal line of the device itself, and wakes up the UART of the device itself through the UART recovery function when determining that the level value of the rx signal line of the device itself is high; wherein, the timing of the timing can be set according to needs Tested by trial and error, the time duration can be any value between 50 and 500ms, such as: 100ms;
  • the device that communicates with the AP generally has its own rx interrupt detection mechanism. Therefore, if the device that communicates has its own rx interrupt, the specific implementation of this step can also be: Set the rx interrupt, and interrupt The UART recovery function is added during processing, as long as the device detects that the level value of its own rx signal line is not low, that is, when the level value is not zero, the rx interrupt is triggered, thereby awakening the device's own UART;
  • the specific implementation of this step may also be:
  • the sender transmits a pulse signal through its own tx signal line, that is, the rx signal line of the receiver, and can be set to trigger by detecting an edge or a level value.
  • GPIO interrupt if the sender's tx signal line is not multiplexed into GPIO, then the sender sends a character, then the GPIO interrupt is triggered by detecting the edge; the detected edge can be a rising edge or a falling edge; When applied, you can choose to detect any of the rising and falling edges to trigger the GPIO interrupt.
  • the first device and the second device may select any one of the foregoing three detection and wake-up methods;
  • the first device and the second device have previously learned which way the other party detects and wakes up the UART;
  • the first device and the second device determine that the output state of the rx signal line is data receiving.
  • the timing is as follows: The other device has data transmission. At this time, the other device wakes up its own UART first, and then sends the previously agreed characters first, so that the data receiver can wake up its own UART and wake up before sending the data.
  • the receiver wakes up its own UART by setting a timing detection function or setting an rx interrupt
  • the two sides of the communication that is, the first device and the second device
  • the character and the feedback from the other party indicate that the character has been awakened.
  • the sender first sends the pre-agreed character to the receiver, and then sends the data after receiving the character indicating the wake-up that is returned by the other party;
  • the AP For the AP and the device with which it communicates, when the AP needs to send data to the communicating device, the AP first sends an AT to the communicating device, and the communicating device receives the UART that wakes up itself, and then returns OK to the AP.
  • the AP After receiving the OK, the AP sends data to the communicating device. If the AP does not receive the OK returned by the communicating device within the specified time period, the AP may send an AT to the communicating device again, so that the device receives the communication.
  • the communication device first sends an OK to the AP, and the AP receives the OK. After waking up its own UART, it sends a return AT to the communicating device. After receiving the AT, the communicating device sends data to the AP. If the communicating device does not receive the AT returned by the AP within the specified time, it can send another AP to the AP. OK, so loop, until the AT returned by the AP is received; wherein, the specified duration can be set as needed, for example: 50ms;
  • the receiver wakes up its own UART by setting the GPIO interrupt, if the sender's tx signal line is multiplexed into GPIO, then the sender sends a pulse signal first, and the receiver wakes up its own UART after receiving the pulse signal.
  • the receiver In order to ensure that the receiver has roused its own UART, it can send the pre-agreed characters to the receiver after a certain interval, for example, 40ms, and then send the data after receiving the character indicating the wake-up returned by the other party; for example, For AP and its
  • the communication device if the AP wakes up its own UART by setting the GPIO interrupt, and the tx signal line of the device communicating with the AP is multiplexed into GPIO, when the device communicating with the AP needs to send data to the AP, the communication device First, send a pulse signal to the AP. After a delay of 40ms, send an OK to the AP.
  • the AP After receiving the pulse signal, the AP wakes up its own UART, and after receiving the OK, returns the AT to the communicating device, and the communication device receives After the AT, the data is sent to the AP. If the communication device does not receive the AT returned by the AP within the specified time period, it can send an OK to the AP again, and so on, until the AT returned by the AP is received; wherein, the specified duration can be Set according to needs, such as: 50ms;
  • the condition for the receiver to trigger the GPIO interrupt is: Edge detection, ie: detection of rising or falling edge, In actual application, it can be set to detect the rising edge or detect the falling edge to trigger the GPIO interrupt.
  • the receiver Before sending the data, the receiver sends the pre-agreed character, and then sends the data after receiving the character returned by the other party indicating that the wake-up has been received; For example, for an AP and a device communicating with it, if the AP wakes up its own UART by setting a GPIO interrupt, and the tx signal line of the device communicating with the AP is not multiplexed as GPIO, when communicating with the AP When the device needs to send data to the AP, it first sends an OK to the AP. After receiving the OK, the AP wakes up its own UART and returns the AT to the communicating device. After receiving the AT, the communicating device sends data to the AP, if the device is communicating. If the AT returned by the AP is not received within the specified duration, the AP may be sent an OK again, and the loop is received until the AT returned by the AP is received; The specified duration can be set as required, for example: 50ms;
  • connection mode based on the UART communication between the devices of the present invention is a two-wire connection mode, any characters, pulse signals, and data transmitted by the sender are transmitted to the reception through their own tx signal lines. In addition, any characters, pulse signals, and data returned by the receiver in the receiving direction are also returned to the sender through its own tx signal line.
  • the present invention further provides a UART-based sleep wake-up device. As shown in FIG. 3, the device includes: a first device 31 and a second device 32;
  • the first device 31 and the second device 32 each include a UART module
  • the first device 31 is configured to notify the second device 32 through the tx signal line of the self UART when no data is transmitted; and after the notification of the second device 32 is received, bring the UART into a sleep state; and periodically detect itself.
  • the output state of the rx signal line determines the output state of its own rx signal line to wake up its own UART when there is data reception.
  • the second device 32 is configured to notify the first device 31 through the tx signal line of the self UART and receive the UART of the first device 31 after receiving the notification sent by the first device 31 and transmitting data to the first device 31. Enter the sleep state; and detect the output state of its own rx signal line, and determine the output state of its own rx signal line to wake up its own UART when there is data reception.
  • first device 31 and the second device 32 communicate by using a two-wire connection.
  • the first device 31 is further configured to wake up its own UART when data is sent to the second device 32 after sleep, and send the pre-agreed characters to the second device 32 through its own tx signal line, and receive The character returned by the second device 32 indicating that the wake up is;
  • the second device 32 is further configured to: after receiving the character sent by the first device 31, return a character indicating that the wake-up is sent to the first device 31 through the tx signal line of the first device; or
  • the second device 32 is further configured to wake up its own UART when data is sent to the first device 31 after sleep, and send the pre-agreed characters to the first device 31 through its own tx signal line, and receive the first The character returned by device 31 indicates that the character has been woken up;
  • the first device 31 is further configured to: after receiving the character sent by the second device 32, return a character indicating that the wake-up has been sent to the second device 32 through the tx signal line of the second device 32.

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

Disclosed is a universal asynchronous receiver/transmitter (UART)-based wake up from sleep method. The method comprises: when no data is to be transmitted, a first device notifying via a tx signal line of the UART of self a second device in communication with the first device; when the second device receives the notification and the second device has no data to be transmitted to the first device, notifying the first device via the tx signal line of the UART of self, and putting the UART of self into sleep state; when the first device receives the notification, putting the UART of self into sleep state; the first device and the second device regularly inspect the output state of rx signal lines of selves, when the output state of the rx signal lines of selves is determined to be having data to be received, waking up the UART of selves. Also disclosed is a UART-based wake up from sleep device. Employment of the method and the device allows for reduced power consumption on the device and reduced use of GPIO resource of the device.

Description

技术领域 Technical field
本发明涉及无线通信领域, 特别是指一种基于通用异步接收 /发送装置 The present invention relates to the field of wireless communications, and more particularly to a universal asynchronous receiving/transmitting device
( UART, Universal Asynchronous Receiver/Transmitter ) 的睡眠唤醒方法及 装置。 背景技术 (UART, Universal Asynchronous Receiver/Transmitter) sleep wake-up method and device. Background technique
串口也叫串行通信接口, 串口由于具有利用简便的通信信号线即可实 现较强的传输功能, 且传输速度范围广的优点, 成为近年来应用最为广泛 的通信接口。 其中, 由于具有较多的类型, 使得串口的传输速度范围广; 串口的类型包括: UART、 串行外围接口 (SPI, Serial Peripheral Interface ), 以及通用串行总线(USB, Universal Serial BUS )等。 其中, UART由于具 有功耗低、 通信控制简单、 不需要驱动、 以及在无数据传输时可关闭数据 口等优点, 因此, 在实际应用时, 许多设备将 UART作为通信的主要接口。  The serial port is also called serial communication interface. The serial port has the advantage of using a simple communication signal line to realize a strong transmission function and a wide transmission speed range, and has become the most widely used communication interface in recent years. Among them, due to the more types, the serial port has a wide transmission speed; the serial port types include: UART, Serial Peripheral Interface (SPI), and Universal Serial Bus (USB). Among them, the UART has the advantages of low power consumption, simple communication control, no need for driving, and the ability to close the data port when there is no data transmission. Therefore, in practical applications, many devices use the UART as the main interface of communication.
目前, 利用 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更加 灵活, 并且控制更为简便, 从而不仅能提高效率, 而且能减少资源的占用。 Currently, when using UART for communication between devices, the connection between the four wires (tx, rx, cts, and rts) and the two wires (rx and tx) is mainly used. Among them, in the four-wire connection mode, cts and rts can be used to control the data flow. This connection mode can also be called a flow control connection mode. The flow control connection mode can be used when the transmission rates of the communication parties are inconsistent. , to ensure that no data will be lost. In practical applications, if the UART is not used as a modem port, there is no need to use a four-wire connection. A two-wire connection is sufficient. This is because: Most of the current applications only use the UART as a simple communication port, such as: simple interaction of AT commands, not dial-up as a modem; in addition, with devices such as: application processors ( AP, Application Processor ) The addition of peripheral devices, the general purpose input and output of the chip (GPIO, General Purpose Input Resources such as Output will become more and more tense, because the two lines used as flow control can be reused as GPIO. If the two-wire connection method is used, two GPIO resources can be saved, thus making the AP more flexible and more controllable. For simplicity, it not only improves efficiency, but also reduces resource usage.
目前, AP与其连接的设备间利用 UART进行通信时, 存在以下几种睡 眠唤醒方法:  Currently, when the AP communicates with its connected devices using the UART, there are several sleep waking methods:
( 1 ) UART一直开着, 只有当 AP无任务执行且睡眠时, 则 UART睡 眠, 而当 AP有任务执行时, 则再次唤醒 UART, 由于不管 AP执行任务时 需不需要 UART, UART均处于唤醒状态, 如此, 会增加 AP的功耗, 不利 于 AP的设计。  (1) The UART is always on. The UART sleeps only when the AP has no task execution and sleeps. When the AP has a task, it wakes up the UART again. Because the UART is not required when the AP performs the task, the UART is awakened. The state, in this way, will increase the power consumption of the AP, which is not conducive to the design of the AP.
( 2 )通过自定义的睡眠指示和唤醒信号实现 UART的双向唤醒, 由于 自定义的睡眠指示和唤醒信号需要占用 AP的 GPIO资源, 如此, 会增加 AP的资源占用率。  (2) The UART wake-up is implemented by a customized sleep indication and wake-up signal. Since the customized sleep indication and wake-up signal need to occupy the AP's GPIO resources, the AP resource occupancy rate is increased.
( 3 )把作为流控使用的两线复用成 GPIO, 利用流控的作用实现双向 唤醒,该方法只适用于四线连接的方式,并且该方法同样会增加 AP的 GPIO 资源的占用率。 发明内容  (3) The two lines used as flow control are multiplexed into GPIO, and the two-way wake-up is realized by the action of flow control. This method is only applicable to the four-wire connection mode, and the method also increases the occupancy rate of the AP's GPIO resources. Summary of the invention
有鉴于此, 本发明的主要目的在于提供一种基于 UART的睡眠唤醒方 法及装置, 能降低设备的功耗, 并能减少对 GPIO资源的使用。  In view of this, the main object of the present invention is to provide a UART-based sleep wake-up method and apparatus, which can reduce the power consumption of the device and reduce the use of GPIO resources.
为达到上述目的, 本发明的技术方案是这样实现的:  In order to achieve the above object, the technical solution of the present invention is achieved as follows:
本发明提供了一种基于 UART的睡眠唤醒方法, 该方法包括: 当没有数据发送时, 第一设备通过自身 UART的 tx信号线通知与所述 第一设备进行通信的第二设备;  The present invention provides a UART-based sleep wake-up method, the method comprising: when no data is transmitted, the first device notifies the second device that communicates with the first device by using a tx signal line of the UART;
所述第二设备收到通知后且自身没有数据发送给所述第一设备时, 通 过自身 UART的 tx信号线通知所述第一设备,并使自身的 UART进入睡眠 状态; 所述第一设备收到通知后, 使自身的 UART进入睡眠状态; 所述第一设备及所述第二设备定时检测自身 rx信号线的输出状态, 确 定自身 rx信号线的输出状态为有数据接收时, 唤醒自身的 UART。 After receiving the notification, and the second device does not send data to the first device, the second device notifies the first device by using a tx signal line of the UART, and causes the UART of the UART to enter a sleep state; After receiving the notification, the first device enters its own UART into a sleep state; the first device and the second device periodically detect an output state of the rx signal line thereof, and determine that the output state of the rx signal line is data. When receiving, wake up its own UART.
上述方案中, 所述第一设备通过自身 UART的 tx信号线通知与第一设 备进行通信的第二设备, 为:  In the above solution, the first device notifies the second device that communicates with the first device by using the tx signal line of the UART of the UART, that is:
所述第一设备将自身的 tx信号线设置为中断(break )模式。  The first device sets its own tx signal line to a break mode.
上述方案中,所述通过自身 UART的 tx信号线通知所述第一设备,为: 所述第二设备将自身的 tx信号线设置为 break模式。  In the above solution, the first device is notified by the tx signal line of the own UART, wherein: the second device sets its own tx signal line to a break mode.
上述方案中, 所述定时检测自身 rx信号线的输出状态, 确定自身 rx信 号线的输出状态为有数据接收时, 唤醒自身的 UART, 为:  In the above solution, the timing detects the output state of the rx signal line, and determines that the output state of the rx signal line is a data reception, and wakes up its own UART, which is:
设置定时检测自身 rx信号线引脚状态的函数, 并在定时检测函数的唤 醒处理中增加 UART恢复函数, 通过定时检测函数, 检测设备自身 rx信号 线的输出状态, 并在确定设备自身 rx信号线的电平值为高时, 通过 UART 恢复函数唤醒设备自身的 UART。  Set the function of timing detection of the pin state of its own rx signal line, and increase the UART recovery function in the wake-up processing of the timing detection function, detect the output state of the rx signal line of the device itself through the timing detection function, and determine the rx signal line of the device itself. When the level value is high, the device's own UART is woken up by the UART recovery function.
上述方案中, 所述定时检测自身 rx信号线的输出状态, 确定自身 rx信 号线的输出状态为有数据接收时, 唤醒自身的 UART, 为:  In the above solution, the timing detects the output state of the rx signal line, and determines that the output state of the rx signal line is a data reception, and wakes up its own UART, which is:
设置 rx中断,并在中断处理中增加 UART恢复函数,设备自身 rx信号 线的电平值不为低时, 触发所述 rx中断, 并通过 UART恢复函数唤醒设备 自身的 UART。  Set the rx interrupt and add the UART recovery function to the interrupt processing. When the device's own rx signal line level is not low, the rx interrupt is triggered and the device's own UART is woken up by the UART recovery function.
上述方案中, 所述定时检测自身 rx信号线的输出状态, 确定自身 rx信 号线的输出状态为有数据接收时, 唤醒自身的 UART, 为:  In the above solution, the timing detects the output state of the rx signal line, and determines that the output state of the rx signal line is a data reception, and wakes up its own UART, which is:
设置 GPIO中断, 并在中断处理中增加 UART恢复函数, 设备检测到 边沿或电平值为高时, 触发所述 GPIO中断, 并通过 UART恢复函数唤醒 设备自身的 UART。  Set the GPIO interrupt and add the UART recovery function to the interrupt processing. When the device detects that the edge or level value is high, it triggers the GPIO interrupt and wakes up the device's own UART through the UART recovery function.
上述方案中, 所述确定自身 rx信号线的输出状态为有数据接收时的时 机为: In the above solution, the determining the output state of the rx signal line is when there is data reception. The machine is:
数据发送方发送事先约定的字符; 或者,  The data sender sends the pre-agreed characters; or,
数据发送方发送脉沖信号, 延时后再向数据接收方发送事先约定的字 付。  The data sender sends a pulse signal, and then sends a pre-agreed word payment to the data receiver after the delay.
上述方案中, 在唤醒自身的 UART后, 该方法进一步包括:  In the above solution, after awakening its own UART, the method further includes:
向数据发送方返回表示已唤醒的字符。  Returns a character that has been woken up to the data sender.
本发明还提供了一种基于 UART的睡眠唤醒装置, 该装置包括: 第一 设备及第二设备; 其中,  The present invention also provides a UART-based sleep wake-up device, the device comprising: a first device and a second device;
第一设备, 用于当没有数据发送时, 通过自身 UART的 tx信号线通知 第二设备; 并在收到第二设备的通知后, 使自身的 UART进入睡眠状态; 并定时检测自身 rx信号线的输出状态,确定自身 rx信号线的输出状态为有 数据接收时, 唤醒自身的 UART;  a first device, configured to notify the second device by using a tx signal line of the UART when no data is sent; and, after receiving the notification of the second device, bringing the UART into a sleep state; and periodically detecting the rx signal line thereof The output state, determine the output state of its own rx signal line to wake up its own UART when there is data reception;
第二设备, 用于收到第一设备发送的通知后, 且自身没有数据发送给 第一设备时, 通过自身 UART的 tx信号线通知所述第一设备, 并使自身的 UART进入睡眠状态; 并检测自身 rx信号线的输出状态, 确定自身 rx信号 线的输出状态为有数据接收时, 唤醒自身的 UART。  The second device, after receiving the notification sent by the first device, and having no data to send to the first device, notifying the first device by using the tx signal line of the UART, and bringing the UART into a sleep state; And detect the output state of its own rx signal line, and determine the output state of its own rx signal line to wake up its own UART when there is data reception.
上述方案中, 所述第一设备, 还用于睡眠后当有数据发送给第二设备 时, 唤醒自身的 UART, 并通过自身的 tx信号线发送事先约定的字符给第 二设备, 并接收第二设备返回的表示已唤醒的字符;  In the above solution, the first device is further configured to wake up its own UART when data is sent to the second device after sleep, and send the pre-agreed character to the second device through its own tx signal line, and receive the first The character returned by the second device indicating the wake-up character;
所述第二设备, 还用于收到第一设备发送的字符后, 通过自身的 tx信 号线向第一设备返回表示已唤醒的字符; 或者,  The second device is further configured to: after receiving the character sent by the first device, return a character indicating that the wake-up is returned to the first device by using the tx signal line of the first device; or
所述第二设备, 还用于睡眠后当有数据发送给第一设备时, 唤醒自身 的 UART, 并通过自身的 tx信号线发送事先约定的字符给第一设备, 并接 收第一设备返回的表示已唤醒的字符;  The second device is further configured to wake up its own UART when data is sent to the first device after sleep, and send the pre-agreed character to the first device through its own tx signal line, and receive the returned by the first device. Represents a character that has been woken up;
所述第一设备, 还用于收到第二设备发送的字符后, 通过自身的 tx信 号线向第二设备返回表示已唤醒的字符。 The first device is further configured to: after receiving the character sent by the second device, by using its own tx letter The line returns a character indicating that the wake up has been returned to the second device.
本发明提供的基于 UART的睡眠唤醒方法及装置, 当没有数据发送时, 第一设备通过自身 UART的 tx信号线通知与所述第一设备进行通信的第二 设备; 所述第二设备收到通知后且自身没有数据发送给所述第一设备时, 通过自身 UART的 tx信号线通知所述第一设备, 并使自身的 UART进入睡 眠状态; 所述第一设备收到通知后, 使自身的 UART进入睡眠状态; 所述 第一设备及所述第二设备定时检测自身 rx信号线的输出状态, 确定自身 rx 信号线的输出状态为有数据接收时, 唤醒自身的 UART, 如此, 能降低设 备的功耗, 并且还能减少对设备 GPIO资源的使用。 附图说明  The UART-based sleep wake-up method and apparatus provided by the present invention, when no data is transmitted, the first device notifies the second device that communicates with the first device through the tx signal line of the UART; the second device receives After the notification and no data is sent to the first device by itself, the first device is notified by the tx signal line of the UART, and the UART of the user is put into a sleep state; after receiving the notification, the first device makes itself The UART enters a sleep state; the first device and the second device periodically detect an output state of the rx signal line thereof, and determine that the output state of the rx signal line of the self is the data UART, and wake up its own UART, so that the UART can be lowered. The power consumption of the device and also reduces the use of device GPIO resources. DRAWINGS
图 1为本发明基于 UART的睡眠唤醒的方法流程示意图;  1 is a schematic flow chart of a method for waking up sleep based on UART according to the present invention;
图 1为本发明的基于 UART通信的设备间的连接方式示意图; 图 3为本发明基于 UART的睡眠唤醒的装置结构示意图。 具体实施方式  1 is a schematic diagram of a connection mode between devices based on UART communication according to the present invention; FIG. 3 is a schematic structural diagram of a device for sleep wake-up based on UART according to the present invention. detailed description
下面结合附图及具体实施例对本发明再作进一步详细的说明。  The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
本发明基于 UART的睡眠唤醒方法, 如图 1所示, 包括以下步驟: 步驟 101: 当没有数据发送时, 第一设备通过自身 UART的 tx信号线 通知与所述第一设备进行通信的第二设备;  The UART-based sleep wake-up method, as shown in FIG. 1, includes the following steps: Step 101: When no data is transmitted, the first device notifies the second communication with the first device by using a tx signal line of the UART of the UART. Equipment
这里, 图 1 为本发明所述第一设备与所述第二设备进行通信的连接方 式示意图, 从图 2 中可以看出, 所述第一设备与所述第二设备通过两线的 连接方式进行通信, 即: 所述第一设备的 tx信号线为所述第二设备的 rx信 号线, 所述第一设备的 rx信号线为所述第二设备的 tx信号线, 其中, tx信 号线用于发送数据, rx信号线用于接收数据; 另外, 为了保证传输信号的 稳定性, 还可以在所述第一设备与所述第二设备之间增加 GND信号线, 表 示接地; Here, FIG. 1 is a schematic diagram of a connection manner between a first device and a second device according to the present invention. As can be seen from FIG. 2, the first device and the second device are connected by two lines. Communicating, that is, the tx signal line of the first device is an rx signal line of the second device, and the rx signal line of the first device is a tx signal line of the second device, where the tx signal line For transmitting data, the rx signal line is used for receiving data; in addition, in order to ensure the stability of the transmission signal, a GND signal line may be added between the first device and the second device, Grounding
由于本发明采用两线的连接方式, 没有 GPIO可以辅助, 因此, 当所述 第一设备没有数据发送时, 必须通过 tx信号线通知给所述第二设备;  Since the present invention adopts a two-wire connection manner, no GPIO can be assisted. Therefore, when the first device has no data transmission, it must be notified to the second device through the tx signal line;
依据 RS232协议规定: 在数据发送过程中, 为了使发送的数据块能间 隔开, 在发送的过程中可以将 tx信号线设置为 break模式, 即: 使 tx信号 线的电平值为零; 因此, 本步驟的具体实现可以为:  According to the RS232 protocol: In the process of data transmission, in order to enable the transmitted data blocks to be spaced apart, the tx signal line can be set to the break mode during the transmission, that is, the level of the tx signal line is zero; The specific implementation of this step can be:
当没有数据发送时, 所述第一设备将自身的 tx信号线设置为 break模 式; 其中,设置为 break模式的具体处理流程与现有技术的具体处理流程完 全相同, 这里不再赘述; 设置为 break模式后, 第一设备的 tx信号线的电 平值则为零, 从而以此通知所述第二设备没有数据发送了;  When there is no data transmission, the first device sets its own tx signal line to the break mode. The specific processing flow set to the break mode is exactly the same as the specific processing flow of the prior art, and is not described here; After the break mode, the level value of the tx signal line of the first device is zero, thereby notifying the second device that no data is transmitted;
所述第一设备与所述第二设备均可以是遵循 RS232协议基于 UART进 行通信的任意一个设备, 所述第一设备具体可以是 AP、 或个人电脑(PC, Personal Computer )等, 相应的, 所述第二设备可以是与 AP、 或 PC等采 用 UART进行通信的设备。  The first device and the second device may be any device that communicates according to the UART according to the RS232 protocol, and the first device may be an AP, or a personal computer (PC, etc.), correspondingly, The second device may be a device that communicates with an AP, a PC, or the like using a UART.
步驟 102:所述第二设备收到通知后且自身没有数据发送给所述第一设 备时, 通过自身 UART的 tx信号线通知所述第一设备, 并使自身的 UART 进入睡眠状态;  Step 102: After receiving the notification and the data is not sent to the first device by itself, the second device notifies the first device by using a tx signal line of its own UART, and brings its own UART into a sleep state;
这里, 所述第一设备的 tx信号线设置为 break模式后, 所述第二设备 就会检测到所述第一设备的 tx信号线的电平值一直持续为零, 所述第二设 备可以据此确定所述第一设备无数据发送了; 因此, 所述第二设备收到通 知的具体实现, 可以为:  Here, after the tx signal line of the first device is set to the break mode, the second device detects that the level value of the tx signal line of the first device continues to be zero, and the second device may Therefore, it is determined that the first device has no data to be sent; therefore, the specific implementation of the notification received by the second device may be:
所述第二设备检测到所述第一设备的 tx信号线的电平值为零的时长达 到预定时长后, 则可以认为所述第一设备的 UART具备进入睡眠状态的条 件;  After the second device detects that the level of the tx signal line of the first device is zero for a predetermined period of time, the UART of the first device may be considered to have a condition of entering a sleep state;
其中, 在实际应用时, 所述第二设备在检测到所述第一设备的 tx信号 线的电平值为零后, 可以启动一个定时器, 在定时器超时后, 如果所述第 一设备的 tX信号线的电平值在定时器的时长内持续为零, 则认为所述第一 设备的 UART具备进入睡眠状态的条件; 所述定时器的时长可以根据需要 进行设置, 比如: 50ms、 100ms等; Wherein, in actual application, the second device detects the tx signal of the first device After the level value of the line is zero, a timer may be started. After the timer expires, if the level value of the tX signal line of the first device continues to be zero for the duration of the timer, the first The UART of a device has a condition for entering a sleep state; the duration of the timer can be set as needed, for example: 50ms, 100ms, etc.;
所述通过自身 UART的 tx信号线通知所述第一设备, 具体为: 所述第二设备将自身的 tx信号线设置为 break模式;其中,设置为 break 模式的具体处理流程与现有技术的具体处理流程完全相同, 这里不再赘述; 如果所述第二设备收到通知且自身还有数据发送给所述第一设备时, 则不向所述第一设备发送任何信息;  The first device is notified by the tx signal line of the UART, specifically: the second device sets its own tx signal line to a break mode; wherein the specific processing flow set to the break mode is related to the prior art. The specific processing flow is the same, and is not described here. If the second device receives the notification and has data to the first device, it does not send any information to the first device.
所述第二设备使自身的 UART进入睡眠状态的具体处理过程与现有技 术的处理过程完全相同, 这里不再赘述。  The specific processing procedure of the second device to bring its own UART into a sleep state is exactly the same as that of the prior art, and details are not described herein again.
步驟 103: 所述第一设备收到通知后, 使自身的 UART进入睡眠状态; 相应的, 所述第一设备检测到所述第二设备的 tx信号线的电平值为零 的时长达到预定时长后, 则可以认为所述第二设备的 UART具备进入睡眠 状态的条件;  Step 103: After receiving the notification, the first device enters its own UART into a sleep state. Correspondingly, the first device detects that the level of the tx signal line of the second device is zero. After the duration, the UART of the second device can be considered to have a condition of entering a sleep state;
其中, 在实际应用时, 所述第一设备在检测到所述第二设备的 tx信号 线的电平值为零后, 可以启动一个定时器, 在定时器超时后, 如果所述第 二设备的 tx信号线的电平值在定时器的时长内持续为零, 则认为所述第二 设备的 UART具备进入睡眠状态的条件; 所述定时器的时长可以根据需要 进行设置, 比如: 50ms、 100ms等;  In the actual application, after detecting that the level value of the tx signal line of the second device is zero, the first device may start a timer, after the timer expires, if the second device The level value of the tx signal line continues to be zero for the duration of the timer, and the UART of the second device is considered to have a condition of entering a sleep state; the duration of the timer can be set as needed, for example: 50 ms, 100ms, etc.;
所述第一设备使自身的 UART进入睡眠状态的具体处理过程与现有技 术的处理过程完全相同, 这里不再赘述。  The specific processing procedure of the first device to bring its own UART into a sleep state is exactly the same as that of the prior art, and details are not described herein again.
步驟 104: 所述第一设备及所述第二设备定时检测自身 rx信号线的输 出状态,确定自身 rx信号线的输出状态为有数据接收时,唤醒自身的 UART。  Step 104: The first device and the second device periodically detect an output state of the rx signal line, and determine that the output state of the rx signal line is a data reception, and wake up its own UART.
这里, 由于基于 UART进行通信时, 没有任何外部的硬件终端可以利 用, 因此, 只能通过软件的方式来检测并唤醒 UART; 具体地, 可以是: 设置定时检测自身 rx信号线引脚状态的函数, 并在定时检测函数的唤醒处 理中增加 UART恢复函数, 通过定时检测函数, 检测设备自身 rx信号线的 输出状态, 并在确定设备自身 rx信号线的电平值为高时, 通过 UART恢复 函数唤醒设备自身的 UART; 其中, 定时的时长可以依据需要进行设置, 经试险进行测试,定时的时长可以是 50~500ms之间的任一值,比如: 100ms 等; Here, since communication is based on the UART, there is no external hardware terminal that can benefit Therefore, the UART can only be detected and awakened by software; specifically, it can be: set a function to periodically detect the state of its own rx signal line pin, and add a UART recovery function in the wake-up processing of the timing detection function, The timing detection function detects the output state of the rx signal line of the device itself, and wakes up the UART of the device itself through the UART recovery function when determining that the level value of the rx signal line of the device itself is high; wherein, the timing of the timing can be set according to needs Tested by trial and error, the time duration can be any value between 50 and 500ms, such as: 100ms;
在实际应用时, 与 AP进行通信的设备一般会自带 rx中断检测机制, 因此,如果进行通信的设备自带有 rx中断时,本步驟的具体实现还可以为: 设置 rx中断, 并在中断处理中增加 UART恢复函数, 只要所述设备检 测到自身 rx信号线的电平值不为低时, 即: 电平值不为零时, 则触发所述 rx中断, 从而唤醒设备自身的 UART;  In actual application, the device that communicates with the AP generally has its own rx interrupt detection mechanism. Therefore, if the device that communicates has its own rx interrupt, the specific implementation of this step can also be: Set the rx interrupt, and interrupt The UART recovery function is added during processing, as long as the device detects that the level value of its own rx signal line is not low, that is, when the level value is not zero, the rx interrupt is triggered, thereby awakening the device's own UART;
在实际应用时, 如果所述第一设备和 /或所述第二设备自带有 GPIO 中 断时, 本步驟的具体实现还可以为:  In actual application, if the first device and/or the second device are self-contained with GPIO, the specific implementation of this step may also be:
设置 GPIO中断, 并在中断处理中增加 UART恢复函数, 只要所述设 备检测到边沿或电平值为高时, 则触发所述 GPIO中断,从而唤醒设备自身 的 UART;  Setting the GPIO interrupt and adding a UART recovery function to the interrupt processing. When the device detects that the edge or level value is high, the GPIO interrupt is triggered, thereby awakening the device's own UART;
其中, 如果数据发送方的 tx信号线复用为 GPIO, 此时, 发送方通过自 身的 tx信号线即接收方的 rx信号线发送的是脉沖信号,可以设置通过检测 边沿或电平值来触发 GPIO中断, 如果发送方的 tx信号线不复用为 GPIO, 此时发送方发送的是字符, 则设置通过检测边沿来触发 GPIO中断;检测到 的边沿具体可以是上升沿或下降沿; 在实际应用时, 可以选择检测上升沿 和下降沿中的任意一种来触发 GPIO中断;  Wherein, if the tx signal line of the data sender is multiplexed into GPIO, at this time, the sender transmits a pulse signal through its own tx signal line, that is, the rx signal line of the receiver, and can be set to trigger by detecting an edge or a level value. GPIO interrupt, if the sender's tx signal line is not multiplexed into GPIO, then the sender sends a character, then the GPIO interrupt is triggered by detecting the edge; the detected edge can be a rising edge or a falling edge; When applied, you can choose to detect any of the rising and falling edges to trigger the GPIO interrupt.
在实际应用过程中, 所述第一设备及所述第二设备均可以选择上述三 种检测及唤醒方法中的任意一种; 这里, 所述第一设备及所述第二设备事先已经获知对方采用上述哪种 方式检测并唤醒 UART; 所述第一设备及所述第二设备确定自身 rx信号线 的输出状态为有数据接收时的时机为: 对方设备有数据发送, 此时, 对方 设备先唤醒自身的 UART, 之后先发送双方事先约定好的字符, 从而使得 数据接收方可以唤醒自身的 UART, 唤醒后再发送数据; In the actual application process, the first device and the second device may select any one of the foregoing three detection and wake-up methods; Here, the first device and the second device have previously learned which way the other party detects and wakes up the UART; the first device and the second device determine that the output state of the rx signal line is data receiving. The timing is as follows: The other device has data transmission. At this time, the other device wakes up its own UART first, and then sends the previously agreed characters first, so that the data receiver can wake up its own UART and wake up before sending the data.
具体地, 如果接收方采用设置定时检测函数的方式、 或设置 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;  Specifically, if the receiver wakes up its own UART by setting a timing detection function or setting an rx interrupt, the two sides of the communication, that is, the first device and the second device, are agreed to be sent to the other party in advance. The character and the feedback from the other party indicate that the character has been awakened. When there is data transmission, the sender first sends the pre-agreed character to the receiver, and then sends the data after receiving the character indicating the wake-up that is returned by the other party; For the AP and the device with which it communicates, when the AP needs to send data to the communicating device, the AP first sends an AT to the communicating device, and the communicating device receives the UART that wakes up itself, and then returns OK to the AP. After receiving the OK, the AP sends data to the communicating device. If the AP does not receive the OK returned by the communicating device within the specified time period, the AP may send an AT to the communicating device again, so that the device receives the communication. When the returned device needs to send data to the AP, the communication device first sends an OK to the AP, and the AP receives the OK. After waking up its own UART, it sends a return AT to the communicating device. After receiving the AT, the communicating device sends data to the AP. If the communicating device does not receive the AT returned by the AP within the specified time, it can send another AP to the AP. OK, so loop, until the AT returned by the AP is received; wherein, the specified duration can be set as needed, for example: 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; When the receiver wakes up its own UART by setting the GPIO interrupt, if the sender's tx signal line is multiplexed into GPIO, then the sender sends a pulse signal first, and the receiver wakes up its own UART after receiving the pulse signal. In order to ensure that the receiver has roused its own UART, it can send the pre-agreed characters to the receiver after a certain interval, for example, 40ms, and then send the data after receiving the character indicating the wake-up returned by the other party; for example, For AP and its The communication device, if the AP wakes up its own UART by setting the GPIO interrupt, and the tx signal line of the device communicating with the AP is multiplexed into GPIO, when the device communicating with the AP needs to send data to the AP, the communication device First, send a pulse signal to the AP. After a delay of 40ms, send an OK to the AP. After receiving the pulse signal, the AP wakes up its own UART, and after receiving the OK, returns the AT to the communicating device, and the communication device receives After the AT, the data is sent to the AP. If the communication device does not receive the AT returned by the AP within the specified time period, it can send an OK to the AP again, and so on, until the AT returned by the AP is received; wherein, the specified duration can be Set according to needs, such as: 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;  If the sender's tx signal line is not multiplexed into GPIO, at this time, since the receiver does not detect the level value, the condition for the receiver to trigger the GPIO interrupt is: Edge detection, ie: detection of rising or falling edge, In actual application, it can be set to detect the rising edge or detect the falling edge to trigger the GPIO interrupt. Before sending the data, the receiver sends the pre-agreed character, and then sends the data after receiving the character returned by the other party indicating that the wake-up has been received; For example, for an AP and a device communicating with it, if the AP wakes up its own UART by setting a GPIO interrupt, and the tx signal line of the device communicating with the AP is not multiplexed as GPIO, when communicating with the AP When the device needs to send data to the AP, it first sends an OK to the AP. After receiving the OK, the AP wakes up its own UART and returns the AT to the communicating device. After receiving the AT, the communicating device sends data to the AP, if the device is communicating. If the AT returned by the AP is not received within the specified duration, the AP may be sent an OK again, and the loop is received until the AT returned by the AP is received; The specified duration can be set as required, for example: 50ms;
这里需要说明的是: 由于本发明设备间基于 UART进行通信的连接方 式为两线的连接方式, 因此, 发送方发送的任何字符、 脉沖信号、 以及数 据等均通过自身的 tx信号线发送给接收方, 相应的, 接收方向发送方返回 的任何字符、 脉沖信号、 以及数据等也均通过自身的 tx信号线返回给发送 方。 为实现上述方法, 本发明还提供了一种基于 UART的睡眠唤醒装置, 如图 3所示, 该装置包括: 第一设备 31及第二设备 32; 其中, It should be noted here that: since the connection mode based on the UART communication between the devices of the present invention is a two-wire connection mode, any characters, pulse signals, and data transmitted by the sender are transmitted to the reception through their own tx signal lines. In addition, any characters, pulse signals, and data returned by the receiver in the receiving direction are also returned to the sender through its own tx signal line. In order to achieve the above method, the present invention further provides a UART-based sleep wake-up device. As shown in FIG. 3, the device includes: a first device 31 and a second device 32;
第一设备 31及第二设备 32均包括 UART模块;  The first device 31 and the second device 32 each include a UART module;
第一设备 31 , 用于当没有数据发送时, 通过自身 UART的 tx信号线通 知第二设备 32; 并在收到第二设备 32的通知后, 使自身的 UART进入睡 眠状态; 并定时检测自身 rx信号线的输出状态, 确定自身 rx信号线的输出 状态为有数据接收时, 唤醒自身的 UART。  The first device 31 is configured to notify the second device 32 through the tx signal line of the self UART when no data is transmitted; and after the notification of the second device 32 is received, bring the UART into a sleep state; and periodically detect itself. The output state of the rx signal line determines the output state of its own rx signal line to wake up its own UART when there is data reception.
第二设备 32, 用于收到第一设备 31发送的通知后, 且自身没有数据发 送给第一设备 31时, 通过自身 UART的 tx信号线通知所述第一设备 31, 并使自身的 UART进入睡眠状态; 并检测自身 rx信号线的输出状态, 确定 自身 rx信号线的输出状态为有数据接收时, 唤醒自身的 UART。  The second device 32 is configured to notify the first device 31 through the tx signal line of the self UART and receive the UART of the first device 31 after receiving the notification sent by the first device 31 and transmitting data to the first device 31. Enter the sleep state; and detect the output state of its own rx signal line, and determine the output state of its own rx signal line to wake up its own UART when there is data reception.
这里, 需要说明的是: 第一设备 31与第二设备 32采用两线的连接方 式进行通信。  Here, it should be noted that the first device 31 and the second device 32 communicate by using a two-wire connection.
其中,所述第一设备 31 ,还用于睡眠后当有数据发送给第二设备 32时, 唤醒自身的 UART, 并通过自身的 tx信号线发送事先约定的字符给第二设 备 32, 并接收第二设备 32返回的表示已唤醒的字符;  The first device 31 is further configured to wake up its own UART when data is sent to the second device 32 after sleep, and send the pre-agreed characters to the second device 32 through its own tx signal line, and receive The character returned by the second device 32 indicating that the wake up is;
所述第二设备 32,还用于收到第一设备 31发送的字符后, 通过自身的 tx信号线向第一设备 31返回表示已唤醒的字符; 或者,  The second device 32 is further configured to: after receiving the character sent by the first device 31, return a character indicating that the wake-up is sent to the first device 31 through the tx signal line of the first device; or
所述第二设备 32 ,还用于睡眠后当有数据发送给第一设备 31时, 唤醒 自身的 UART,并通过自身的 tx信号线发送事先约定的字符给第一设备 31 , 并接收第一设备 31返回的表示已唤醒的字符;  The second device 32 is further configured to wake up its own UART when data is sent to the first device 31 after sleep, and send the pre-agreed characters to the first device 31 through its own tx signal line, and receive the first The character returned by device 31 indicates that the character has been woken up;
所述第一设备 31 ,还用于收到第二设备 32发送的字符后, 通过自身的 tx信号线向第二设备 32返回表示已唤醒的字符。  The first device 31 is further configured to: after receiving the character sent by the second device 32, return a character indicating that the wake-up has been sent to the second device 32 through the tx signal line of the second device 32.
这里, 本发明的所述装置中的第一设备及第二设备的具体处理过程已 在上文中评述, 不再赘述。 以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围, 凡在本发明的精神和原则之内所作的任何修改、 等同替换和改进 等, 均应包含在本发明的保护范围之内。 Here, the specific processing procedure of the first device and the second device in the device of the present invention has been reviewed above, and details are not described herein again. The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included. Within the scope of protection of the present invention.

Claims

权利要求书 Claim
1、 一种基于通用异步接收 /发送装置(UART ) 的睡眠唤醒方法, 其特 征在于, 该方法包括:  A sleep wake-up method based on a universal asynchronous receiving/transmitting device (UART), characterized in that the method comprises:
当没有数据发送时, 第一设备通过自身 UART的 tx信号线通知与所述 第一设备进行通信的第二设备;  When there is no data transmission, the first device notifies the second device that communicates with the first device through the tx signal line of the UART;
所述第二设备收到通知后且自身没有数据发送给所述第一设备时, 通 过自身 UART的 tx信号线通知所述第一设备,并使自身的 UART进入睡眠 状态;  After receiving the notification and the data is not sent by the second device to the first device, the second device notifies the first device by using the tx signal line of the UART, and causes the UART of the UART to enter a sleep state;
所述第一设备收到通知后, 使自身的 UART进入睡眠状态;  After receiving the notification, the first device causes its own UART to enter a sleep state;
所述第一设备及所述第二设备定时检测自身 rx信号线的输出状态, 确 定自身 rx信号线的输出状态为有数据接收时, 唤醒自身的 UART。  The first device and the second device periodically detect the output state of the rx signal line, and determine that the output state of the rx signal line is the UART that wakes up when there is data reception.
2、 根据权利要求 1所述的方法, 其特征在于, 所述第一设备通过自身 UART的 tx信号线通知与第一设备进行通信的第二设备, 为:  2. The method according to claim 1, wherein the first device notifies the second device that communicates with the first device by using a tx signal line of the UART of the UART, that is:
所述第一设备将自身的 tx信号线设置为中断(break )模式。  The first device sets its own tx signal line to a break mode.
3、 根据权利要求 2所述的方法, 其特征在于, 所述通过自身 UART的 tx信号线通知所述第一设备, 为:  3. The method according to claim 2, wherein the notifying the first device by using a tx signal line of the UART is:
所述第二设备将自身的 tx信号线设置为 break模式。  The second device sets its own tx signal line to a break mode.
4、 根据权利要求 1、 2或 3所述的方法, 其特征在于, 所述定时检测 自身 rx信号线的输出状态,确定自身 rx信号线的输出状态为有数据接收时, 唤醒自身的 UART, 为:  The method according to claim 1, 2 or 3, wherein the timing detects an output state of the rx signal line, and determines that the output state of the rx signal line is a data reception, and wakes up its own UART. For:
设置定时检测自身 rx信号线引脚状态的函数, 并在定时检测函数的唤 醒处理中增加 UART恢复函数, 通过定时检测函数, 检测设备自身 rx信号 线的输出状态, 并在确定设备自身 rx信号线的电平值为高时, 通过 UART 恢复函数唤醒设备自身的 UART。  Set the function of timing detection of the pin state of its own rx signal line, and increase the UART recovery function in the wake-up processing of the timing detection function, detect the output state of the rx signal line of the device itself through the timing detection function, and determine the rx signal line of the device itself. When the level value is high, the device's own UART is woken up by the UART recovery function.
5、 根据权利要求 1、 2或 3所述的方法, 其特征在于, 所述定时检测 自身 rx信号线的输出状态,确定自身 rx信号线的输出状态为有数据接收时, 唤醒自身的 UART, 为: 5. The method according to claim 1, 2 or 3, characterized in that said timing detection The output state of its own rx signal line determines the output state of its own rx signal line to wake up its own UART when there is data reception, which is:
设置 rx中断,并在中断处理中增加 UART恢复函数,设备自身 rx信号 线的电平值不为低时, 触发所述 rx中断, 并通过 UART恢复函数唤醒设备 自身的 UART。  Set the rx interrupt and add the UART recovery function to the interrupt processing. When the device's own rx signal line level is not low, the rx interrupt is triggered and the device's own UART is woken up by the UART recovery function.
6、 根据权利要求 1、 2或 3所述的方法, 其特征在于, 所述定时检测 自身 rx信号线的输出状态,确定自身 rx信号线的输出状态为有数据接收时, 唤醒自身的 UART, 为:  The method according to claim 1, 2 or 3, wherein the timing detects an output state of the rx signal line, and determines that the output state of the rx signal line is a data reception, and wakes up its own UART. For:
设置通用输入输出 (GPIO ) 中断, 并在中断处理中增加 UART恢复函 数, 设备检测到边沿或电平值为高时, 触发所述 GPIO中断, 并通过 UART 恢复函数唤醒设备自身的 UART。  Set the general-purpose input/output (GPIO) interrupt, and add the UART recovery function in the interrupt processing. When the device detects that the edge or level value is high, it triggers the GPIO interrupt and wakes up the device's own UART through the UART recovery function.
7、 根据权利要求 1、 2或 3所述的方法, 其特征在于, 所述确定自身 rx信号线的输出状态为有数据接收时的时机为:  The method according to claim 1, 2 or 3, wherein the timing of determining the output state of the self rx signal line as having data reception is:
数据发送方发送事先约定的字符; 或者,  The data sender sends the pre-agreed characters; or,
数据发送方发送脉沖信号, 延时后再向数据接收方发送事先约定的字 付。  The data sender sends a pulse signal, and then sends a pre-agreed word payment to the data receiver after the delay.
8、根据权利要求 7所述的方法,其特征在于,在唤醒自身的 UART后, 该方法进一步包括:  8. The method of claim 7, wherein after awakening its own UART, the method further comprises:
向数据发送方返回表示已唤醒的字符。  Returns a character that has been woken up to the data sender.
9、 一种基于 UART的睡眠唤醒装置, 其特征在于, 该装置包括: 第一 设备及第二设备; 其中,  A UART-based sleep awake device, the device comprising: a first device and a second device;
第一设备, 用于当没有数据发送时, 通过自身 UART的 tx信号线通知 第二设备; 并在收到第二设备的通知后, 使自身的 UART进入睡眠状态; 并定时检测自身 rx信号线的输出状态,确定自身 rx信号线的输出状态为有 数据接收时, 唤醒自身的 UART; 第二设备, 用于收到第一设备发送的通知后, 且自身没有数据发送给 第一设备时, 通过自身 UART的 tx信号线通知所述第一设备, 并使自身的 UART进入睡眠状态; 并检测自身 rx信号线的输出状态, 确定自身 rx信号 线的输出状态为有数据接收时, 唤醒自身的 UART。 a first device, configured to notify the second device by using a tx signal line of the UART when no data is sent; and, after receiving the notification of the second device, bringing the UART into a sleep state; and periodically detecting the rx signal line thereof The output state, determine the output state of its own rx signal line to wake up its own UART when there is data reception; The second device, after receiving the notification sent by the first device, and having no data to send to the first device, notifying the first device by using the tx signal line of the UART, and bringing the UART into a sleep state; And detect the output state of its own rx signal line, and determine the output state of its own rx signal line to wake up its own UART when there is data reception.
10、 根据权利要求 9所述的装置, 其特征在于,  10. Apparatus according to claim 9 wherein:
所述第一设备, 还用于睡眠后当有数据发送给第二设备时, 唤醒自身 的 UART, 并通过自身的 tx信号线发送事先约定的字符给第二设备, 并接 收第二设备返回的表示已唤醒的字符;  The first device is further configured to wake up its own UART when data is sent to the second device after sleep, and send the pre-agreed character to the second device through its own tx signal line, and receive the returned by the second device. Represents a character that has been woken up;
所述第二设备, 还用于收到第一设备发送的字符后, 通过自身的 tx信 号线向第一设备返回表示已唤醒的字符; 或者,  The second device is further configured to: after receiving the character sent by the first device, return a character indicating that the wake-up is returned to the first device by using the tx signal line of the first device; or
所述第二设备, 还用于睡眠后当有数据发送给第一设备时, 唤醒自身 的 UART, 并通过自身的 tx信号线发送事先约定的字符给第一设备, 并接 收第一设备返回的表示已唤醒的字符;  The second device is further configured to wake up its own UART when data is sent to the first device after sleep, and send the pre-agreed character to the first device through its own tx signal line, and receive the returned by the first device. Represents a character that has been woken up;
所述第一设备, 还用于收到第二设备发送的字符后, 通过自身的 tx信 号线向第二设备返回表示已唤醒的字符。  The first device is further configured to: after receiving the character sent by the second device, return a character indicating that the wake-up is returned to the second device by using the tx signal line of the second device.
PCT/CN2011/084682 2011-02-10 2011-12-26 Uart-based wake-up from sleep method and device WO2012106973A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110035873.2 2011-02-10
CN201110035873.2A CN102096649B (en) 2011-02-10 2011-02-10 UART-based sleep wakeup method and device

Publications (1)

Publication Number Publication Date
WO2012106973A1 true WO2012106973A1 (en) 2012-08-16

Family

ID=44129749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/084682 WO2012106973A1 (en) 2011-02-10 2011-12-26 Uart-based wake-up from sleep method and device

Country Status (2)

Country Link
CN (1) CN102096649B (en)
WO (1) WO2012106973A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160091959A1 (en) * 2014-09-27 2016-03-31 Intel Corporation Efficient power management of uart interface
CN111198776A (en) * 2019-12-25 2020-05-26 上海亮牛半导体科技有限公司 Method for preventing UART (universal asynchronous receiver/transmitter) from receiving lost data during deep sleep of MCU (microprogrammed control unit)
CN114338530A (en) * 2021-12-21 2022-04-12 浙江华锐捷技术有限公司 Method and device for adjusting equipment state, storage medium and electronic device
CN116028391A (en) * 2022-07-15 2023-04-28 荣耀终端有限公司 Electronic device, peripheral device, and single-wire communication system

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096649B (en) * 2011-02-10 2014-12-10 中兴通讯股份有限公司 UART-based sleep wakeup method and device
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
CN103631360B (en) * 2013-11-15 2017-06-30 北京兆易创新科技股份有限公司 A kind of chip and method for supporting sleep pattern
CN103645794B (en) * 2013-11-15 2017-02-08 北京兆易创新科技股份有限公司 Chip and method for achieving sleep mode wake-up through edge detection circuit
CN106301712A (en) * 2015-06-05 2017-01-04 国民技术股份有限公司 A kind of synchronized communication method and application apparatus, system
CN107239422A (en) * 2017-06-15 2017-10-10 威海市天罡仪表股份有限公司 A kind of lossless method for receiving bursty data of TTL serial ports under low-power consumption mode
CN109947226A (en) * 2019-04-03 2019-06-28 深圳芯马科技有限公司 A kind of UART wake-up circuit of MCU chip
TWI767638B (en) * 2021-03-31 2022-06-11 新唐科技股份有限公司 Uart interface circuit and uart data capturing method
CN113177016A (en) * 2021-05-25 2021-07-27 惠州Tcl移动通信有限公司 Serial port communication method, device, terminal equipment and storage medium
CN113660714B (en) * 2021-07-30 2024-04-26 烟台东方威思顿电气有限公司 Low-power consumption awakening method based on specific feature code

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242607A (en) * 2008-03-14 2008-08-13 上海闻泰电子科技有限公司 An intelligent mobile phone based on dual-CPU architecture and communication control method
CN101504565A (en) * 2009-03-04 2009-08-12 上海闻泰电子科技有限公司 Method for awakening chip module
CN102096649A (en) * 2011-02-10 2011-06-15 中兴通讯股份有限公司 UART-based sleep wakeup method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101150809B (en) * 2007-11-03 2011-02-02 青岛海信移动通信技术股份有限公司 Method for arousing and stream control of mobile terminal processor serial port

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242607A (en) * 2008-03-14 2008-08-13 上海闻泰电子科技有限公司 An intelligent mobile phone based on dual-CPU architecture and communication control method
CN101504565A (en) * 2009-03-04 2009-08-12 上海闻泰电子科技有限公司 Method for awakening chip module
CN102096649A (en) * 2011-02-10 2011-06-15 中兴通讯股份有限公司 UART-based sleep wakeup method and device

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160091959A1 (en) * 2014-09-27 2016-03-31 Intel Corporation Efficient power management of uart interface
US10101797B2 (en) * 2014-09-27 2018-10-16 Intel Corporation Efficient power management of UART interface
CN111198776A (en) * 2019-12-25 2020-05-26 上海亮牛半导体科技有限公司 Method for preventing UART (universal asynchronous receiver/transmitter) from receiving lost data during deep sleep of MCU (microprogrammed control unit)
CN111198776B (en) * 2019-12-25 2024-06-07 上海亮牛半导体科技有限公司 Method for preventing UART (universal asynchronous receiver/transmitter) from receiving lost data during deep sleep period of MCU (micro controller Unit)
CN114338530A (en) * 2021-12-21 2022-04-12 浙江华锐捷技术有限公司 Method and device for adjusting equipment state, storage medium and electronic device
CN114338530B (en) * 2021-12-21 2023-09-29 浙江华锐捷技术有限公司 Method and device for adjusting equipment state, storage medium and electronic device
CN116028391A (en) * 2022-07-15 2023-04-28 荣耀终端有限公司 Electronic device, peripheral device, and single-wire communication system
CN116028391B (en) * 2022-07-15 2024-03-22 荣耀终端有限公司 Electronic device, peripheral device, and single-wire communication system

Also Published As

Publication number Publication date
CN102096649A (en) 2011-06-15
CN102096649B (en) 2014-12-10

Similar Documents

Publication Publication Date Title
WO2012106973A1 (en) Uart-based wake-up from sleep method and device
CN106372012A (en) Serial port awakening system not using handshake control line and serial port communication method
US7194638B1 (en) Device and method for managing power consumed by a USB device
US6567921B1 (en) Asynchronous low power mode bus controller circuit and method of low power mode operation
US10831700B2 (en) Methods and apparatus for reducing power consumption within embedded systems
US8510492B2 (en) System and method for communication handshaking between a master processors and a slave processor
CN107589824B (en) Method for reducing power consumption of MCU only supporting IO wakeup
US8307233B2 (en) Bus-handling
EP3053051A1 (en) Camera control interface sleep and wake up signaling
CN101504565A (en) Method for awakening chip module
WO2012027991A1 (en) Method, device and system for bidirectional wake-up based on universal serial bus
US20140089541A1 (en) Bus protocol compatible device and method therefor
CN104469905A (en) Method and system for reducing idle power consumption of NFC chip
WO2014075545A1 (en) Data transmission control method of low-speed usb device and controller
US7373134B2 (en) Multiple-CPU portable terminal with communication function and control method
CN103558907B (en) Electronic device and method for reducing power consumption of electronic device
CN114035477A (en) Equipment awakening method, device and system
CN102131304B (en) A kind of method for connecting network and communicating terminal
EP2674833B1 (en) Method, system and device for a usb data card with u disk function to enter sleep state
CN110990066B (en) Sleep awakening method of communication terminal
US7707441B2 (en) Method and system for reducing power consumption of handsets through UART auto flow control
CN100484035C (en) System wake-up method
JP4239025B2 (en) COMMUNICATION TERMINAL DEVICE, ITS START-UP METHOD, AND COMMUNICATION SYSTEM
CN101114189B (en) Asynchronous sequence transmitting system wake-up method
CN111198776B (en) Method for preventing UART (universal asynchronous receiver/transmitter) from receiving lost data during deep sleep period of MCU (micro controller Unit)

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11858352

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11858352

Country of ref document: EP

Kind code of ref document: A1