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

softdevice and low frequency clock source

Hello,

I've noticed the following sentence in s132_nrf52_3.x.x release notes:

"Synthesized low frequency clock source is not tested or intended for use with the BLE stack."

Could you clarify, does this means that correct low frequency clock settings are:

  • NRF_CLOCK_LF_SRC_RC
  • NRF_CLOCK_LF_SRC_XTAL

And that NRF_CLOCK_LF_SRC_SYNTH should not be used ?

Thanks

Parents
  • TL;DR don't use it for softdevice applications, it's not tested because there's never a need to use it, there are always just as good, lower power options available.

    Yes that's what it means, don't use it for BLE applications. It's not anything to do with HFCLK going down or losing softdevice interrupts, if you enable it it continues to run even though app event waits and other wait states as long as the LFCLK is required however Nordic doesn't test it for use with the softdevice because there's basically no practical point in using it. It's a guaranteed high power drain because the HFCLK is always on as long as the LFCLK source is needed. Since the softdevice has, built-in, all the machinery necessary to keep the very low power RC LFCLK calibrated for inaccuracy and drift at basically no cost (the HFCLK ends up being kept on fractionally longer every now and again to do the calbration) synthesized is just not a mode which anyone needs to use when they are using the softdevice.

    It may be a handy mode to use when you are NOT using the softdevice and have a standalone application which needs the LFCLK and you don't have a 32kHz crystal. In that case if you don't want to write all the RC calibration code, the synthesized mode works just fine to give you an expensive (power wise) LFCLK. You'd just enable it directly in the registers at that point.

Reply
  • TL;DR don't use it for softdevice applications, it's not tested because there's never a need to use it, there are always just as good, lower power options available.

    Yes that's what it means, don't use it for BLE applications. It's not anything to do with HFCLK going down or losing softdevice interrupts, if you enable it it continues to run even though app event waits and other wait states as long as the LFCLK is required however Nordic doesn't test it for use with the softdevice because there's basically no practical point in using it. It's a guaranteed high power drain because the HFCLK is always on as long as the LFCLK source is needed. Since the softdevice has, built-in, all the machinery necessary to keep the very low power RC LFCLK calibrated for inaccuracy and drift at basically no cost (the HFCLK ends up being kept on fractionally longer every now and again to do the calbration) synthesized is just not a mode which anyone needs to use when they are using the softdevice.

    It may be a handy mode to use when you are NOT using the softdevice and have a standalone application which needs the LFCLK and you don't have a 32kHz crystal. In that case if you don't want to write all the RC calibration code, the synthesized mode works just fine to give you an expensive (power wise) LFCLK. You'd just enable it directly in the registers at that point.

Children
No Data
Related