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

Using the internal 32768Hz RC oscilator

I would like to know if it is possible to use the internal RC oscillator without calibrating every 4s with the softdevice disable. I just want to read a sensor every 2s and I dont need very precise timing so I dont need to calibrate the internal RC oscillator very often. Then once I detect a certain level in the sensor I would like to be able to enable the softdevice to connect to a central device. I want to keep both cost and power consumption low.

I would like also to know if it is possible to enable the softdevice without calibrating 4s till the radio is in use. This will simplified my code as I will be able to use the timer callbacks from the softdevice.

Thank you.

Parents
  • Hi

    The specification says that typical accuracy of the 32kHz RC is plus/minus 2% when uncalibrated. I have seen it to be as high as 9%, but there is no specified max value so in theory it could be anything.

    When you enable the softdevice you would specify that you use the internal 32kHz RC with calibration. We recommend to use 4 second calibration interval, which will add ca 8uA average current consumption compared to no calibration. When you disable the softdevice it will leave the 32kHz running but I would assume that calibration stops. But to make sure calibration stops you could stop it manually after you disable the softdevice with:

    NRF_RTC->TASKS_CTSTOP = 1;

    On the other hand, you always need to have the calibration when using the RC with the softdevice. You enable calibration and the RC when you initialize the softdevice and after that you can not disable the calibration unless you disable the softdevice first.

Reply
  • Hi

    The specification says that typical accuracy of the 32kHz RC is plus/minus 2% when uncalibrated. I have seen it to be as high as 9%, but there is no specified max value so in theory it could be anything.

    When you enable the softdevice you would specify that you use the internal 32kHz RC with calibration. We recommend to use 4 second calibration interval, which will add ca 8uA average current consumption compared to no calibration. When you disable the softdevice it will leave the 32kHz running but I would assume that calibration stops. But to make sure calibration stops you could stop it manually after you disable the softdevice with:

    NRF_RTC->TASKS_CTSTOP = 1;

    On the other hand, you always need to have the calibration when using the RC with the softdevice. You enable calibration and the RC when you initialize the softdevice and after that you can not disable the calibration unless you disable the softdevice first.

Children
No Data
Related