Extended Sleep Peripheral (non-BLE) example?

⚠️
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 https://www.dialog-semiconductor.com/support . We’ll be fixing bugs / optimising the searching and tagging over the coming days.
5 posts / 0 new
Last post
andrewl
Offline
Last seen: 1 year 7 months ago
Joined: 2020-11-05 02:45
Extended Sleep Peripheral (non-BLE) example?

Hi, folks,

 

I have a project that needs to wake up roughly every 15ms, do some basic GPIO stuff, and then go back to sleep.  No BLE needed.  Presumably I need to be in extended sleep mode so that I can use Timer1 to wake me up (I sure don't want to be reloading from OTP/Flash every 15ms) with RAM retention.

 

We already have a custom board built so we can avoid the issues with trying to get power numbers and having the dev kit driver board getting in the way.

 

However, I don't see any Peripheral examples for extended sleep.  I found the Hibernate Example (http://lpccs-docs.dialog-semiconductor.com/da145xx_tutorial_sdk6_periphe...), but that's not what I need.

 

I'm trying to get a program that will actually get down to the 1.2uA quoted in the datasheet for "Extended-sleep mode with 20kB RAM retained, running on RCX".  However, I can't seem to find anything along those lines.

 

Any help would be appreciated.

 

Thanks.

Device: 
PM_Dialog
Offline
Last seen: 7 months 1 week ago
Staff
Joined: 2018-02-08 11:03
Hi andrewl,

Hi andrewl,

Thanks for your question. It’s not possible to use the sleep APIs in a non-BLE project. All the projects that are using any of the available sleep mode, are BLE projects.

Please check the all the peripheral ( non-BLE ) examples of the SDK6 – none of them have sleep mode functionalities. The non-BLE examples can be found in 6.0.14.1114\projects\target_apps\peripheral_examples SDK path.

If you are interested in reducing the power consumption, you should use any of the BLE SDK examples (6.0.14.1114\projects\target_apps\ble_examples)

In the DA14531 support website, there is a variety of tutorial and SW examples that they will help you to understand the sleep mode and configure the DA14531 too.

 

 

http://lpccs-docs.dialog-semiconductor.com/DA14531_Sleep_Mode+/index.html

http://lpccs-docs.dialog-semiconductor.com/da145xx_tutorial_sdk6_peripherals/index.html

DA14531 BLE Eddystone beacon with Hibernation Or Deep Sleep Mode

DA14531 Configuring Hibernation and State-aware hibernation mode

Thanks, PM_Dialog

andrewl
Offline
Last seen: 1 year 7 months ago
Joined: 2020-11-05 02:45
 It’s not possible to use the

 It’s not possible to use the sleep APIs in a non-BLE project.

Okay, if the APIs are BLE-only, that's fine.  Then I'll set the registers directly instead of using the APIs.  No big deal.

The obvious next question is: what are the direct register procedures necessary to put the chip into extended sleep mode?

  All the projects that are using any of the available sleep mode, are BLE projects.

That doesn't seem to be entirely true.  The Dialog link I posted puts the DA14531 into Hibernate from a peripheral project.

Thanks.

PM_Dialog
Offline
Last seen: 7 months 1 week ago
Staff
Joined: 2018-02-08 11:03
Hi andrewl,

Hi andrewl,

According to the tutorial, the hibernation mode tutorial is based on the empty_peripheral_template. This example casn be found in 6.0.14.1114\projects\target_apps\template\empty_peripheral_template\Keil_5 SDK path. If you open this project, you will see that is a BLE project, as the device starts advertising when it boots.

Thanks, PM_Dialog

andrewl
Offline
Last seen: 1 year 7 months ago
Joined: 2020-11-05 02:45
So, it is.

Indeed it is.  My bad.