Clock source

The SoftDevice can use one of two available LFCLK sources: the internal RC Oscillator, or external Crystal Oscillator.

The application must provide the selected clock source and some clock source characteristics, such as accuracy, when it enables the SoftDevice. The SoftDevice Manager (SDM) is responsible for configuring the LFCLK source and for keeping it calibrated when the RC oscillator is the selected clock source.

If the SoftDevice is configured with the internal RC oscillator clock option, periodic clock calibration is required to adjust the RC oscillator frequency. Additional calibration is required for temperature changes of more than 0.5°C. See the relevant product specification (Additional documentation) for more information. The SoftDevice will perform this function automatically. The application may choose how often the SoftDevice will make a measurement to detect temperature change. The application must consider how frequently significant temperature changes are expected to occur in the intended environment of the end product. It is recommended to use a temperature polling interval of 4 seconds, and to force clock calibration every second interval (.rc_ctiv=16, .rc_temp_ctiv=2).

Extended RC calibration is enabled by default when the RC oscillator is used. In this feature, the SoftDevice as a peripheral can detect if the clock has drifted and then calibrate the RC oscillator if necessary. This calibration is in addition to the periodic calibration. If using only peripheral connections, the periodic calibration can then be configured with a much longer interval as the peripheral will be able to detect and adjust automatically to clock drift and calibrate when required. When the Extended RC calibration is enabled, the SoftDevice as a peripheral will try to increase the receive window if two consecutive packets are not received. If it turns out that the packets were missed due to clock drift, the RC oscillator calibration is started. Extended RC calibration can be disabled using the BLE option API.