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

Is it possible to turn off/on the calibration of the RC oscillator on the fly?

We are using nRF52820 (and possibly nRF52833) with RC oscillator for LFCLK (without external crystal). Our device product will provide an option to turn off Radio communication. So when the Radio is off we want to get rid of the calibration current.

My question is: Is it possible to turn off/on the calibration of the RC oscillator on the fly? How can this be done?

Is providing rc_ctiv = 0, rc_temp_ctiv = 0 in the code referred in link below sufficient to turn off the calibration?
https://devzone.nordicsemi.com/f/nordic-q-a/29491/lf-clock-configuration-with-softdevice


EDIT: I've found the following question thread to be informative. So can I conclude that this is impossible when using the Softdevice?

https://devzone.nordicsemi.com/f/nordic-q-a/3185/using-the-internal-32768hz-rc-oscilator

Parents
  • Hello,

    To turn off calibration you would have to disable the Softdevice first (sd_softdevice_disable), which means you have to re-initialize everything related to BLE when you want to start radio communication again (ble_stack_init, services_init, gap_init, ..). A simple solution to to re-enable the Softdevice could be to perform a system reset (NVIC_SystemReset) if a short interruption of the running program is acceptable.

    Is providing rc_ctiv = 0, rc_temp_ctiv = 0 in the code referred in link below sufficient to turn off the calibration?

    The Softdevice will not accept these parameters when you have selected the RC oscillator as the clock source.

Reply
  • Hello,

    To turn off calibration you would have to disable the Softdevice first (sd_softdevice_disable), which means you have to re-initialize everything related to BLE when you want to start radio communication again (ble_stack_init, services_init, gap_init, ..). A simple solution to to re-enable the Softdevice could be to perform a system reset (NVIC_SystemReset) if a short interruption of the running program is acceptable.

    Is providing rc_ctiv = 0, rc_temp_ctiv = 0 in the code referred in link below sufficient to turn off the calibration?

    The Softdevice will not accept these parameters when you have selected the RC oscillator as the clock source.

Children
Related