A bit of help with a crystal oscillator

On Sat, 09 Nov 2019 13:45:24 +0200, upsidedown@downunder.com wrote:

On Sat, 09 Nov 2019 07:08:52 +0200, upsidedown@downunder.com wrote:

On Fri, 08 Nov 2019 10:58:29 -0800, John Larkin
jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 18:32:49 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

John Larkin <jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 16:14:26 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

jlarkin@highlandsniptechnology.com wrote:

On Fri, 8 Nov 2019 12:00:23 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

Jeroen Belleman <jeroen@nospam.please> wrote:

jlarkin@highlandsniptechnology.com wrote:

This actually works, at least the single time I tried it:

https://www.dropbox.com/s/xbjmhido66u6slz/XO.JPG?raw=1

I never had the guts to do that in production.

Don't you dare! ;-)

Jeroen Belleman

Actually, with a bit of care, this could be made into a nice 155 MHz
Clapp oscillator. See 04.ASC JFET 155MHz Clapp Osc in Oscillators.zip

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaYtf

I thought it would be cool to make an XO from a schmitt trigger
inverter, a crystal to ground at the input, and a feedback resistor.
This must oscillate, and always does, just nowhere close to the
expected frequency. The crystal is just an expensive capacitor.

You are doing it wrong.

I'm not doing it. It's just something I tried once.

What's wrong with trying things?

I was referring to your schmitt inverter. If you knew anything about
Barkhausen Criteria, you wouldn't even waste your time and come to the
wrong conclusion. I fixed it for you.


Classical concepts like Barkhausen are useless in strongly nonlinear
circuits, like Schmitt oscillators.

The question is, does the oscillator start.

A normal oscillator is merely a noise amplifier with a frequency
selective positive feedback. For each time the original white thermal
noise around the feedback loop is amplified, the original white
thermal noise is amplified only in the filter passband increasing the
amplitude.

For each time around the loop, the spectral peak becomes narrower and
narrower, much narrower than the filter Q would suggest, finally
ending up as a single spectral line. The amplitude can't grow
forester, either the amplifier gain is reduced or the signal is
clipped.

While initially starting to amplify the white noise, it is essential
the amplifier is in class A or AB. After a few iterations, when the
amplitude has grown close to saturation, the amplifier can fall into
class C and oscillate happily forever.

If the amplifier is initially deeply in class C, it doesn't amplify
the thermal noise and the oscillator will not start. The Schmitt
trigger makes starting even more unlikely.

For those who like to play with LTSpice, one could unroll the feedback
loop by creating a few dozen modules containing an amplifier stage, an
attenuator (to simulate feedback factor and filter losses) followed by
a bandpass filter. Connect these modules in series.

At the input of this long chain, connect a resistor to ground,creating
a thermal white noise density of -174 dBm/Hz. Observe the amplitude
and spectrum after each stage.

If in a stage the attenuation is grater than amplifier gain, no output
is produced from the chain. If the amplifiers are class C no output is
produced from the chain.

LT Spice doesn't handle nonlinearity in a frequency sim, and parts are
noiseless in a time domain sim. Time-domain oscillators sometimes need
a kick of some sort.



--

John Larkin Highland Technology, Inc

lunatic fringe electronics
 
On Sat, 9 Nov 2019 17:27:39 -0000 (UTC), Steve Wilson <no@spam.com>
wrote:

jlarkin@highlandsniptechnology.com wrote:

On Sat, 09 Nov 2019 13:45:24 +0200, upsidedown@downunder.com wrote:

On Sat, 09 Nov 2019 07:08:52 +0200, upsidedown@downunder.com wrote:

On Fri, 08 Nov 2019 10:58:29 -0800, John Larkin
jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 18:32:49 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

John Larkin <jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 16:14:26 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

jlarkin@highlandsniptechnology.com wrote:

On Fri, 8 Nov 2019 12:00:23 -0000 (UTC), Steve Wilson
no@spam.com> wrote:

