2 years, 1 month ago.

NRF52 power off not working

Hi, I am trying to power down my NRF52840, but i will still consume a lot more power than it should.

somehow, if I configure a InterruptIn with ::mode the chip will draw about 40uA in systemOFF mode.. how is that possible / what am I doing wrong?

demonstration

#include "mbed.h"
#include "PinNames.h"
#include "nrf_soc.h"


InterruptIn irt(P0_13);
void take_nap(){
    NRF_POWER->SYSTEMOFF=1;
    sd_power_system_off();      //consumes slightly less power
    while(1);
}

int main(void)
{ 
    NRF_POWER->DCDCEN = 0x00000001;
    NRF_UART0->TASKS_STOPTX = 1;
    NRF_UART0->TASKS_STOPRX = 1;
    NRF_UART0->ENABLE = 0;
    
    irt.mode(PullNone); //when using this, it will consume more power.

    while (true) 
    {
       take_nap();
    }
}

I just found out that it is related to the pin P013 being connected to an led, if I use another pin, it works. but I still have a problem, when using MBEDTLS, and then going to SYSTEMOFF, the soc still draws about 40uA.. do I have to disable the cryptocell hardware somehow?

posted by Jonas Woerner 09 Apr 2019

ok, its not only about the cc310, its about something else I think. If using ble functions or crypto functions (and mybe some other functions will behave the same) and then going to systemOFF, the system still draws way too much power..

posted by Jonas Woerner 11 Apr 2019
Be the first to answer this question.