In the LFXO Configuration section of the CMU chapter on EFM32 Series 1 and EFR32 devices, the following equation is presented for calculating the value of the CMU_LFXOCTRL register's TUNING bit field:


TUNING = ((desiredTotalLoadCap × 2 - Min(CLFXO_T)) / CLFXO_TS)


What is or where do I find the CLFXO_TS parameter? I need this in order to adjust the LFXO's tunable load capacitors to match the specification for the crystal in my design.



For the equation above to get you a register bit field value, the result needs to be dimensionless, i.e. it cannot have any units. Needless to say CLFXO_TS must be a datasheet or other parameter, ideally quantified in pF.

Looking at the table under Electrical Specifications → Electrical Characteristics → Oscillators → LFXO in any EFM32 Series 1 or EFR32 datasheet, CLFXO_TS is not listed. However, right under the CLFXO_T parameter, which is in the equation above, there is a specification for the on-chip tuning capacitor step size, in pF, with the symbol SSLFXO.

This parameter makes sense in the equation above because if you divide the numerator by the step size, you get a value without units. Likewise, min(CLFXO_T) is specified in the datasheet as 8 pF, so you know that if 16 pF is desired for the total loading capacitance of a given crystal, then TUNING = 0 gets the minimum CLFXO_T value of 8 pF.


Finally, it follows that if CLFXO_T is intended to be read as "LFXO tuning capacitance" then reading CLFXO_TS as "LFXO tuning capacitance step size" isn't much of a stretch. Another way to clear up this confusion is simply to rewrite the equation above as:


TUNING = ((desiredTotalLoadCap × 2 - Min(CLFXO_T)) / SSLFXO)

  • Knowledge Base Articles
  • 32-bit MCUs