Jeroen Belleman <jeroen@nospam.please> wrote:

jlarkin@highlandsniptechnology.com wrote:

This actually works, at least the single time I tried it:

https://www.dropbox.com/s/xbjmhido66u6slz/XO.JPG?raw=1

I never had the guts to do that in production.

Don't you dare! ;-)

Jeroen Belleman

Actually, with a bit of care, this could be made into a nice 155
MHz Clapp oscillator. See 04.ASC JFET 155MHz Clapp Osc in
Oscillators.zip

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaYtf

I thought it would be cool to make an XO from a schmitt trigger
inverter, a crystal to ground at the input, and a feedback
resistor. This must oscillate, and always does, just nowhere
close to the expected frequency. The crystal is just an expensive
capacitor.

You are doing it wrong.

I'm not doing it. It's just something I tried once.

What's wrong with trying things?

I was referring to your schmitt inverter. If you knew anything about
Barkhausen Criteria, you wouldn't even waste your time and come to
the wrong conclusion. I fixed it for you.


Classical concepts like Barkhausen are useless in strongly nonlinear
circuits, like Schmitt oscillators.

The question is, does the oscillator start.

A normal oscillator is merely a noise amplifier with a frequency
selective positive feedback. For each time the original white thermal
noise around the feedback loop is amplified, the original white
thermal noise is amplified only in the filter passband increasing the
amplitude.

For each time around the loop, the spectral peak becomes narrower and
narrower, much narrower than the filter Q would suggest, finally
ending up as a single spectral line. The amplitude can't grow
forester, either the amplifier gain is reduced or the signal is
clipped.

While initially starting to amplify the white noise, it is essential
the amplifier is in class A or AB. After a few iterations, when the
amplitude has grown close to saturation, the amplifier can fall into
class C and oscillate happily forever.

If the amplifier is initially deeply in class C, it doesn't amplify
the thermal noise and the oscillator will not start. The Schmitt
trigger makes starting even more unlikely.

As I have shown in other posts, a Schmitt has no stable state and must
oscillate. The trick is to channel the energy through the crystal instead
of around it, as in a plain RC oscillator.

For those who like to play with LTSpice, one could unroll the feedback
loop by creating a few dozen modules containing an amplifier stage, an
attenuator (to simulate feedback factor and filter losses) followed by
a bandpass filter. Connect these modules in series.

At the input of this long chain, connect a resistor to ground,creating
a thermal white noise density of -174 dBm/Hz. Observe the amplitude
and spectrum after each stage.

If in a stage the attenuation is grater than amplifier gain, no output
is produced from the chain. If the amplifiers are class C no output is
produced from the chain.

LT Spice doesn't handle nonlinearity in a frequency sim, and parts are
noiseless in a time domain sim. Time-domain oscillators sometimes need
a kick of some sort.

Time domain oscillators start on numerical instability. There are numerous
examples in Oscillators.zip where the oscillation starts at zero amplitude
and builds up to strength.

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaYtf

It is extremely difficult to couple a pertubation into the oscillator tank
to kick start an oscillator. The tank simply ignores the energy in an
external pulse. You have to somehow inject the pulse in series with the
tank but I have not found a practical way to do that.

A current source pulse usually works. Or series, a voltage pulse.
Either disappears after the pulse.

A simpler method may be to simply increase the loop gain by increasing the
drive level.

I've simulated oscillators where every node parked at exactly 0 volts
forever. More loop gain wouldn't help. A tiny injected pulse, or some
initial condition setting, got them going.

You can make pretty good time-domain noise generators too.

XOs are hard to sim in time domain because the Q is so high. Sims can
run for days. I like to force the initial conditions near the expected
operating values, and zoom up to see where it wants to go.



--

John Larkin Highland Technology, Inc

lunatic fringe electronics
 
jlarkin@highlandsniptechnology.com wrote:

