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

current consumption of the radio Module in sleep mode

Hello,

I am developing an IEEE802.15.4 Beacon with the nRF52840-DK, SDK 16 and the nRF-IEEE-802.15.4-radio-driver. My problem is that the consumes ~400uA of current in sleep mode, deiniting the driver doesn't make a difference. With Radio disabled the DK uses ~10uA with a 400uA spike every 28ms.

Can you please help me with reducing the current consumption?

Thanks

#include "sdk_config.h"
#include "nrf.h"
#include "nrf_pwr_mgmt.h"
#include <nrf_802154.h>

#define PWR_DCDC  1
#define PWR_RADIO 1
#define PWR_SLEEP 1

int main(void) {
#if PWR_DCDC
    NRF_POWER->DCDCEN  = 1;
    NRF_POWER->DCDCEN0 = 1;
#endif
#if PWR_SLEEP
    nrf_pwr_mgmt_init();
#endif
#if PWR_RADIO
        nrf_802154_init();
        nrf_802154_sleep();
        //nrf_802154_deinit();
#endif
    while(1) {
#if PWR_SLEEP
        nrf_pwr_mgmt_run();
#endif
    }
}

Parents
  • Hi

    A current consumption of ~400µA typically means that the HF clock is running for some reason, so there is likely a peripheral using the HF clock that is not uninitialized properly. I see that you call nrf_802154_sleep(); before nrf_802154_deinit(); which might be the reason you're not able to go to sleep. Try uninitializing the radio before going to sleep.

    The spikes when the radio is disabled likely means that the HF clock wakes up to check/do something. Do you have a timer running on the LF clock that wakes up the HF clock to do something every now and then?

    Best regards,

    Simon

Reply
  • Hi

    A current consumption of ~400µA typically means that the HF clock is running for some reason, so there is likely a peripheral using the HF clock that is not uninitialized properly. I see that you call nrf_802154_sleep(); before nrf_802154_deinit(); which might be the reason you're not able to go to sleep. Try uninitializing the radio before going to sleep.

    The spikes when the radio is disabled likely means that the HF clock wakes up to check/do something. Do you have a timer running on the LF clock that wakes up the HF clock to do something every now and then?

    Best regards,

    Simon

Children
No Data
Related