SPICE simulation -- how to bias a crystal oscillatoir

Could some electronics/SPICE guru please help ? I have a simple model of a quartz crystal, as used in an oscillator. With my SPICE simulation, I can measure both the parallel and series resonant frequencies of the "pure" crystal. However, when I attach the same crystal to a biasing circuit, and run the simulation, the output is a flat DC offset. The biasing circuit involves two CMOS(1.0u micron gate length) inverters, as well as the large value feedback resistor, capacitirs etc. Is there anything special I need to do ? Any hints/suggestions would be helpful. Thanks in advance.

Reply to
dakupoto
Loading thread data ...

Crystal oscillators can be very tricky to simulate.

They _always_ need a "kick-start" of some sort to initiate the oscillation. This can be by inserting a current pulse or skewing the normal bias with a .IC statement.

You will also need to set a very small timestep.

If you are using LTspice, be sure to use the "Alternate" solver... the "Normal" solver takes simplification liberties that will produce false results on most anything but switchers. ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

Remember that an oscillator is just an noise amplification stage with a frequency dependent feedback.

When the oscillator active element works in Class-A/AB/B, the thermal noise of the active element is amplified and fed back through the frequency selective network into the input. Doing this a few times, the amplitude of the frequency selective network (in this case crystal) is amplified and other frequencies severely attenuated each time through. Finally the amplitude is limited by saturation of the active device.

Look for the Barkhausen criterion.

For active elements working in Class-C. you need some kind of kick-start, such as _rapid_ power application. This explains why the oscillator starts well when battery powered, but fails when powered by a mains power supply. In the first case, turning the power switch on, will create a sharp power transient, while using mains, it takes some time to charge the power supply capacitors.

Reply to
upsidedown

An example...

Several things to note:

IKS is the "kick-start" current pulse.

MaxTimeStep is set at 100ps

SOLVER=0 is equivalent to LTspice's "Alternate" solver (Used to be PSpice's default solver until they decided to take liberties to speed-up simulation... not as bad as Mikey's "Normal", but loose enough not to handle crystal oscillators).

What's with the Kiwi Semi? I am the "ghost designer" for a number of fabless design houses and they like their names on the drawings ;-)

...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

Transient simulators don't know about noise starts... noise only exists in AC analyses. ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

One caution is that the kickstart has to be _small_, not much more than rounding error. A nanoamp is often a good value. Putting the current source in parallel with the crystal inductance will make sure that it starts off ringing at its natural frequency, which helps a lot.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs 
Principal Consultant 
ElectroOptical Innovations LLC 
Optics, Electro-optics, Photonics, Analog Electronics 

160 North State Road #203 
Briarcliff Manor NY 10510 

hobbs at electrooptical dot net 
http://electrooptical.net
Reply to
Phil Hobbs

No. It has to be sufficient enough to significantly perturb the quiescent operating point. The example has a 10ns wide x 1mA pulse. ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

The danger with that approach is that you can easily mask startup problems. I doubt that would happen to you very often, but as a piece of general advice to noobs it's not beneficial.

Setting the tank ringing gently, so that it the circuit starts up in the small signal limit, is the ticket. A nanoamp is lots for that, if you put it in the right place, i.e. across the inductor.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs 
Principal Consultant 
ElectroOptical Innovations LLC 
Optics, Electro-optics, Photonics, Analog Electronics 

160 North State Road #203 
Briarcliff Manor NY 10510 

hobbs at electrooptical dot net 
http://electrooptical.net
Reply to
Phil Hobbs

Like so.

(Two posts, one with the schematic inline, the other as an attachment.)

Cheers

Phil Hobbs

Reply to
Phil Hobbs

Like so.

(Two posts, one with the schematic inline, the other as an attachment.)

Cheers

Phil Hobbs