On Sat, 9 Nov 2019 17:27:39 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

jlarkin@highlandsniptechnology.com wrote:

On Sat, 09 Nov 2019 13:45:24 +0200, upsidedown@downunder.com wrote:

On Sat, 09 Nov 2019 07:08:52 +0200, upsidedown@downunder.com wrote:

On Fri, 08 Nov 2019 10:58:29 -0800, John Larkin
jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 18:32:49 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

John Larkin <jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 16:14:26 -0000 (UTC), Steve Wilson
no@spam.com> wrote:

jlarkin@highlandsniptechnology.com wrote:

On Fri, 8 Nov 2019 12:00:23 -0000 (UTC), Steve Wilson
no@spam.com> wrote:

Jeroen Belleman <jeroen@nospam.please> wrote:

jlarkin@highlandsniptechnology.com wrote:

This actually works, at least the single time I tried it:

https://www.dropbox.com/s/xbjmhido66u6slz/XO.JPG?raw=1

I never had the guts to do that in production.

Don't you dare! ;-)

Jeroen Belleman

Actually, with a bit of care, this could be made into a nice
155 MHz Clapp oscillator. See 04.ASC JFET 155MHz Clapp Osc in
Oscillators.zip

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaY
tf

I thought it would be cool to make an XO from a schmitt trigger
inverter, a crystal to ground at the input, and a feedback
resistor. This must oscillate, and always does, just nowhere
close to the expected frequency. The crystal is just an
expensive capacitor.

You are doing it wrong.

I'm not doing it. It's just something I tried once.

What's wrong with trying things?

I was referring to your schmitt inverter. If you knew anything
about Barkhausen Criteria, you wouldn't even waste your time and
come to the wrong conclusion. I fixed it for you.


Classical concepts like Barkhausen are useless in strongly nonlinear
circuits, like Schmitt oscillators.

The question is, does the oscillator start.

A normal oscillator is merely a noise amplifier with a frequency
selective positive feedback. For each time the original white thermal
noise around the feedback loop is amplified, the original white
thermal noise is amplified only in the filter passband increasing the
amplitude.

For each time around the loop, the spectral peak becomes narrower and
narrower, much narrower than the filter Q would suggest, finally
ending up as a single spectral line. The amplitude can't grow
forester, either the amplifier gain is reduced or the signal is
clipped.

While initially starting to amplify the white noise, it is essential
the amplifier is in class A or AB. After a few iterations, when the
amplitude has grown close to saturation, the amplifier can fall into
class C and oscillate happily forever.

If the amplifier is initially deeply in class C, it doesn't amplify
the thermal noise and the oscillator will not start. The Schmitt
trigger makes starting even more unlikely.

As I have shown in other posts, a Schmitt has no stable state and must
oscillate. The trick is to channel the energy through the crystal
instead of around it, as in a plain RC oscillator.

For those who like to play with LTSpice, one could unroll the feedback
loop by creating a few dozen modules containing an amplifier stage, an
attenuator (to simulate feedback factor and filter losses) followed by
a bandpass filter. Connect these modules in series.

At the input of this long chain, connect a resistor to ground,creating
a thermal white noise density of -174 dBm/Hz. Observe the amplitude
and spectrum after each stage.

If in a stage the attenuation is grater than amplifier gain, no output
is produced from the chain. If the amplifiers are class C no output is
produced from the chain.

LT Spice doesn't handle nonlinearity in a frequency sim, and parts are
noiseless in a time domain sim. Time-domain oscillators sometimes need
a kick of some sort.

Time domain oscillators start on numerical instability. There are
numerous examples in Oscillators.zip where the oscillation starts at
zero amplitude and builds up to strength.

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaYtf

It is extremely difficult to couple a pertubation into the oscillator
tank to kick start an oscillator. The tank simply ignores the energy in
an external pulse. You have to somehow inject the pulse in series with
the tank but I have not found a practical way to do that.

