RSL10: 200us interval for sleep mode

hello, currently i am working on RSL10, can i able to keep the device in standby mode and wake up exactly after 200us(micro seconds). After waking up the device has to be in sleep mode and wake up exactly after 800us(micro seconds).
Can you help us achieve this with baseband timer?

@kranthi.kumar

We can not support this short period sleep time or standby time.

In sleep mode, we need to use low power clk. that means 625 us is the minimum time here.

See the figure in below , internal baseband timer clock reference is 625us.

Thank you for using our community forum!

Thanks for your quick response…

just let me know, can I achieve 200us(micro seconds) interval in standby mode with help of either rtc clock or system timers or GPIO timers ?

Otherwise, is it possible to achieve 200us(micro seconds) interval in normal mode with help of either rtc clock or system timers or GPIO timers?

Please help us on this, thanks.

@kranthi.kumar

, is it possible to achieve 200us(micro seconds) interval in normal mode with help of either rtc clock or system timers or GPIO timers?

It is not possible to achieve 200 us interval in connectable mode.

ble_std.h file:

/* Define the advertisement interval for connectable mode (units of 625us)
 * Notes: the interval can be 20ms up to 10.24s */

#ifdef CFG_ADV_INTERVAL_MS
#define ADV_INT_CONNECTABLE_MODE        (CFG_ADV_INTERVAL_MS / 0.625)
#else    /* ifdef CFG_ADV_INTERVAL_MS */
#define ADV_INT_CONNECTABLE_MODE        64
#endif    /* ifdef CFG_ADV_INTERVAL_MS */

So default value advertising interval is 64 → 64 * 625us = 40ms.

Thanks for your response…
But here I am not using bluetooth,
I am using standby_power_mode, sleep_ram_retention sample projects, just I want keep my system in standby mode for 200us interval, is it possible with either rtc or system timers?

we need to execute sleep ram retention, but instead of using RTC counter interrupts, we want to use BB timer to wake up from sleep mode.
How can we achieve this?

@kranthi.kumar

we need to execute sleep ram retention, but instead of using RTC counter interrupts, we want to use BB timer to wake up from sleep mode.

This is possible but the BB timer resolution is 625us so it cannot support sleeping for 200us.

/* Select RTC alarm time interval (in second)*/
#define RTC_ALARM_INTV_S               1

/* RTC counter start value
 * Notes: this is calculated respectively to the selected alarm interval */
#define RTC_CNT_START_VALUE             \
    ((uint32_t)(32768.0 * (RTC_ALARM_INTV_S)) << ACS_RTC_CFG_START_VALUE_Pos);

RTC clock source =32768Hz clock.

  1. (RTC_ALARM_INTV_S) = 1, you will have RTC_CNT_START_VALUE= 32768. - > integer value
  2. (RTC_ALARM_INTV_S) = 0.0002, you will have RTC_CNT_START_VALUE= 6.5536 - > not integer value e.g. fractional , therefore you can not get exactly 200us interval.

However, shorter sleep durations are theoretically possible using the RTC. The baseband timer must be used during BLE activity, but outside of BLE activity, the RTC could be used to wakeup.

It should be noted that it likely wouldn’t make sense from a power consumption perspective to sleep for a similar duration as the wakeup time. It may be less overall power to just stay awake in run mode and do the task without the wakeup period.

Thank you for using our community forum!