Reg. Extended Sleep when there is UART activity

⚠️
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
aparna.anand
Offline
Last seen:3 years 4 months ago
加入:2017-04-21 11:01
Reg. Extended Sleep when there is UART activity

Hi,

On the custom PCB, we have an app running on Dialog, where a main MCU keeps sending data to be send through BLE via UART. The DA is in Buck Mode Configuration with only XTAL16. The app works fine without any sleep mode.

1. I am trying to enable extended sleep mode in the app. Can you please explain, in this scenario where UART peripheral will be active with data to be transmitted intermittently, is it possible to enable extended sleep mode. Will SDK take care of peripheral activity and then enable sleep in between BLE events? I could see that in ble_app_sleepmode where the sleep mode is enabled there's no activity in peripherals.

2. I was not able to find download link for DSPS central project, neither in SDK 5.0.4. Please share me the sources for this example if possible.

Thanks,
Aparna

Device:
MT_dialog
Offline
Last seen:2 months 3 days ago
工作人员
加入:2015-06-08 11:34
Hi aparna.anand,

Hi aparna.anand,

The peripherals will be disabled while the device is in sleep mode and also the UART communication will not be valid if there is no XTAL16 operating and settled (there will be missing data junk etc), so, when the device is in sleep mode you wont be able to operate the UART. The UART is operational when the device is awake and advertising or connected and while is awake due to a connection interval. So while you are in extended sleep mode the time slots that the device wakes up and sleeps automatically, only then you can have valid UART functionallity. The SDK in the sleeping and waking up procedure it only takes into account the BLE events and not any peripheral activity. So if you would like to have UART functionallity in your project with sleep you will have to make sure that the device is awake at that time, for example, the DSPS when operating in sleep mode, it disables the sleep while running (arch_disable_sleep) when data should be transmited, so if the buffers that store the data are empty (no data transmition) the application re-enables sleep and continues waking up and sleeping in order to keep the connection alive with empty BLE events. This is also valid for reception, thats why the DSPS is functional only when using the UART flow control, when the 580 its awake it asserts the RTS during active state in order to indicate to the UART connected device that it is awake and it can receive data otherwise it de-asserts the RTS indicate to the external device that it can not receive any data.

Regarding the DSPS, you will be able to find the DSPS reference design in the Reference design section under Dialog Serial Port (DSPS) link.

Thanks MT_dialog