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

TWI/TWIM enable time on nRF52xxx

Hi,

I would like to disable TWIM peripheral when not needed to save some power and enable it just before it's needed. Is there any delay after writing to NRF_TWIMx->ENABLE register which can be significant when enabling/disabling TWIM frequently or it does not matter? Does it actually make sense to use TWIM in such way for power saving?

Parents
  • "I would like to disable TWIM peripheral when not needed to save some power and enable it just before it's needed. Is there any delay after writing to NRF_TWIMx->ENABLE register which can be significant when enabling/disabling TWIM frequently or it does not matter?"

    I do not think there's more than a few clock cycles of latency from the time you set the ENABLE register until you can use the peripheral. 



    "Does it actually make sense to use TWIM in such way for power saving?"

    Yes. From PS v1.4:

    33.6 Low power
    When putting the system in low power and the peripheral is not needed, lowest possible power consumption
    is achieved by stopping, and then disabling the peripheral.
    The STOP task may not be always needed (the peripheral might already be stopped), but if it is sent,
    software shall wait until the STOPPED event was received as a response before disabling the peripheral
    through the ENABLE register.

Reply
  • "I would like to disable TWIM peripheral when not needed to save some power and enable it just before it's needed. Is there any delay after writing to NRF_TWIMx->ENABLE register which can be significant when enabling/disabling TWIM frequently or it does not matter?"

    I do not think there's more than a few clock cycles of latency from the time you set the ENABLE register until you can use the peripheral. 



    "Does it actually make sense to use TWIM in such way for power saving?"

    Yes. From PS v1.4:

    33.6 Low power
    When putting the system in low power and the peripheral is not needed, lowest possible power consumption
    is achieved by stopping, and then disabling the peripheral.
    The STOP task may not be always needed (the peripheral might already be stopped), but if it is sent,
    software shall wait until the STOPPED event was received as a response before disabling the peripheral
    through the ENABLE register.

Children
No Data
Related