1. STM32WL3x internal capacitor bank
The STM32WL3x family utilizes an external High-Speed External (HSE) oscillator to generate its internal reference frequency, which ranges between 48 MHz and 50 MHz. Ensuring this frequency is highly accurate is crucial to avoid any dispersions in RF frequency and data rate.
1.1. Frequency adjustment mechanism
To fine-tune the HSE frequency, an external load capacitance must be applied to both the XIN and XOUT pins. The STM32WL3x family incorporates a comprehensive capacitor bank that is software programmable. This enables precise adjustments of the HSE frequency with steps narrower than one part per million (ppm).
1.2. Benefits of choosing the appropriate HSE
Selecting the appropriate HSE allows for a capacitor-less crystal platform with broad frequency coverage, enhancing the performance and reliability of the Sub-1 Ghz product family in various applications.
2. HSE register settings
In the radio clock controller module
- Enable the SWXOTUNEEN bit to allow tuning the Xtal by the software.
- Adjust SWXOTUNE bits (13:8) to fine tune the capacitor bank, and thus, the RF frequency.
- If not used (SWXOTUNEEN = 0), both XIN and XOUT pins see a ~7pF capacitor as the capacitor bank is NOT switchable ON/OFF.
This demonstrates a very simple implementation with the use of only two software registers (enable + values).
3. HSE tuning range
- Internal capacitor bank has a wide range of ~7.5 pF that is programmable by step of 0.12 pF
- HSE's have a certain pull-ability (also called sensitivity) that is generally in the ~10 ppm/pF range.
- In this example, each time its load is incremented by 1 pF, the generated frequency shifts by 10 ppm.
- With the STM32WL3x tuning step, the RF frequency has an average of 1.2 ppm granularity @ 868 MHz.
- On the STM32WL3x reference sign with the chosen HSE, a typical 45 KHz of total frequency variation is achieved.
This wide tuning range enables easy compensation for initial tolerance of any HSE Xtals.
- Uncertainty on the values of the internal capacitor bank
- Design process for the internal capacitor bank has a very tight tolerance : from -40°C up to 105°C, this tolerance is ~37ppm/°C.
- This gives a total dispersion of 165*37 ppm = 6100 ppm = 0.61% tolerance on the capacitor value.
- In other words, for a typical 7 pF capacitor value, its dispersion is 7*6.1/1000 = 0.04 pF
4. HSE crystal requirements
- To achieve the widest tuning range possible, the HSE needs to have a nominal load capacitance of 8 pF.
- Choosing a different load capacitance offsets the tuning range, as the capacitor bank is not centered anymore to achieve the best dynamic.
- Those requirements are indicated in the STM32WL3x datasheet.
5. STM32WL3x : HSE Internal capacitor bank wrap-up
- Easy implementation with only two registers to be programmed
- Wide tuning range when using an 8 pF Xtal
- Very accurate frequency control due to extremely tight tolerance