Achieving ultra low power consumption is main concern for powered battery devices.
I encounter design concerns about reducing the power concumption witht the RSL10 in regards to the use of BLE/wake up configuration.
Wakeup from deep sleep generates a peek current as the RF front end is always enabled.
I have the need to exit deep sleep wihout having to initialize the application without the RF front end. Moreover, my application shall spent 99% of time in deep sleep mode, having to execute measures. The BLE is to fetch measure data once in a while.
I ll start with a general question,
Is there any soft dev/designers having the same concern and then how have you tackled the problem?
My goal is to manage a more complex wakeup process with a detection of wakeup source from the RTC alarm which shall not initialize the RF front end (avoiding a peek current when RSL10 exits from deep sleep).
To achieve this, i am trying to split the wakeup ‘Sys_PowerModes_Wakeup’ from the OnSemi sample codes, with a 2 stages wakeup process.
The primary method shall configure the RSL10 only to execute code (RC oscillator @3MHz as system clock) to look up for actions to perform, if an action is expected to execute, then call the second wakup stage. Otherwise return to Deep Sleep.
According the wake up source status, wakeup from the BaseBand Timer would go thought the complete wakeup process (as done today),
and wake up from the RTC ALARM executes only the primary stage, and the second stage with full RF initiated if required.
My concern is to set a proper configuration for the primary wakeup stage and return to deep sleep.
I set up an example, I experience MCU reset with TIMEOUT RESET FLAG & WDT RESET FLAG set on reboot.
So far, my primary stage init does nothing, i am trying to figure out what to do (from the ‘Sys_PowerModes_Wakeup’ method and with the help of the RSL10 hardware reference).
I call Sleep_Mode_Enter() to return in dee sleep when no action taken.
For my primary stage process, i have 2 questions:
- how to achieve the mandatory and minimalist init for the primary stage to execute code (sys clock RC @ 3Mhz, no access to flash, RF off) in regards to ‘Sys_PowerModes_Wakeup’
- how to return to deep sleep from the primary stage