# 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

edit retag close delete

Sort by » oldest newest most voted

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.

more

Possibly helpful info from my memory and quick searches: - calling sd_app_evt_wait shuts down the CPU and HFCLK. - calling sd_app_evt_wait does NOT shut down LFCLK by default, unless you set NRF_CLOCK->TASKS_LFCLKSTOP = 1; see here LFCLK is used by timers to wake the firmware, which is why the SoftDevice doesn't power them off by default. IIRC, the SoftDevice may also need an LFCLK to function properly, and use it behind the scenes. They may be warning about using the synthesized LFCLK with the SoftDevice because a lot of what the softDevice does is driven by interrupts that may come from an LFCLK timer, and if you synthesize LFCLK, then you'll lose it when HFCLK goes down...

more

[hide preview]

## Recent blog posts

• ### The world's smallest breakout board compatible BTLE module: Automate your curtains for less than \$90 with BluChip!

Posted 2017-12-07 09:10:36 by Jeevan Anga
• ### Join Jumper's free beta for a Virtual nRF52832 device to streamline your R&D process

Posted 2017-11-27 12:53:04 by Yaniv Nis
• ### PSG-NORDIC Channel in YouTube

Posted 2017-11-27 11:08:04 by Mugelan
• ### Job Offer: nRF / Embedded Developer in Stuttgart, Germany

Posted 2017-11-20 11:46:20 by Marius Heil
• ### Estudando Projetos do SDK 10 para nRF5x com Eclipse Oxygen (Portuguese)

Posted 2017-11-12 00:08:55 by Carlos Delfino

## Recent questions

• ### Can I "listen" to the data between two devices (under my control) using a third device to get rssi?

Posted 2017-12-11 16:22:59 by Daniel
• ### Do I need to define an Analog input as such in NRF52?

Posted 2017-12-11 15:43:09 by ndarkness
• ### FDS & fstorage extra information

Posted 2017-12-11 14:34:42 by Flinn92