S
Steve Wilson
Guest
Steve Wilson <no@spam.com> wrote:
I have uploaded an illustration of how to measure 8 parts-per-billion in
LTspice. You can download it at
https://drive.google.com/file/d/1jPoXyNQmRrb5r3hu_6LjNyFHajpsOjp8/view
This turned out to be one of the most difficult articles I have uploaded to
google drive. Please let me know if you have trouble following it.
John Larkin <jlarkin@highland_atwork_technology.com> wrote:
On Wed, 13 Nov 2019 01:13:53 -0000 (UTC), Steve Wilson <no@spam.com
wrote:
John Larkin <jlarkin@highland_atwork_technology.com> wrote:
On Wed, 13 Nov 2019 08:23:41 +1100, Clifford Heath
no.spam@please.net> wrote:
On 12/11/19 10:51 pm, Jeroen Belleman wrote:
A real oscillator will start up just fine, but a simulation may or
may not. Either way, it would be wrong to take this as a model of
reality. You *must* kick-start an oscillator simulation.
I prove this wrong in a separate post. But you have to be sure to use
the correct model.
I have both simulated and built quite a few oscillators using
LTSpice, allowing them to start by amplifying the noise in the
models. Anything reasonable seems to start in LTSpice and in real
life, once you get the gain and phase right. I've never used a
kick-start in any case.
High-Q oscillators, especially crystal oscillators, can take
thousands or millions of cycles to settle. And need a small time step
to model accurately. That can make a run take hours.
I like to force initial conditions close to what the steady-state
values will be. It starts instantly. Then I can zoom up on what it's
doing and see if the amplitude is increasing or decreasing.
I take that to mean letting it run for many cycles then looking at the
envelope to see if it is constant. Then adjust the initial conditions
as appropriate.
Each setting of initial conditions can be run for just a few cycles to
see if the amplitude is increasing or decreasing. Zoom the heck up on
the peaks. Then tweak the conditions and try again. It converges fast.
That's trial and error and guesswork. You can spend a lot of time trying
to get close.
Got to be careful about bias, which can involve long time constants.
LTspice settles the bias conditions for you.
You don't have to do that. There's a better way.
I show how to do this in oscillators.zip
https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaYtf
You start the oscillator and let it run for an appropriate length of
time,
That's the problem. The appropriate screen time may be hours. Maybe
days with a good time step.
I have never seen more than a few minutes. Your time step is way too
small.
then measure the peak voltage across the crystal ESR. Convert that to
the voltage required to produce that current, and set the initial
conditions to produce that voltage across the inductor and ESR
resistor. This produces a current in the inductor that matches the
value measured after many cycles.
Why not just measure the voltage and current of all the crystal
elements? It has shunt and series paths, so the current through the
series resistance is only part of the story.
The ESR is the one you are interested in. It gives the exact value
needed to start the oscillator and settle in a few cycles, maybe one or
two.
The result is the oscillator starts and settles within a few cycles, at
exactly the correct amplitude.
It only settles at its normal rate, which might be a million cycles.
I don't think you are paying attention. I stated a few cycles. If your
trial and error technique works, why do you reject mine?
Even complex stabilization methods, such as suggested by Bruce
Griffiths, settle extremely quickly. I also show this in
Oscillators.zip
It's a technique I have used for decades, and often posted to SED.
An extension of this technique is suggested by Kevin Aylward of
Superspice:
http://www.kevinaylward.co.uk/
He starts by looking at the formula Q = XL / R
He reasons you can make a high Q oscillator run faster by lowering the
Q. Then you have to increase C by the same amount to maintain the same
frequency. He cautions to not try to go beyond a factor of 100.
His suggestion does indeed work. But it changes the frequency slightly,
which may be important in some applications.
An XO must be analyzed in time domain to estimate the voltages and
currents. It's basically impossible to do PPM or PPB frequency
analysis in time domain. Best switch to frequency domain for that.
Nonsense. Let the oscillator run for 1,000 or 10,000 cycles, then
measure the frequency and divide by the number of cycles.
I have uploaded an illustration of how to measure 8 parts-per-billion in
LTspice. You can download it at
https://drive.google.com/file/d/1jPoXyNQmRrb5r3hu_6LjNyFHajpsOjp8/view
This turned out to be one of the most difficult articles I have uploaded to
google drive. Please let me know if you have trouble following it.