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

Power management- usuing external LFCLK

Hi, I'm trying to reduce as much as I can the BLE current consumption in advertise mode and unfortunately I can't go under 1.6 mA. Can you please tell me what are the exact steps I should take to do that? What I want to do is to advertise with the defined interval on SYSTEM-ON base current with 16 kB RAM enabled. My current, as I understand it, should be around 2.6 uA, but I can't reach it.

I use an external Crystal LFCLK. How should I define the ble_stack_init? how should I define the timer_init and start_timer functions to use only in the LFCLK and not in HFCLK? For low current between advertises I use sd_app_evt_wait() function. Still, because of my stcak (probably) I can't reach the low current of 2.6 uA.

What's makes the current so high? What are the recommended settings to make the component work in minimum current?

Thanks.

  • 1.6 mA is way too high than you should have between connection events, so there's definitely something wrong. As you can see in the SDS, you should see I_on, I_RTC and either I_X32k or I_RC32k depending on clock source used. This should be about ~3 µA in total.

    There are a couple of things that you should check when seeing problems like this:

    • Make sure to power cycle the nRF51822 after debugging/programming, or else the debug interface will stay enabled, which consumes a lot of power.
    • If you use the Evaluation Kit, make sure to disconnect/turn off the Segger. Depending on kit version, either turn off SW4 (2.0+) or remove jumpers on P8 (1.0).
    • Make sure to disable all serial interfaces or other peripherals requiring the 16 MHz clock. Take a look at section 8.3 in the PS, as well as this question.

    To use a 32 kHz crystal with the softdevice, all you have to do is pass the correct initialization parameter. Take a look at this question for examples.

  • Hi Ole,

    Thanks for the reply. We are currently at ~130uA and probably what is going on is we still have some fast clock peripheral on, so we will take a look.

    Regards, Gili

  • 130 µA was an odd level, and I can't say I immediately have any good suggestions on which peripheral combination would draw that. I'd recommend you to also make sure that all I/Os have a defined level (i.e. not input without pull; either output, input with pull or input buffer disconnected).

    Also, you should make sure to do the measurement without a debugger connected, either physically disconnect it or turn it off with the SW4 switch or removing the P8 jumpters on the Evaluation Kit.

    Finally, if you have the Development Kit, you should not use the CSM to do low-current measurements, but instead measure current directly on P7.

  • Hi Ole,

    we are measuring without a debugger and next think we will look at next week are IOs and any fast peripherals which may still be active. we have been able to get to below 2uA in OFF mode before, so I guess that now since we are enabling the softdevice we need to disable peripherals properly before we go to OFF state.

    regards, Gili

  • When you go to system off, everything will be turned off automatically, so no manual turning off is needed. However, when you go to system on sleep, everything that's already enabled will stay enabled, so in this mode you should absolutely disable everything you don't need.

    However, if you found my original reply useful, I'd be happy if you could accept it, to clear up this question. :-) If you have any further problems next week, I suggest you post them separately.

Related