This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Power consumption for nrf52 with TWI & GPIOTE

Hi,

I have an issue about power consumption with a board nrf52 10040. The consumption should be 100µA but is 500µA. I found an errata about that in 'infocenter.nordicsemi.com/.../nRF52832_Engineering_C_Errata_v1.5.pdf' (3.27).

I tried to do what is written. The consumption is at 100µA but have some trouble on TWI. I can't communicate in TWI with the modules after that.

I have some question about this errata:

  • The errata is just about TWI. So, I can init gpiote where i want?
  • All I need is to paste the patch and call 'nrf_drv_twi_init' & 'nrf_drv_twi_enable' after that?

Thanks in advance.

Parents
  • I had similar problems. Regarding the errata you reference above PAN-89, I had to disable the TWI, perform the power cycle and re-initialize it to get it set up for the next time I needed it. Basically my code everywhere I needed to disable the TWI after using it looked like this:

    		nrf_drv_twi_disable( &bspI2C1Inst );
    	nrf_drv_twi_uninit( &bspI2C1Inst );
    	
    	// Nordic work around to prevent burning excess power due to chip errata
    	// Use 0x400043FFC for TWI0.
    	*(volatile uint32_t *)0x40004FFC = 0;
    	*(volatile uint32_t *)0x40004FFC;
    	*(volatile uint32_t *)0x40004FFC = 1;
    
    	// Initialize the TWI with the event handler set to NULL. Makes the read
    	// and write operations blocking. Must be done each time because  of the 
    	// power off of the peripheral done above.
    	errCode = nrf_drv_twi_init( &bspI2C1Inst, &bspI2C1Config, NULL, NULL );
    	APP_ERROR_CHECK( errCode );
    

    Fortunately I had it inside a BSP level driver and it was isolated to a read, and a write function.

Reply Children
No Data
Related