System off power consumption is high

I'm using VisualGDB and NARODIC NRF52x V15.3 package, The power consumption after nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_STAY_IN_SYSOFF) command was 2.5mA I wrote this simple code in the beginning of the main and it reduces to 0.95mA but it is still too high.

I also checked other peripherals which are using SPI and I2C by cutting power line and measuring the current or turning GPIO to input or output but still have this problem.

does anyone know what is the problem?

MY guess is maybe problem is related to the debugging SWD or compiler configuration but i didn't find anything yet.

	SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;

	ret_code_t err_code= nrf_pwr_mgmt_init();
	APP_ERROR_CHECK(err_code);
	NRF_PWR_MGMT_HANDLER_REGISTER(pmShutdownEvent, 0);
	nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_STAY_IN_SYSOFF);

'
'
'

bool pmShutdownEvent(nrf_pwr_mgmt_evt_t event)
{
    switch(event)
    {
    	case NRF_PWR_MGMT_EVT_PREPARE_SYSOFF :
    	nrf_gpio_cfg_sense_input(POWER_SWITCH_PIN, NRF_GPIO_PIN_PULLUP, POWER_SWITCH_ACTIVE_LEVEL ? NRF_GPIO_PIN_SENSE_HIGH : NRF_GPIO_PIN_SENSE_LOW);
    
    	break ;
    
    }
	return true;
}

Parents
  • hi Ted, thank you, what you mentioned gives me some ideas to test, I implemented the code in the very beginning of the main, so all GPIOs and blocks are in default mode , maybe i should do something for the GPIO but also I'm using VisualGDB + VisualStudio for debug, for my test I disconnect JLink and project configuration is 'Release' but still maybe I need to disable SWD/Debug. 

Reply
  • hi Ted, thank you, what you mentioned gives me some ideas to test, I implemented the code in the very beginning of the main, so all GPIOs and blocks are in default mode , maybe i should do something for the GPIO but also I'm using VisualGDB + VisualStudio for debug, for my test I disconnect JLink and project configuration is 'Release' but still maybe I need to disable SWD/Debug. 

Children
Related