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

Using RC oscillator for BLE init without calibration, beacon mode.

Hey all,

Quick question. If we want to send BLE advertisements, beacons, for just 1-2 seconds, then shutdown into SYSTEM_OFF mode, could we initialize the BLE soft device with the RC oscillator without it being calibrated by the HF crystal? We don’t need a precise clock. No BLE connection, just beacon.

For instance, beaconing for 2 seconds, and using an 8 second calibration period?

SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_RC_250_PPM_8000MS_CALIBRATION, NULL);

Would this be the lower power method compared to using the 32KHz crystal, as long as we shutdown quickly (before 8 seconds). OR is the RC oscillator calibrated at the start of that 8-second period?

Also -- what's clocking the uP itself, at start-up? It's the RC oscillator, right? Is it ever calibrated if no BLE is ever used?

Thanks! Brian

Parents
  • Hi Brian,

    Unfortunately, there is no option for non-calibration mode for RC 32kHz oscillator. But you can use NRF_CLOCK_LFCLKSRC_RC_250_PPM_TEMP_8000MS_CALIBRATION for example instead. If there is no temperature change, it will not do re-calibration.

    Note that a calibration will be executed anyway at the beginning when we started the 32kHz RC.

    If you need just the advertising, I think what you can do is to use the radio directly. Without using any softdevice, then you will have full control over the 32kHz RC. You can find an example on how to do advertising with the radio directly in the experimental_ble_app_multiactivity_beacon project.

    Or you can use external 32kHz crystal, this will help you to avoid calibration.

    When the CPU starting up, it's the 16MHz RC running.

  • Hi all,

    If the temperature remains unchanged and the RC oscillator is not calibrated for a long time, is there a risk that the RC oscillator will stop working

Reply Children
Related