A current source pulse usually works. Or series, a voltage pulse.
Either disappears after the pulse.

I have tried both. I found them ineffective.

A simpler method may be to simply increase the loop gain by increasing
the drive level.

I've simulated oscillators where every node parked at exactly 0 volts
forever. More loop gain wouldn't help. A tiny injected pulse, or some
initial condition setting, got them going.

I'd like to see some of your syms.

You can make pretty good time-domain noise generators too.

XOs are hard to sim in time domain because the Q is so high. Sims can
run for days. I like to force the initial conditions near the expected
operating values, and zoom up to see where it wants to go.

I show how to start and settle high Q XO's in several cycles. I call the
technique "Fast Start". I show how to use it Oscillators.zip
 
On Sat, 9 Nov 2019 19:53:48 -0000 (UTC), Steve Wilson <no@spam.com>
wrote:

jlarkin@highlandsniptechnology.com wrote:

On Sat, 9 Nov 2019 17:27:39 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

jlarkin@highlandsniptechnology.com wrote:

On Sat, 09 Nov 2019 13:45:24 +0200, upsidedown@downunder.com wrote:

On Sat, 09 Nov 2019 07:08:52 +0200, upsidedown@downunder.com wrote:

On Fri, 08 Nov 2019 10:58:29 -0800, John Larkin
jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 18:32:49 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

John Larkin <jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 16:14:26 -0000 (UTC), Steve Wilson
no@spam.com> wrote:

jlarkin@highlandsniptechnology.com wrote:

On Fri, 8 Nov 2019 12:00:23 -0000 (UTC), Steve Wilson
no@spam.com> wrote:

Jeroen Belleman <jeroen@nospam.please> wrote:

jlarkin@highlandsniptechnology.com wrote:

This actually works, at least the single time I tried it:

https://www.dropbox.com/s/xbjmhido66u6slz/XO.JPG?raw=1

I never had the guts to do that in production.

Don't you dare! ;-)

Jeroen Belleman

Actually, with a bit of care, this could be made into a nice
155 MHz Clapp oscillator. See 04.ASC JFET 155MHz Clapp Osc in
Oscillators.zip

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaY
tf

I thought it would be cool to make an XO from a schmitt trigger
inverter, a crystal to ground at the input, and a feedback
resistor. This must oscillate, and always does, just nowhere
close to the expected frequency. The crystal is just an
expensive capacitor.

You are doing it wrong.

I'm not doing it. It's just something I tried once.

What's wrong with trying things?

I was referring to your schmitt inverter. If you knew anything
about Barkhausen Criteria, you wouldn't even waste your time and
come to the wrong conclusion. I fixed it for you.


Classical concepts like Barkhausen are useless in strongly nonlinear
circuits, like Schmitt oscillators.

The question is, does the oscillator start.

A normal oscillator is merely a noise amplifier with a frequency
selective positive feedback. For each time the original white thermal
noise around the feedback loop is amplified, the original white
thermal noise is amplified only in the filter passband increasing the
amplitude.

For each time around the loop, the spectral peak becomes narrower and
narrower, much narrower than the filter Q would suggest, finally
ending up as a single spectral line. The amplitude can't grow
forester, either the amplifier gain is reduced or the signal is
clipped.

While initially starting to amplify the white noise, it is essential
the amplifier is in class A or AB. After a few iterations, when the
amplitude has grown close to saturation, the amplifier can fall into
class C and oscillate happily forever.

If the amplifier is initially deeply in class C, it doesn't amplify
the thermal noise and the oscillator will not start. The Schmitt
trigger makes starting even more unlikely.

As I have shown in other posts, a Schmitt has no stable state and must
oscillate. The trick is to channel the energy through the crystal
instead of around it, as in a plain RC oscillator.

For those who like to play with LTSpice, one could unroll the feedback
loop by creating a few dozen modules containing an amplifier stage, an
attenuator (to simulate feedback factor and filter losses) followed by
a bandpass filter. Connect these modules in series.

