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

    Getting low current consumption is often much of a trial and error method. To find out if the 200uA are caused by the I2C you could try not to initialize it in the first place. If you still get 200uA, then the current consumption is caused by something else.

    Advertising current consumption varies a lot and it all depends on your advertising interval. Look at the current consumption guide, section about "Calcualate/Estimate current consumption" and section about "Tuning Advertising parameters".

    Seems you are disabling the UART manually. Perhaps you are copying my advise in the current consumption guide where this code is included. If you however use uart driver to initialize your code it is probably best to uninitialize the driver instead of disabling the UART manually.

Reply
  • Hi Anna

    Getting low current consumption is often much of a trial and error method. To find out if the 200uA are caused by the I2C you could try not to initialize it in the first place. If you still get 200uA, then the current consumption is caused by something else.

    Advertising current consumption varies a lot and it all depends on your advertising interval. Look at the current consumption guide, section about "Calcualate/Estimate current consumption" and section about "Tuning Advertising parameters".

    Seems you are disabling the UART manually. Perhaps you are copying my advise in the current consumption guide where this code is included. If you however use uart driver to initialize your code it is probably best to uninitialize the driver instead of disabling the UART manually.

Children
No Data
Related