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

How to reduce Gazell disable current

When I call nrf_gzll_enable(), then nrf_gzll_disable(), and go to sleep with __WFE(), there is about extra 6uA draw due to this enable/disable action. It seems the nrf_gzll_disable() does not turn everything off due to the use of the radio. How can I eliminate this 6uA draw, if possible.

Thanks.

Parents
  • Hi Joe

    It sounds like you have run into errata issue 78, which affects the timers in the nRF52832. Unless they are shutdown using the SHUTDOWN task, they will draw excessive current in system ON sleep mode.

    Could you try to shut down the timer manually after disabling Gazell, before entering sleep, and see if it solves the issue?

    To shut down the timer simply activate the SHUTDOWN task like this:

    NRF_TIMER0->TASKS_SHUTDOWN = 1;
    

    Or like this, if you use the SoftDevice compliant version of Gazell:

    NRF_TIMER2->TASKS_SHUTDOWN = 1;
    

    Best regards
    Torbjørn

Reply
  • Hi Joe

    It sounds like you have run into errata issue 78, which affects the timers in the nRF52832. Unless they are shutdown using the SHUTDOWN task, they will draw excessive current in system ON sleep mode.

    Could you try to shut down the timer manually after disabling Gazell, before entering sleep, and see if it solves the issue?

    To shut down the timer simply activate the SHUTDOWN task like this:

    NRF_TIMER0->TASKS_SHUTDOWN = 1;
    

    Or like this, if you use the SoftDevice compliant version of Gazell:

    NRF_TIMER2->TASKS_SHUTDOWN = 1;
    

    Best regards
    Torbjørn

Children
Related