At the input of this long chain, connect a resistor to ground,creating
a thermal white noise density of -174 dBm/Hz. Observe the amplitude
and spectrum after each stage.

If in a stage the attenuation is grater than amplifier gain, no output
is produced from the chain. If the amplifiers are class C no output is
produced from the chain.

LT Spice doesn't handle nonlinearity in a frequency sim, and parts are
noiseless in a time domain sim. Time-domain oscillators sometimes need
a kick of some sort.

Time domain oscillators start on numerical instability. There are
numerous examples in Oscillators.zip where the oscillation starts at
zero amplitude and builds up to strength.

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaYtf

It is extremely difficult to couple a pertubation into the oscillator
tank to kick start an oscillator. The tank simply ignores the energy in
an external pulse. You have to somehow inject the pulse in series with
the tank but I have not found a practical way to do that.

A current source pulse usually works. Or series, a voltage pulse.
Either disappears after the pulse.

I have tried both. I found them ineffective.

Use a bigger one! Spice is cool because you can make a thousand-amp
pulse.

A simpler method may be to simply increase the loop gain by increasing
the drive level.

I've simulated oscillators where every node parked at exactly 0 volts
forever. More loop gain wouldn't help. A tiny injected pulse, or some
initial condition setting, got them going.

I'd like to see some of your syms.

I'll see if I can find one that parks at zero.

You can make pretty good time-domain noise generators too.

XOs are hard to sim in time domain because the Q is so high. Sims can
run for days. I like to force the initial conditions near the expected
operating values, and zoom up to see where it wants to go.

I show how to start and settle high Q XO's in several cycles. I call the
technique "Fast Start". I show how to use it Oscillators.zip

--

John Larkin Highland Technology, Inc

lunatic fringe electronics
 
jlarkin@highlandsniptechnology.com wrote:

On Sat, 9 Nov 2019 19:53:48 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

jlarkin@highlandsniptechnology.com wrote:

On Sat, 9 Nov 2019 17:27:39 -0000 (UTC), Steve Wilson <no@spam.com
wrote:

jlarkin@highlandsniptechnology.com wrote:

On Sat, 09 Nov 2019 13:45:24 +0200, upsidedown@downunder.com wrote:

On Sat, 09 Nov 2019 07:08:52 +0200, upsidedown@downunder.com wrote:

On Fri, 08 Nov 2019 10:58:29 -0800, John Larkin
jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 18:32:49 -0000 (UTC), Steve Wilson
no@spam.com> wrote:

John Larkin <jlarkin@highland_atwork_technology.com> wrote:

On Fri, 8 Nov 2019 16:14:26 -0000 (UTC), Steve Wilson
no@spam.com> wrote:

jlarkin@highlandsniptechnology.com wrote:

On Fri, 8 Nov 2019 12:00:23 -0000 (UTC), Steve Wilson
no@spam.com> wrote:

Jeroen Belleman <jeroen@nospam.please> wrote:

jlarkin@highlandsniptechnology.com wrote:

This actually works, at least the single time I tried it:

https://www.dropbox.com/s/xbjmhido66u6slz/XO.JPG?raw=1

I never had the guts to do that in production.

Don't you dare! ;-)

Jeroen Belleman

Actually, with a bit of care, this could be made into a nice
155 MHz Clapp oscillator. See 04.ASC JFET 155MHz Clapp Osc in
Oscillators.zip

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsS
aY tf

I thought it would be cool to make an XO from a schmitt
trigger inverter, a crystal to ground at the input, and a
feedback resistor. This must oscillate, and always does, just
nowhere close to the expected frequency. The crystal is just
an expensive capacitor.

You are doing it wrong.

I'm not doing it. It's just something I tried once.

What's wrong with trying things?

I was referring to your schmitt inverter. If you knew anything
about Barkhausen Criteria, you wouldn't even waste your time and
come to the wrong conclusion. I fixed it for you.


