Many of the low-power 8-bit MCUs have a Real Time Clock (RTC) with an integrated Low Frequency Oscillator (LFO). These devices are the C8051F97x, C8051F912/F902, C8051F99x, and the EFM8SB1 families.
This oscillator is designed to provide a more accurate clock compared to the legacy Self-Oscillate mode (the only non-crystal mode found on some devices, such as the C8051F93x family). This oscillator is also calibrated to run at approximately 16.4 kHz by default after reset. This calibration is loaded as the reset value of the LOADCAP field of the RTC0XCF register. The calibration also relies on BIASX2 (or BIASDOUBLE) in the RTC0XCN0 register being OFF. Altering the values of these two fields after reset will impact the output frequency of the LFO.
Turning BIASX2 ON will increase the frequency of the LFO. Decreasing LOADCAP will also increase the frequency of the LFO.
The LOADCAP value required to reach 16.4 kHz varies from part to part, as does the change in frequency with respect to one lsb change in this value. However, measurements from one EFM8SB1 device, across LOADCAP and BIASX2 values, are displayed below.
The measurements are attached to this artcle as LFO_LOADCAP_F.xlsx.