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

How to monitor softdevice internal rc recalibration

To the kind attention of Nordic support team,

I was reading this paragraph from https://infocenter.nordicsemi.com/pdf/S132_SDS_v6.2.pdf

"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."

I'd be very interested in understanding "how many times" softdevice does detect the clock has drifted. Is there a way I can use somehow a softdevice routine to get an idea about that?

How many times softdevice takes action to re calibrate? Maybe this analysis could give some feedback about the quality of the hardware, and could be interesting to give a look at it.

Is there also an event from the softdevice teling the application, "ok the re calibration has been done"? Is the re calibration effect visible measuring the lfclk? What is a pattern we could expect to see if measuring lfclk during our application running? I have been reading that RC internal needs to be re calibrated about every 8 seconds. Is there a way to stop the re calibration and start it again to compare measurements in different time intervals?

Thank you for your support,

Best regards

Parents Reply Children
Related