This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

[Current consumption with sd_app_evt_wait]

Hi all,

i use a nrf52 and in product specification i find the table about the low power mode and their consumption . Capter 17.1.

  • ION_RAMOFF_EVENT System ON, No RAM retention, Wake on any event 1.2 μA
  • ION_RAMON_EVENT System ON, Full RAM retention, Wake on any event 1.5 μA
  • ION_RAMOFF_RTC System ON, No RAM retention, Wake on RTC 1.9 μA
  • IOFF_RAMOFF_RESET System OFF, No RAM retention, Wake on reset 0.7 μA
  • IOFF_RAMOFF_GPIO System OFF, No RAM retention, Wake on GPIO 1.2 μA
  • IOFF_RAMOFF_LPCOMP System OFF, No RAM retention, Wake on LPCOMP 1.9 μA
  • IOFF_RAMOFF_NFC System OFF, No RAM retention, Wake on NFC field 0.7 μA
  • IOFF_RAMON_RESET System OFF, Full RAM retention, Wake on reset 1.0 μA

I use in my code the sd_app_evt_wait(), but i don't understand how go in sleep and then the consumption that i must expect.

Someone can, please give me a clarification, about this? Thanks, Anna

Parents
  • Hi Anna

    Please look at the explanation in the nRF51 current consumption guide, section about "Low power mode with BLE softdevice". That should explain how nRF51/nRF52 sleeps and wakes up with sd_app_evt_wait(). The sd_app_evt_wait() function actually just disables the CPU of nRF51/nRF52.

    The current consumption to expect when softdevice is enabled and when in sleep mode is the sum of the following factors:

    • System On base current -> 1.2 uA
    • RAM retention when sleeping - configurable but by default 0.3 uA with all RAM is retained
    • Consumption of RC low frequency clock source (LFCLK)+ RTC -> ~0.7 uA
    • Consumption of external crystal low frequency clock source (LFCLK)+ RTC -> ~0.35 uA

    So the expected current consumption should be: System ON, full RAM retention, Wake on RTC (with external crystal) -> 1.2+0.3+0.35=1.85uA

    The nRF51-DK has 32kHz external crystal as source for the low frequency clock so 1.85uA is the expected current consumption value when using nRF52-DK

  • Hi Anna

    You generally have number of modules running. Try to not enable modules in the first place and measure the current consumption and verify it is low. You should be getting <5uA when not advertising and no other modules enabled. I am not sure what example code your application is based on but if you measure current consumption on e.g. the ble_app_template example in the SDK, you should see the <5uA between advertising events. So you need to reverse engineer your application, strip down everything you have coded and start out with application that gives expected current consumption. Then gradually add your modules and measure current consumption in each step in order to see what module is to blame for the high current consumption. If you have high current consumption when using standard example that should give low current consumption, then something is wrong with your hardware.

Reply
  • Hi Anna

    You generally have number of modules running. Try to not enable modules in the first place and measure the current consumption and verify it is low. You should be getting <5uA when not advertising and no other modules enabled. I am not sure what example code your application is based on but if you measure current consumption on e.g. the ble_app_template example in the SDK, you should see the <5uA between advertising events. So you need to reverse engineer your application, strip down everything you have coded and start out with application that gives expected current consumption. Then gradually add your modules and measure current consumption in each step in order to see what module is to blame for the high current consumption. If you have high current consumption when using standard example that should give low current consumption, then something is wrong with your hardware.

Children
No Data
Related