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.

CC1101: Calibration of crystal frequency

Part Number: CC1101

Hi All

On our CC1101 production units we utilise a 27MHz crystal on an 868MHz design. We have found significant frequency offset between batches of units caused by tolerance of the crystal and load capacitors, by measuring the clock output using the default configuration of GDO0 (CLK/192). This frequency offset has resulted in units in an older batch not communicating with units from a newer batch.

The referred question had a final comment of modifying the FREQOFF register. I attempted this with some small values and found it to have solved our problem of units between batches not communicating.

My question: Apart from sourcing better quality components, is the correct way of tuning the frequency to modify this FREQOFF register until the transmitted carrier matches exactly 868MHz?

Thanks in advance

Justin

  • - Do you know the frequency offset tolerance you have with your settings? Note:
    The minimum required RX bandwidth to ensure reception is given by: RX BW = SignalBandwidth+ 4*ppm Crystal* RF Frequency of Operation

    Yes, you can tune the FREQOFF register to get the correct frequency. This will handle the initial frequency offset but you still have to account for temperature and aging. You can also consider to increase the RX BW slightly to account for the frequency offset variation.
  • The RX filer bandwidth is 241kHz and the Deviation is 32.95kHz according to Smart RF studio. Channel spacing ~200kHz.

    We are using multiple channels so I cannot increase the receive bandwidth too much.

  • And what is the datarate?

    Have you measured the OBW of your signal and plugged this into the equation I gave in my last post?
  • Data rate is 76.8kBaud. Unfortunately we don't currently have the equipment needed to measure output signal.
  • For FSK the following is close to correct: Signal bandwidth = 2*deviation+datarate=142 kHz

    Assuming 20 ppm this gives:
    (2*33+76.8)*1e3+4*20e-6*868e6 = 212 kHz

    Which means that you should have been ok with the selected bandwidth. How large offset do you measure?
  • The oldest crystal measured a drift of -50ppm, while a newer one measured at +14ppm, so a difference of 64ppm between those two units.
  • If the offset is always around -50 ppm indicate that the old one require a different load cap. I assume that the tolerance on the xtal is less than 50 ppm?
  • Yes according to the datasheet the tolerance is ± 10 ppm / ± 30 ppm and ± 3 ppm first year aging.
    I can't rule out low quality capacitors in the older batches. However to avoid reworking all those units I'm hoping to implement a calibration procedure once we have acquired the necessary equipment.
    According to the datasheet the resolution of the FREQOFF register is FXTAL/2^14 which correlates to about 61ppm. However when changing the unit with a frequency drift of -50ppm to a FREQOFF value of 1, it still did not communicate with any newer unit. Changing it to a value of 2 did communicate with a single newer (the +14ppm) unit. I also tried with a value of 5, and it was the same as with 2. I realise I don't have a large sample base here, but surely the value of 1 should have worked and nothing else?
  • Not sure if I agree with the calculation. FXTAL/2^14 = 27e6/2^14=1647 Hz which is 1.9 ppm @868 Mhz
  • My apologies, I was under the impression that "base frequency" meant the crystal frequency of 27MHz instead of the carrier 868MHz. That makes more sense.
    Thank you.