Electronic – Crystal compensation for temp and voltage

compensationcrystaloscillatortemperature

Introduction

I'm toying with the design for a fail-safe wall clock controlled by multiple 32.768kHz crystal oscillators. I'm currently reading about compensation.

Compensator from literature

From what I read (e.g. this paper, Design Technique for Analog Temperature Compensation of
Crystal Oscillators
) crystal stability over temperature is cubic at best:

crystal temperature variation

In that paper, Haney suggests the following compensation circuit:

compensator circuit

It's interesting, but I have my misgivings. I'm comparing that to a "dumb" design based on microcontroller lookup table compensation. In my estimation, the comparison basically goes like this:

Analog compensation advantages

  • Less reliance on digital circuitry
  • Decreased cost of microcontroller
  • Less noise generated by digital traces
  • Analogue circuitry has infinite resolution, whereas LUT and ADC have limited resolution
  • No ADC error introduced (quantisation, linearity, etc.)
  • Less dependence on characterisation than LUT; LUT needs better sample size
  • Analogue compensation is instant(ish); digital compensation has latency

LUT compensation advantages

  • Analogue components have their own tolerances and temperature drift characteristics, and that effect snowballs with increased analogue circuit complexity; this approach has fewer analogue components
  • Decreased cost from analogue components
  • Decreased analogue circuit complexity means fewer potential points of failure
  • Less dependence on analogue analysis
  • Less analogue component cost
  • 2D LUT can compensate for both temperature and supply voltage variation; circuit above would need additional complexity to compensate for supply voltage, esp. when battery-driven

Questions

  • Are there any inaccuracies or gaps in the list above?
  • Are there any simpler approaches to analogue crystal temperature compensation than the one presented by Haney? Would it be worth combining that with a LUT?

As a sidenote, it turns out that there are many integrated VCTCXO (voltage-compensating, temperature-compensating) devices out there, and this is probably what I'll end up using.

Best Answer

Inaccuracies

Analogue compensation is instant(ish); digital compensation has latency

An analog control scheme of course also has latency; especially so since the noise characteristics might require you to do some careful bandwidth limiting in the control loops. The ADC conversion time might be negligible compared to that.

Anyway, might be irrelevant: since temperature changes are relatively slow due to thermal mass, my guess is that the latency is pretty irrelevant for most systems' needs.

Analogue circuitry has infinite resolution, whereas LUT and ADC have limited resolution

Need to be careful with "infinite resolution", because that implies that an analog system can distinguish values to an arbitrary precision, where in reality, all analog systems are subject to noise. There's rich theory on how noise reduces the amount of information that flows through a system, and how quantization does (the latter is easy).

2D LUT can compensate for both temperature and supply voltage variation; circuit above would need additional complexity to compensate for supply voltage, esp. when battery-driven

You'd still need a voltage reference for any ADC to deliver meaningful values.

Simpler approaches

Buy a ready-made TCXO (example) or even an oven-controlled oscillator (OCXO; it is a crystal in a small oven to keep the temperature constant).

Related Topic