Classical concepts like Barkhausen are useless in strongly
nonlinear circuits, like Schmitt oscillators.

The question is, does the oscillator start.

A normal oscillator is merely a noise amplifier with a frequency
selective positive feedback. For each time the original white
thermal noise around the feedback loop is amplified, the original
white thermal noise is amplified only in the filter passband
increasing the amplitude.

For each time around the loop, the spectral peak becomes narrower
and narrower, much narrower than the filter Q would suggest,
finally ending up as a single spectral line. The amplitude can't
grow forester, either the amplifier gain is reduced or the signal
is clipped.

While initially starting to amplify the white noise, it is
essential the amplifier is in class A or AB. After a few
iterations, when the amplitude has grown close to saturation, the
amplifier can fall into class C and oscillate happily forever.

If the amplifier is initially deeply in class C, it doesn't amplify
the thermal noise and the oscillator will not start. The Schmitt
trigger makes starting even more unlikely.

As I have shown in other posts, a Schmitt has no stable state and must
oscillate. The trick is to channel the energy through the crystal
instead of around it, as in a plain RC oscillator.

For those who like to play with LTSpice, one could unroll the
feedback loop by creating a few dozen modules containing an
amplifier stage, an attenuator (to simulate feedback factor and
filter losses) followed by a bandpass filter. Connect these modules
in series.

At the input of this long chain, connect a resistor to
ground,creating a thermal white noise density of -174 dBm/Hz.
Observe the amplitude and spectrum after each stage.

If in a stage the attenuation is grater than amplifier gain, no
output is produced from the chain. If the amplifiers are class C no
output is produced from the chain.

LT Spice doesn't handle nonlinearity in a frequency sim, and parts
are noiseless in a time domain sim. Time-domain oscillators
sometimes need a kick of some sort.

Time domain oscillators start on numerical instability. There are
numerous examples in Oscillators.zip where the oscillation starts at
zero amplitude and builds up to strength.

https://drive.google.com/open?id=1ZsbpkV0aaKS5LURIb1dfu_ndshsSaYtf

It is extremely difficult to couple a pertubation into the oscillator
tank to kick start an oscillator. The tank simply ignores the energy
in an external pulse. You have to somehow inject the pulse in series
with the tank but I have not found a practical way to do that.

A current source pulse usually works. Or series, a voltage pulse.
Either disappears after the pulse.

I have tried both. I found them ineffective.

Use a bigger one! Spice is cool because you can make a thousand-amp
pulse.


A simpler method may be to simply increase the loop gain by increasing
the drive level.

I've simulated oscillators where every node parked at exactly 0 volts
forever. More loop gain wouldn't help. A tiny injected pulse, or some
initial condition setting, got them going.

I'd like to see some of your syms.

I'll see if I can find one that parks at zero.

That would be great. Thanks.
 
I have found crystal oscillators very uncritical. If some capacitor is
missing, no one notices. Frequency is off some ppms (but from where).
Stray capacitor are enough. STM32f407 crystal worked too. 32k crystals
however are tricky to get running. If you are worried, you can use an
crystal oscillator.
On Wed, 06 Nov 2019 12:18:37 +0000, Peter <nospam@nospam9876.com>
wrote:

I have read a lot of stuff on this topic but find it hard to apply it.

I have a 25MHz xtal. For example Kyocera CX3225GB25000P0HPQZ1. The
spec says typ drive level 10uW, 100uW max.

The oscillator circuit is the usual Pierce one as in e.g. here

https://electronics.stackexchange.com/questions/368945/crystal-oscillator-circuit-design?rq=1

The CPU is a STM32F407VGT6.

The development kit for this CPU has the two caps for the xtal load
cap and the resistor is 220R. The xtal they use is an anonymous one,
however; old style metal can (HC49?).

The ST appnotes point one to a load of xtals which either don't exist
or are way too expensive for production :)