============ Version 4 SHEET 1 880 680 WIRE 640 -160 480 -160 WIRE 480 -144 480 -160 WIRE 224 -80 80 -80 WIRE 368 -80 224 -80 WIRE 432 -80 368 -80 WIRE 640 -80 640 -160 WIRE 80 0 80 -80 WIRE 80 0 32 0 WIRE 112 0 80 0 WIRE 224 0 224 -80 WIRE 32 16 32 0 WIRE 368 32 368 -80 WIRE 640 80 640 0 WIRE 32 112 32 96 WIRE 32 112 -112 112 WIRE -112 144 -112 112 WIRE 32 144 32 112 WIRE 224 144 224 80 WIRE 256 144 224 144 WIRE 368 144 368 96 WIRE 368 144 320 144 WIRE 480 144 480 -48 WIRE 480 144 368 144 WIRE 112 160 112 0 WIRE 480 192 480 144 WIRE 224 240 224 144 WIRE -112 256 -112 224 WIRE 32 256 32 224 WIRE 32 256 -112 256 WIRE 368 256 368 144 WIRE 32 272 32 256 WIRE 480 304 480 272 WIRE 32 352 32 336 WIRE 112 352 112 224 WIRE 112 352 32 352 WIRE 112 416 112 352 WIRE 224 416 224 320 WIRE 368 416 368 320 WIRE 480 416 480 384 FLAG 112 416 0 FLAG 480 416 0 FLAG 640 80 0 FLAG 224 416 0 FLAG 368 416 0 SYMBOL ind 48 240 R180 WINDOW 0 36 80 Left 2 WINDOW 3 36 40 Left 2 SYMATTR InstName L1 SYMATTR Value 0.3 SYMBOL cap 16 272 R0 SYMATTR InstName C1 SYMATTR Value 1.3f SYMBOL cap 96 160 R0 SYMATTR InstName C2 SYMATTR Value 2p SYMBOL res 16 0 R0 SYMATTR InstName R1 SYMATTR Value 20 SYMBOL njf 432 -144 R0 SYMATTR InstName J1 SYMATTR Value 2N4416 SYMBOL res 464 176 R0 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL cap 352 256 R0 WINDOW 3 28 58 Left 2 SYMATTR InstName C4 SYMATTR Value 39p SYMBOL cap 352 32 R0 SYMATTR InstName C5 SYMATTR Value 10p SYMBOL voltage 640 -96 R0 SYMATTR InstName V1 SYMATTR Value 3 SYMBOL res 208 -16 R0 SYMATTR InstName R3 SYMATTR Value 1meg SYMBOL current -112 144 R0 WINDOW 3 -111 -199 Left 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName I1 SYMATTR Value PULSE({Ikick} 0 10n 1n) SYMBOL res 208 224 R0 SYMATTR InstName R4 SYMATTR Value 1meg SYMBOL cap 256 160 R270 WINDOW 0 32 32 VTop 2 WINDOW 3 0 32 VBottom 2 SYMATTR InstName C3 SYMATTR Value 1n SYMBOL ind 464 288 R0 SYMATTR InstName L2 SYMATTR Value 1 TEXT -208 320 Left 2 !.tran 50m TEXT -176 -200 Left 2 ;8 MHz Crystal Oscillator With/Without Small-Signal Kickstart TEXT -280 400 Left 2 !.step param Ikick list 0.001f 1n TEXT -168 -152 Left 2 ;Phil Hobbs, 2015-11-07 RECTANGLE Normal 176 368 -32 -32 2

--
Dr Philip C D Hobbs 
Principal Consultant 
ElectroOptical Innovations LLC 
Optics, Electro-optics, Photonics, Analog Electronics 

160 North State Road #203 
Briarcliff Manor NY 10510 

hobbs at electrooptical dot net 
http://electrooptical.net
Reply to
Phil Hobbs

Are you doing linearized analysis, or time simulation?

You may be running afoul of numerical issues if your DC bias is overwhelming the signal at the crystal's resonant frequency.

If the biasing circuit is all resistors and caps, then try setting the supply voltages to zero and see what happens -- it could be that the bias circuit is just causing the crystal to be incorrectly terminated, leaving you with nothing to see.

--
www.wescottdesign.com
Reply to
Tim Wescott

The OP should post a link to his schematic. "flat DC offset" sounds like cockpit error. ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

That's fine as long as you get inside the crystal model to "twang" the inductor. At the terminals you see real world impedances. ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

Bow wow... ruff ruff...

Reply to
DecadentLinuxUserNumeroUno

That's what I was thinking, although not in as well-stated a way.

--
www.wescottdesign.com
Reply to
Tim Wescott

An XO can take millions of cycles to stabilize, so time domain sims can run for days, and you can never expect the frequency to be PPM accurate. I hate to simulate XOs, but when I do it's three different runs:

  1. Startup, as you say.

  1. Start with the the resonator at full expected swing and zoom the amplitude to see if it's increasing or decreasing, to get the ultimate operating point fairly quick.

  2. AC loop analysis to see the phase slopes and stuff, VCXO sensitivities, things like that.

Nowadays, it's easier to buy an oscillator.

Reply to
John Larkin

How hard is that? A crystal isn't like some super hush-hush encrypted found ry model.

Cheers

Phil Hobbs

Reply to
Phil Hobbs

Here's the oscillator core...

shown as the XTAL_OSC block from my previous post...

The resistor is red-circled, since it was added at design review to satisfy ESD requirements (node XTAL_OUT goes to a pad).

Oscillation guaranteed to start due to symmetry... forces class-A bias ;-) ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142     Skype: skypeanalog  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

Well, getting ppm accuracy requires trimming anyway, so that's not such a huge issue, I don't think. You just need your glasses to read the frequency off the crystal case. ;)

That 50 ms simulation using an 8-MHz crystal with a Q of a million took a few minutes on my desktop machine (16 Opteron cores, admittedly).

I hate to simulate XOs, but when I do it's three different

I agree in general, but it's always worthwhile to know how to do stuff right--otherwise you don't know how much money to spend on the purchased part. Besides, learning stuff is fun. ;)

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs 
Principal Consultant 
ElectroOptical Innovations LLC 
Optics, Electro-optics, Photonics, Analog Electronics 

160 North State Road #203 
Briarcliff Manor NY 10510 

hobbs at electrooptical dot net 
http://electrooptical.net
Reply to
Phil Hobbs

The dilemma is where to set the minimum time step. At 8 MHz, if you want 1 PPM frequency accuracy, the time step might be 100 fs, and it would run forever, and you might be pushing double-float accuracy limits. And there's no way (that I know of) to measure the frequency accurately from a time-domain sim.

OK, build it and trim it!

BTDT, educational, but I wouldn't enjoy doing it again.

Here's an OCXO that I did a while back.

formatting link

formatting link

formatting link

At todays' prices for nice little OCXOs, we now buy them.

Reply to
John Larkin

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.