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

High power consumption in shutdown

The device has high power consumption when in shutdown, around 0,5mA. It uses SPI and TWI in normal operation but I have implemented the work around according the errata but still the problem persist. Am I missing something here?

    *(uint32_t *)0x40003FFC = 0;
    *(uint32_t *)0x40003FFC;
    *(uint32_t *)0x40003FFC = 1;

    *(uint32_t *)0x40004FFC = 0;
    *(uint32_t *)0x40004FFC;
    *(uint32_t *)0x40004FFC = 1;

    *(uint32_t *)0x40023FFC = 0;
    *(uint32_t *)0x40023FFC;
    *(uint32_t *)0x40023FFC = 1;


    nrf_drv_twi_disable(&m_twi_master);
    nrf_drv_twi_uninit(&m_twi_master);

Parents
  • Hi

    Which of the SPI/TWI are you using in your project? Have you turned the TWI/SPI off and back on using the power registers after it has been disabled, as the workaround suggests? For example uninitializing it like this should suffice:

    nrf_drv_twi_uninit(&m_twi);
    *(volatile uint32_t *)0x40003FFC = 0;
    *(volatile uint32_t *)0x40003FFC;
    *(volatile uint32_t *)0x40003FFC = 1; 

    Best regards,

    Simon

  • Hi Simon,

    I use TWI0,and also use this workaround but power consumption still about 400uA,it's only 5uA if did not disable twi.

    static void i2c_diable_uninit(void)
    {
        nrf_drv_twi_disable(&m_twi);
    
        nrf_drv_twi_uninit(&m_twi);
    
        nrf_gpio_cfg_default(APS_SCL_PIN);
        nrf_gpio_cfg_default(APS_SDA_PIN);
        nrf_gpio_cfg_default(APS_CS_PIN);
        nrf_gpio_cfg_default(APS_SA0_PIN);
    
    
        *(volatile uint32_t *)0x40003FFC = 0;
        *(volatile uint32_t *)0x40003FFC;
        *(volatile uint32_t *)0x40003FFC = 1;
    }
    

Reply
  • Hi Simon,

    I use TWI0,and also use this workaround but power consumption still about 400uA,it's only 5uA if did not disable twi.

    static void i2c_diable_uninit(void)
    {
        nrf_drv_twi_disable(&m_twi);
    
        nrf_drv_twi_uninit(&m_twi);
    
        nrf_gpio_cfg_default(APS_SCL_PIN);
        nrf_gpio_cfg_default(APS_SDA_PIN);
        nrf_gpio_cfg_default(APS_CS_PIN);
        nrf_gpio_cfg_default(APS_SA0_PIN);
    
    
        *(volatile uint32_t *)0x40003FFC = 0;
        *(volatile uint32_t *)0x40003FFC;
        *(volatile uint32_t *)0x40003FFC = 1;
    }
    

Children
No Data
Related