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

power consumption problem

Hi,

I'm using nrf51822 / sd130 / sdk 12.1. I am doing minimizing current consumption. My main function is like below. I checked no wakeup in sleep mode. But, current consumption changes variously. It is wide from ~30uA to 1.5mA. What should I do additionally? I'm trying various condition.

thanks.


while (1)
{
        // fucntion execute


	NRF_CLOCK->TASKS_HFCLKSTART = 0;       // for test
	NRF_CLOCK->TASKS_HFCLKSTOP = 1;        // for test

	NRF_POWER->TASKS_LOWPWR = 1;           // for test
//	NRF_POWER->SYSTEMOFF = 1;              // for test

	// Make sure any pending events are cleared
	__SEV();
	__WFE();
	// Enter System ON sleep mode
	__WFE();

         // watchdog
	nrf_drv_wdt_channel_feed(m_channel_id);	// wdt feed

	NRF_CLOCK->TASKS_HFCLKSTOP = 0;        // for test
	NRF_CLOCK->TASKS_HFCLKSTART = 1;       // for test
   }

watchdog setting

// <1=> Run in SLEEP, Pause in HALT 
// <8=> Pause in SLEEP, Run in HALT 
// <9=> Run in SLEEP and HALT 
// <0=> Pause in SLEEP and HALT 

    #ifndef WDT_CONFIG_BEHAVIOUR
    #define WDT_CONFIG_BEHAVIOUR 8					// 8, mtkim modified, 1 : original
    #endif
Parents
    1. "But, Reset occurs after several above PWM action " Does the nRF51 reset? This is a sign of of an error passed to the APP_ERROR_CHECK() macro. See this post about debugging.

    2. To run BLE on NRF51 you will need an external 16 MHz crystal for the HFCLK(HFXO). As LFCLK you can then either use external 32 kHz crystal(LFXO) or interal RC oscillator(LFRC). The LFRC will have a slighlty higher current than the LFXO.

    The TIMER peripheral uses the HFCLK. Using the interal 64 MHz internal oscillator(HFINT) as HFCLK you will have less current consumption, but the accuracy of the HFINT is not good enough to run BLE. The HFXO will have higher current consumption, but it have much better accuracy(ppm) and is needed to run BLE.

Reply
    1. "But, Reset occurs after several above PWM action " Does the nRF51 reset? This is a sign of of an error passed to the APP_ERROR_CHECK() macro. See this post about debugging.

    2. To run BLE on NRF51 you will need an external 16 MHz crystal for the HFCLK(HFXO). As LFCLK you can then either use external 32 kHz crystal(LFXO) or interal RC oscillator(LFRC). The LFRC will have a slighlty higher current than the LFXO.

    The TIMER peripheral uses the HFCLK. Using the interal 64 MHz internal oscillator(HFINT) as HFCLK you will have less current consumption, but the accuracy of the HFINT is not good enough to run BLE. The HFXO will have higher current consumption, but it have much better accuracy(ppm) and is needed to run BLE.

Children
No Data
Related