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

Controlling voltage regulators and HFCLK separately?

FormerMember
FormerMember

Hi all,

As I know in constant latency mode, both the regulators (1v7 & 1v2) and HFCLK are kept on. Is there a way to keep the HFCLK on while one or both the regulators are switched off?

This is so that when waking up frequently, the waiting for the HFCLK XTAL start-up period can be avoided.

Cheers, Prithvi

Parents
  • Hi

    I have updated this thread to answer your question better.

    Update 25.8.2015

    I tested current consumption of my PCA10028 board. Here is what I observed:

    HFCLK crystal enabled, CPU disabled (asleep in System On low power mode) -> current consumption 35uA

    int main(void)
    {
        /* Start 16 MHz crystal oscillator */
        NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;
        NRF_CLOCK->TASKS_HFCLKSTART = 1;
    
        /* Wait for the external oscillator to start up */
        while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0) {}
    
        while (true)
        {
            // Sleep
        	__WFE();
        	__SEV();
        	__WFE();
        }
    }
    

    According to specification, the expected current consumption is I_STBY,X16M+I_ON,16k = 25+2.6 = 27.6uA


    Constant latency mode, CPU disabled (asleep in System On low power mode) -> current consumption 905uA

    int main(void)
    {
        /* Start 16 MHz crystal oscillator */
        NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;
        NRF_CLOCK->TASKS_HFCLKSTART = 1;
    
        /* Wait for the external oscillator to start up */
        while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0) {}
    
        // Enable constant latency mode
        NRF_POWER->TASKS_CONSTLAT = 1;
    
        while (true)
        {
            // Sleep
        	__WFE();
        	__SEV();
        	__WFE();
        }
    }
    

    The current consumption of the constant latency mode in this experiment indicates that the HFCLK crystal, 1v2 regulator, and 1v7 regulator are enabled in active mode (not standby mode) as 905 uA is approximately the current consumption specified for I_1V2XO16+I_1V7 = 810+105 = 915 uA

  • Actual current values, awesome!! I'm a bit surprised by this, I was thinking the first case will have only I_ON,16k (2.6 uA) as the HFCLK will be switched off. And in the second case I was thinking the current will be I_STBY,X16M+I_ON,16k + I_1V7 + I_1V2 to be around some 200uA. I guess my understanding was wrong.

    With this info I think we can say for sure that there is no latency to wake up in constant latency mode (t_START,CPU = 0 us). What about the low power case? Is it max of t1V7 or t1V2, which is less than 5 us?

Reply
  • Actual current values, awesome!! I'm a bit surprised by this, I was thinking the first case will have only I_ON,16k (2.6 uA) as the HFCLK will be switched off. And in the second case I was thinking the current will be I_STBY,X16M+I_ON,16k + I_1V7 + I_1V2 to be around some 200uA. I guess my understanding was wrong.

    With this info I think we can say for sure that there is no latency to wake up in constant latency mode (t_START,CPU = 0 us). What about the low power case? Is it max of t1V7 or t1V2, which is less than 5 us?

Children
No Data
Related