The internal feedback resistor is given as 200k which is fairly
normal.

Another appnote suggests measuring the xtal current, with a current
probe. I could construct a current probe with a little ferrite core (I
used to make these up for switching power supplies; a lot cheaper than
the Tek current probes) but these components are so tiny (0603-0805)
that the required loop would really mess things up.

The circuit runs fine, but I need to have some confidence in the
margins over temperature and component tolerances.

The load caps are 7pF, which should be about right for the 10pF load
cap of the xtal I am using, allowing for a bit of PCB capacitance (say
5pF). The above Kyocera P/N says 8pF.

OTOH I have read one appnote which says the CL calculation is
different: the cap value is to be the sum of the CPU pin stray cap and
the xtal load cap; this means the CL should be 15pF!

Probing the two ends of the xtal with a Wavesurfer 3034 with a ZS1000
probe (9pF/1Mohm) I see about 0.5V p-p one end and 0.3V p-p on the
other end.

Does this seem reasonable?

Many thanks for any comments.
 
We got the 25MHz oscillator running fine, and easy enough to probe
with the 0.9pF probe, but the 32768Hz one is very delicate.

I realised why any probing kills it: the probe is 1Mohm and the
feedback resistor (inside the CPU) is 18Mohms. Clearly one needs to do
any probing via a capacitor, of say 10pF.


LM <sala.nimi@mail.com> wrote

I have found crystal oscillators very uncritical. If some capacitor is
missing, no one notices. Frequency is off some ppms (but from where).
Stray capacitor are enough. STM32f407 crystal worked too. 32k crystals
however are tricky to get running. If you are worried, you can use an
crystal oscillator.
On Wed, 06 Nov 2019 12:18:37 +0000, Peter <nospam@nospam9876.com
wrote:

I have read a lot of stuff on this topic but find it hard to apply it.

I have a 25MHz xtal. For example Kyocera CX3225GB25000P0HPQZ1. The
spec says typ drive level 10uW, 100uW max.

The oscillator circuit is the usual Pierce one as in e.g. here

https://electronics.stackexchange.com/questions/368945/crystal-oscillator-circuit-design?rq=1

The CPU is a STM32F407VGT6.

The development kit for this CPU has the two caps for the xtal load
cap and the resistor is 220R. The xtal they use is an anonymous one,
however; old style metal can (HC49?).

The ST appnotes point one to a load of xtals which either don't exist
or are way too expensive for production :)

The internal feedback resistor is given as 200k which is fairly
normal.

Another appnote suggests measuring the xtal current, with a current
probe. I could construct a current probe with a little ferrite core (I
used to make these up for switching power supplies; a lot cheaper than
the Tek current probes) but these components are so tiny (0603-0805)
that the required loop would really mess things up.

The circuit runs fine, but I need to have some confidence in the
margins over temperature and component tolerances.

The load caps are 7pF, which should be about right for the 10pF load
cap of the xtal I am using, allowing for a bit of PCB capacitance (say
5pF). The above Kyocera P/N says 8pF.

OTOH I have read one appnote which says the CL calculation is
different: the cap value is to be the sum of the CPU pin stray cap and
the xtal load cap; this means the CL should be 15pF!

Probing the two ends of the xtal with a Wavesurfer 3034 with a ZS1000
probe (9pF/1Mohm) I see about 0.5V p-p one end and 0.3V p-p on the
other end.

Does this seem reasonable?

Many thanks for any comments.
 
On Wed, 13 Nov 2019 17:30:12 +0200, LM <sala.nimi@mail.com> wrote:

>I have found crystal oscillators very uncritical.

But you can pay $1000 for a good one.

And you can get into trouble in production, if 20% of them don't
oscillate.

--

John Larkin Highland Technology, Inc
picosecond timing precision measurement

jlarkin att highlandtechnology dott com
http://www.highlandtechnology.com
 

Welcome to EDABoard.com

Sponsor

Back
Top