The Cyber-Spy.Com Usenet Archive Feeds Directly
From The Open And Publicly Available Newsgroup
This Group And Thousands Of Others Are Available
On Most IS NNTP News Servers On Port 119.
Cyber-Spy.Com Is NOT Responsible For Any Topic,
Opinions Or Content Posted To This Or Any Other
Newsgroup. This Web Archive Of The Newsgroup And
Posts Are For Informational Purposes Only.
From: Mike Monett
X-Mailer: Mozilla 2.02 (Win16; I)
Subject: Re: SPICE model of XTAL
References: <firstname.lastname@example.org> <email@example.com>
Date: Tue, 10 Dec 2002 04:00:57 -0800
NNTP-Posting-Date: Tue, 10 Dec 2002 04:01:01 EST
Organization: Bell Sympatico
Allan Herriman wrote:
> Is there any reason that you can't set the initial voltage (or
> current) on one of the C or L elements to inject the right amount of
> energy into the tank so that it starts oscillating at full amplitude
> right after "turn on"?
> This is something that you can do in simulation that you can't do in
> real life.
Very good suggestion. Yes, it works fine if you have access to the
elements of the model. This means using a discrete version instead of a
My ascii art leaves much to be desired, so I'll list the elements: C1, R1
and L1 in series, C0 in parallel with everything.
Use .IC statements to set a voltage across the R1/L1 nodes. The voltage
difference can be calculated from the desired crystal current times R1.
In a standard Pierce oscillator running at +5V, the .IC statements might
look like the following:
.IC V(2) = 2.5V
.IC V(4) = 2.5002V
where node (2) is the resistor and node (4) is the inductor. The voltage
difference depends on the crystal esr and the desired drive level.
This sets a current through the inductor determined by the voltage
difference and the resistance. When the simulation starts, the voltages
are removed, and the magnetic field in the inductor starts to collapse.
The oscillations start at the zero-crossing of the output signal, and are
sustained by the feedback. The initial amplitude can be adjusted to any
desired percentage of the final by adjusting the voltage at the nodes.
This method enables you to evaluate the crystal oscillator using normal
Q, and can be used to quickly determine the drive level to verify the
crystal is running below the maximum allowed.
Another method that is often suggested is to simply recalculate the
crystal parameters using a much lower Q, say 300. This reduces the
settling time and should give the same result. Even with lower Q, it's
nice to use the .IC statements to kick-start the oscillator so you don't
have to wait for the oscillations to build up.
If the loop has insufficient gain, the oscillations will die. So the .IC
statements can be useful in debugging the design. I usually run an AC
analysis to check the loop gain before running the transient analysis. A
loop gain of 6 to 12 dB when the phase shift goes through 180 degrees
Go Back To The Cyber-Spy.Com
Usenet Web Archive Index Of
The sci.electronics.design Newsgroup