This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1121: Measuring & Adjusting XTAL Error Manually

Part Number: CC1121


Experimentally, I would like to measure and correct for any 32MHz Xtal error.

(Measuring the RX frequency is problematic and the TX frequency drifts ~300Hz after entering TX mode.)

From ChuckWagon...

------------------------------

IOCFG3.GPIO3_CFG = 49; // see EXT_CLOCK  in Table 10 in User Guide
ECG_CFG.EXT_CLOCK_FREQ = 64;  default divisor of 64, only needs to be changed if a different divisor is needed.

This should output the crystal freq/64 on GPIO 3

------------------------------

Using a frequency counter, this will enable the measurement of the XTAL error itself.

How then best to apply a correction to the PLL which sets the actual TX/RX frequency?

Can adjusting FREQOFF0 & FREQOFF1 be utilized by applying some multiple?

Is there some other  register which directly affects the input to the PLL?

  • - Is a 300 Hz drift after entering Tx problematic? How accurate do you need it?
    - How long time do you have to do the measurement? My first thought is that measuring ~1 ppm accuracy can take some time with a frequency counter.

    When you have found a measurement method you want to use you can place the required delta frequency in the FREQOFF registers. The registers affecting the VCO frequency is shown in equation 26 and 27 in the UserGuide.
  • A 300 Hz drift in TX frequency corresponds to 0.33 ppm @915 MHz and 0.67 @450 MHz and does not degrade CC112x sensitivity. The error introduced by the reference source (crystal or TCXO) contributes more to the total frequency error.
  • Hello,

    Agreed about the 300Hz being in-significant, however, it is unnerving as it drifts continuously.

    Chuck created a spreadsheet for doing this which is fabulous.

    Although the direct crystal method does work, the measurement period is tiny.

    I would prefer to read the FREQ_OFF value set by FREQ_EST from of a calibrated input frequency using a RF Generator.

    However, I do not know how to access that register using SmartRF Studio?

    Is there some way of including that in the PER test report strings in addition to the RSSI value?

  • Have you received an answer to this through other channels?