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

low power (system on mode) in ble_uart_app

Hi,

I am trying to verify current consumption of nrf52840 DK (not any peripheral connected ) before doing that for our product.

We need to use RTC to wake up the device so we are going to use system on mode for deep sleep instead of system off mode.

With "examples\peripheral\pwr_mgmt\pca10056\blank\armgcc" + disabled NRF_LOG_ENABLE and setting DCDC_EN,

I verified DK can go down to 9uA when it is system on mode. (system off mode :6uA) getting from VDDH lines.

However, with examples\ble_peripheral\ble_app_uart\pca10056\s140\armgcc which includes softdevice,

DK stays 800uA in system on mode even if I disable uart, timer, NRF_LOG_ENABLE and set DCDC_EN following some other postings.

[code change for ble uart app]

static void sleep_mode_enter(void)

{
    uint32_t err_code = bsp_indication_set(BSP_INDICATE_IDLE);
    APP_ERROR_CHECK(err_code);

    // Prepare wakeup buttons.
    err_code = bsp_btn_ble_sleep_mode_prepare();
    APP_ERROR_CHECK(err_code);

    // Go to system-off mode (this function will not return; wakeup will cause a reset).
    // err_code = sd_power_system_off();
    // APP_ERROR_CHECK(err_code); < disabled to check system on mode


    app_timer_stop_all();
    app_uart_close();
    sd_app_evt_wait();
}
int main(void)
{
    bool erase_bonds;

    sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE);

    NRF_POWER->DCDCEN = POWER_DCDCEN_DCDCEN_Enabled;
uint32_t app_uart_close(void)
{
   // these two lines are locally added
    nrf_drv_uart_tx_abort(&app_uart_inst);
    nrf_drv_uart_rx_abort(&app_uart_inst);
    nrf_drv_uart_uninit(&app_uart_inst);
    return NRF_SUCCESS;
}

Questions

1. Is it normal with 6uA for system off mode(measured at VDDH with usb power source)?

2. For ble_app_uar, Is there extra code to reduce current consumption?

Thank you.

Parents
  • Hi,

    1. 6 uA in System OFF mode sounds a bit high. According to the PS, typical current consumption in System OFF with wake on reset running from 5 V is 0.95 uA (IOFF_RAMOFF_RESET_5V).
    2. Are you using a revision 1/2 chip or an older engineering version? Can you check if the workaround in errata 89 affects your current?
      For UARTE0:
      *(volatile uint32_t *)0x40002FFC = 0;
      *(volatile uint32_t *)0x40002FFC;
      *(volatile uint32_t *)0x40002FFC = 1;

      For UARTE1:
      *(volatile uint32_t *)0x40028FFC = 0;
      *(volatile uint32_t *)0x40028FFC;
      *(volatile uint32_t *)0x40028FFC = 1;

    Best regards,
    Jørgen

  • How did you measure the current consumption?

    I did a quick test with the ble_app_uart example, where the only modifications was to enable DCDC (should not affect system OFF current) and disable NRF_LOG.

    When running this on a nRF52840 DK v1.1.0, I get about 350-400 nA current consumption with default supply voltage (3.0 V) using the PPK:

    I have not yet tested with 5V supply, but I do not expect it to be higher. Have you measured with 3 V supply?

Reply
  • How did you measure the current consumption?

    I did a quick test with the ble_app_uart example, where the only modifications was to enable DCDC (should not affect system OFF current) and disable NRF_LOG.

    When running this on a nRF52840 DK v1.1.0, I get about 350-400 nA current consumption with default supply voltage (3.0 V) using the PPK:

    I have not yet tested with 5V supply, but I do not expect it to be higher. Have you measured with 3 V supply?

Children
Related