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

power management

hi,

i am working with nrf52832. system on sleep mode is working ok in ble_app_uart example  by commenting " //err_code = sd_power_system_off();
//APP_ERROR_CHECK(err_code);" in sleep_mode_enter(). when i am working with beacon  example  system on sleep mode is  not working. it takes 1 ma current

Parents
  • sd_power_system_off(Deep sleep) is not the same as __WFE (Idle sleep).

    Please use the same kind of sleeps to compare the results on both sides.

  • i don't want system in deep sleep mode. i want to run it in SYSTEM ON SLEEP mode. i want to know when i call _WFE system goes in "system on sleep" or not. if not can you tell me how i can do it.

  • 1. in ble_uart_example system goes to "system off sleep" ,mode after the completion of advertising duration.but what i did. i just commented "sd_power_system_off(deep sleep)" in sleep_mode_enter() declaration. now system working on "system on sleep" mode. rtc is working in sleep mode. and current is in uA.

    2. in beacon example . beacon advertisement is continues(never timerout). i have changed  duration to 500 to set 5 sec advertisement timer

    m_adv_params.properties.type = BLE_GAP_ADV_TYPE_NONCONNECTABLE_NONSCANNABLE_UNDIRECTED;
    m_adv_params.p_peer_addr = NULL; // Undirected advertisement.
    m_adv_params.filter_policy = BLE_GAP_ADV_FP_ANY;
    m_adv_params.interval = NON_CONNECTABLE_ADV_INTERVAL;
    m_adv_params.duration = 500;// 0; // Never time out.

    as i see idle_state_handle() is called in for(;;). so it should go to system on sleep mode after advertisement duration. is there any wrong step i did. current is approx 1mA

  • Hi, 

    Duration of advertisement will not influence the power consumption average while measuring the device when it is advertising. Radio operation is power intense and the advertising interval set to 100ms in beacon example (NON_CONNECTABLE_ADV_INTERVAL) gives the average power around 750-850uA average. If you change the NON_CONNECTABLE_ADV_INTERVAL from 100ms to 500ms, you can see that the average power drops from 750uA to around 500uA.

    You can still change the program for beacon to go to deep sleep after the advertising timeout and call sd_power_system_off after configuring a wakeup source. You will then notice much less power consumption after advertisement timeout happened. 

  • if you change the NON_CONNECTABLE_ADV_INTERVAL from 100ms to 500ms, you can see that the average power drops from 750uA to around 500uA.

    my hardware is consuming 1mA current when no advertising. i want to run the "system on sleep"

    so i enabled rtc interrupt and called _WFE in for(;;);

  • OK, So you have made some changes that I have not tested.

    Can you please first benchmark the changes you did on one nRF52 DK to see how much our DK. If it is about the same on the DK, then you have no issues on your custom hardware and then we can try to figure out the split in the power consumption that you are observing.

  • yes i have tested ble_uart_example in "system on sleep" mode on my hardware  it takes around 15uA.

    can you tell me steps to do the "system on sleep" mode in beacon example

Reply Children
Related