Wakeup through UART interrupt

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
2 posts / 0 new
Last post
wisilica
Offline
Last seen:10 months 1 week ago
Joined:2015-03-17 08:16
Wakeup through UART interrupt

Hi,
Following is the functionality I would like to implement in DA 14580 chipset :
1. Device is in extended sleep mode by default
2. On reception of UART rx data, the device has to wake up and enter advertisement mode, and send the data received through UART.
3. After advertisement, the device enters the sleep mode again.

Please suggest the steps to implement the same.

Thanks
Wisilica

Device:
PM_Dialog
Offline
Last seen:1 day 10 hours ago
Staff
Joined:2018-02-08 11:03
Hi wisilica,

Hi wisilica,

DA14580醒来可以切换的character through UART by configuring the wkupct_enable_irq() function and sending the character on the Rx line. Although, this approach to design isn’t valid enough, because the DA14580 isn’t able to receive any character, since when the character arrives the device will still be in sleep mode, so the character that would wake up the device will be lost. Also, the XTAL16 won’t be powered up and the device won’t have a valid clock in order to receive the data through UART. The waking up of the device and the powering up of the XTAL doesn’t occur immediately. A valid implementation would be if you have additional connection in order to send a signal to indicate that the device would be ready to receive data. So you can wake up your device through UART and when it is ready to receive data it would signal that to the external device. Something similar to the handshaking of RTS/CTS signal of the UART. One other idea for this kind of implementation, but more tricky than previous would be to use single connection and do the handshaking using characters. Be aware that in a single connection the protocol would require operating the UART as Rx and Tx in different time slots.

Thanks, PM_dialog