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

16MHz Crystal Current with SoftDevice

Hi,

As stated here:

After manually starting the HFCLK crystal it will be enabled even though there are no peripherals requesting the HFCLK. When no peripherals request the crystal it will reside in standby mode where the current consumption is around 25uA, compared to 470uA when it is in use, see nRF51822 PS v3.1, table 22. When a peripheral needs the HFCLK, it will be ready in standby mode and there is no startup time.

When softdevice is enabled however, the softdevice will be in control of the high frequency crystal and automatically enables the crystal before a radio event and disables the crystal after a radio event, in order to save current. If the application needs to enable the 16MHz crystal while the softdevice is enabled, it must do so by calling the following softdevice functions:

sd_clock_hfclk_request

So, if with SoftDevice enabled, I request the HFCLK. Then, run the RTC to START TIMER every 500msec and STOP the time after 50msec, i.e., the TIMER just runs for 50msec. Considering that there is no radio event during these operations, can we expect that during the 450msec period XO16MHz will be put in STANDBY mode with 25uA and no startup time required? (Also, I assume that STOPPING the TIMER means that is doesn't need HFCLK anymore and no other action is required)

In other words, with SoftDevice do all of these happen automatically, or there is no standby and for having the lower current I should use sd_clock_hfclk_release and again request it and also expect the startup current and startup time each time?

Thanks!

Parents
  • FormerMember
    0 FormerMember

    The RTC uses the LFCLK, so there is no need to start the HFCLK when using the RTC. When the softdevice is enabled, the LFCLK will run all the time, so no additional timer needs to be started to use the RTC.

  • Can you please provide a clear answer to item 1, and confirm if 2&3 are correct (example was provided just to show what the blocks that I need are):

    1- When Softdevice is enabled, can we expect the same automatic procedure of putting HFXO into standby or we have to use sd_clock_hfclk_release and do it manually? (please put aside whatever extra power is in standby, does the system put the HFXO in standby with SD enabled or not?)

    2- My understanding is that"STOPPING the timer" is enough to tell the system that HFCLK is no longer needed. Is this true? or we should do some other things like disabling the timer interrupt or...

    3- Based on Table 22, the startup current for 16MHz XO is 1.1 mA. I assume this current is drawn during the whole startup time of 800usec.

Reply
  • Can you please provide a clear answer to item 1, and confirm if 2&3 are correct (example was provided just to show what the blocks that I need are):

    1- When Softdevice is enabled, can we expect the same automatic procedure of putting HFXO into standby or we have to use sd_clock_hfclk_release and do it manually? (please put aside whatever extra power is in standby, does the system put the HFXO in standby with SD enabled or not?)

    2- My understanding is that"STOPPING the timer" is enough to tell the system that HFCLK is no longer needed. Is this true? or we should do some other things like disabling the timer interrupt or...

    3- Based on Table 22, the startup current for 16MHz XO is 1.1 mA. I assume this current is drawn during the whole startup time of 800usec.

Children
No Data
Related