I'm a newbie here.

Now I want to design an oscillator circuit to drive QCM-Sensor. Then I have found a circuit from the datasheet of comparator LT1671.

enter image description here

It looks just like a relaxation oscillator with a Crystal on it. What I can't understand is how the crystal helps the relaxation oscillator to produce a stable oscillation. Some articles simply says that, crystals have the ability to select frequencies, but I don't really understand.

All I can understand so far are:

  • how a relaxation oscillator (without crystal) works

  • A crystal can be described by an equivalent BVD model. At the series resonance frequency the crystal works like a Resistor and at the parallel-resonance likes an Inductor

  • 1
    \$\begingroup\$ All Xtals and resonators use an equivalent cct of RCLC with very small motional series C, large L and shunt C with R=ESR rating so phase is 0 deg for series low impedance then 180 deg for parallel f high impedance when used with negative feedback. Search "Xtal impedance plots" on google images and go from there \$\endgroup\$ Aug 4, 2020 at 17:47
  • 1
    \$\begingroup\$ Man, that circuit is so weird. The crystal is always an RLC network, so while it "acts like a resistor" at series resonance, it also acts like an inductor a bit above series resonance, and like a capacitor below it. This will tend to make the circuit oscillate at the right frequency -- if, that is, it ever starts up. Which analysis to show that it will is -- weird. \$\endgroup\$
    – TimWescott
    Aug 4, 2020 at 18:31

2 Answers 2


Oscillators work because the output gets fed back to the input with just the right phase shift to be the same phase coming out again.

In the case of the that circuit, that means that the output is -- roughly, because the chip has delay -- in phase with the input. It's close to being in your "acts like a resistor" mode.

The weird thing about that circuit is that if you replace the crystal with a capacitor, it will oscillate. In fact, you need the case capacitance of the crystal to make it start oscillating.

So, it starts up oscillating at a frequency determined by the crystal case capacitance and the RC network on the negative input -- basically, it's a relaxation oscillator. The crystal case capacitance working against the pair of 2k-ohm resistors provides the positive feedback that it needs to oscillate.

As it starts to oscillate in that mode, the crystal will start to vibrate. Initially it doesn't vibrate much, but even a slight signal on the crystal will cause the relaxation oscillator to have a component of its output that is at the crystal frequency. The crystal will select for this and vibrate harder, which will have a stronger affect on the oscillation, etc.

I simulated this in LTSpice for a variety of values of the 68nF cap, and even when I had really stupid-low values (220pF, for instance), the thing would still eventually settle out to the correct frequency. With these stupid-low values I saw quite a long period of chaotic behavior on the output, with a frequency of oscillation that was much higher than the "design" frequency -- I suspect that with a real crystal such a circuit would end up oscillating at one of the crystal's overtones, rather than the correct frequency.

Here's the crystal model I used; because I used nice round numbers for the capacitance and inductance, it has a series-resonant frequency of 995kHz instead of 1MHz.


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ Thanks for your answer. Could you please post a figure for the LTspice Configuration. I also tried to simulate it in LTspice, but failed \$\endgroup\$
    – sun0727
    Aug 5, 2020 at 10:53
  • \$\begingroup\$ I didn't save the LTSpice model -- but I've added the model I used for the crystal. Hopefully that helps. Aside from this crystal model, the only thing special I did was set the maximum timestep to \$10^{-8}\$. \$\endgroup\$
    – TimWescott
    Aug 5, 2020 at 18:21

There is negative_feedback for the bias_point.

Thus the circuit will self_bias into linear_region.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.