I want to reduce power consumption

I am developing with nRF52832.
In addition to the main loop, 4 types of application timer interrupts are running.
If you want to reduce power consumption, in the main loop
for (;;)
{
  __WFE();
  __SEV();
  __WFE();
}
should I do?

  • Hi Hiroyasu, 
    I assume you are using nRF5 SDK. 

    Could you be more specific on what you want to ask ? 


    Calling  

    __WFE();
    __SEV();
    __WFE();

    In the main loop can put the CPU to sleep (SystenON Idle) hence reduce power consumption. 

    If you use our power management library you can call nrf_pwr_mgmt_run() instead. 

  • Dear Hung Bui

    Yes I am using the SDK.
    with other questions
    __WFE();
    __SEV();
    __WFE();
    Then the power consumption does not drop,
    __SEV();
    __WFE();
    __WFE();
    I found that it fell.

    It is now about 2.5mA.
    I would like to know if there is a way to reduce power consumption.
    However, I want application_timer and BLE advertising to work.

  • Hi Hiroyasu, 

    When you use : 
    __SEV();
    __WFE();
    __WFE();

    what's the current consumption ? 

    2.5mA doesn't seem to be low current consumption. When the CPU is sleeping and if there is no other peripheral is running it should be around 2-3 uA not mA. But it depends on how often do you wake up from the interrupt. 
    I would suggest to use our power profiler kit  to measure the power consumption. You can visualyze the power consumption and see how exactly the current is draw. 

    In most of our examples we use 
    __WFE();
    __SEV();
    __WFE();

    As you can see in our pwr_mgmt_run library: 

    I would suggest to try testing with our \examples\peripheral\rtc\ example and check if you can achieve low power consumption or not. When I tested with the example it doesn't matter the order of SEV and WFE is the current consumption is round 10uA. 

  • Dear Hung Bui

    __WFE();
    __SEV();
    __WFE();
    Power consumption was also reduced.
    thank you.

    \examples\peripheral\rtc\ is an example that does not use BLE.
    Doesn't examples\ble_peripheral\ble_app_buttonless_dfu increase power consumption?

  • Hi Hiroyasu, 

    What's the current consumption you are seeing ? Is it 2.5mA ? 
    Depends on the advertising rate of the ble_app_buttonless_dfu you may have different average current consumption, but it should be around dozen of uA. It's not different from a normal BLE application. 

    When do you see high current consumption and what was the current consumption when the device advertising ? 

Related