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

Queries on Current measurement & how to reduce the same

Hello,

In addition to previous ticket I have further queries. I have a stringent requirement for reduction of Current consumption.

https://devzone.nordicsemi.com/support/230962

1) In ‘ble_app_blinky’ since SoftDevice is enabled, whether DCDC enabled by default or need to enabled explicitly by calling

                sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE) 

2) As mentioned below do I need to enable DC-DC only during BLE active and disable after BLE inactive.

https://devzone.nordicsemi.com/f/nordic-q-a/4211/nrf51822-power-consumption-when-ble-advertising-connected#post-id-18589

 

3) To my understanding, keeping build in “Release” mode will disable UART.

a) Below are the macros enabled in Release mode & Debug mode. But when I keep in “Release” mode still I am seeing debug prints on Terminal. Then what is the difference between “Release” & “Debug” builds.

"DEBUG; DEBUG_NRF" from solution in Debug configuration

"NDEBUG" from solution in Release configuration

b) As mentioned in below link, at the same time do I need to disable NRF_LOG_ENABLE explicitly do reduce current consumption. Please confirm.

                https://devzone.nordicsemi.com/f/nordic-q-a/35042/current-consumption-in-nrf52

 c) How to disable UART if still I am seeing debug prints on Terminal. Do I need to disable NRFX_UARTE_ENABLED macro or just disconnecting debug cable is good enough during current measurement.

 

4) Do I need to explicitly disable FPU unit. I have floating point calculations. But before going to sleep (System ON or System OFF) do I need to clear FPU as mentioned in below link.

                https://devzone.nordicsemi.com/f/nordic-q-a/15243/high-power-consumption-when-using-fpu

 

5) Before going to System OFF I called nrf_gpio_cfg_default() with all pins expect pin 13 & 14 (Buttons to wake-up the device). This function will configure pullup as NRF_GPIO_PIN_NOPULL. But as per below link, not sure with development kit whether do I need to change to Pullup or Pulldown.

https://devzone.nordicsemi.com/f/nordic-q-a/4505/system-power-off

 

Please let me know your inputs.

Thanks & Regards

Vishnu Beema

Parents
  • Hi,

    For testing I kept below code in my custom board and I am seeing Sleep current as 2 micro amp.

        while(1)
        {
            __WFE();
            __SEV();
            __WFE();    // Puts the CPU to sleep
        }

    But with our actual code, device will sleep and wake up every 5 seconds. In between 5 seconds, device will be in sleep mode. In sleep mode my board is consuming 300 micro amp.

    1) Do I need to configure GPIOs to proper level before going to System ON mode (Sleep mode).  There are 2 GPIOs configured to wakeup device using buttons_init(). Even in middle of sleep, if there is a button press, device should wakeup from sleep (Apart from periodic wakeup).

    a) As you mentioned unused pins are configured the same as nrf_gpio_cfg_default(). So I did not configure unused pins.

    2) Also app_timer_init() is used. Using this, we want to wakeup every 5 seconds and do some operations. Whether running RTC will consume 300 micro Amp current.

    3) I have taken ble_app_blinky example. I am not sure whether internal clock or external crystal is enabled. Please let me know where to check.

    Whether all those will consume 300 micro Amp. Below is the snapshot using Power Analyzer.

    We have a very stringent requirement on current consumption. With out code sleep current should be at max 5 micro amp, but it is too high. Please let me know your inputs.

    Thanks & Regards

    Vishnu Beema

Reply
  • Hi,

    For testing I kept below code in my custom board and I am seeing Sleep current as 2 micro amp.

        while(1)
        {
            __WFE();
            __SEV();
            __WFE();    // Puts the CPU to sleep
        }

    But with our actual code, device will sleep and wake up every 5 seconds. In between 5 seconds, device will be in sleep mode. In sleep mode my board is consuming 300 micro amp.

    1) Do I need to configure GPIOs to proper level before going to System ON mode (Sleep mode).  There are 2 GPIOs configured to wakeup device using buttons_init(). Even in middle of sleep, if there is a button press, device should wakeup from sleep (Apart from periodic wakeup).

    a) As you mentioned unused pins are configured the same as nrf_gpio_cfg_default(). So I did not configure unused pins.

    2) Also app_timer_init() is used. Using this, we want to wakeup every 5 seconds and do some operations. Whether running RTC will consume 300 micro Amp current.

    3) I have taken ble_app_blinky example. I am not sure whether internal clock or external crystal is enabled. Please let me know where to check.

    Whether all those will consume 300 micro Amp. Below is the snapshot using Power Analyzer.

    We have a very stringent requirement on current consumption. With out code sleep current should be at max 5 micro amp, but it is too high. Please let me know your inputs.

    Thanks & Regards

    Vishnu Beema

Children
No Data
Related