Forums

A simple tunable crystal oscillator

Started by Jan Panteltje December 4, 2012
I am going to use the 10MHz output of the Rubbitin frequency reference
to make 50.000000000 MHz for my FPGA board.
The plot is a bit complicated, and is planned like this:


25 MHz crystal >- FPGA board Spartan2 -> x2 DLL (delay locked loop that is a build in thing in the Spartan2 FPGA)
-> 50 MHz -> divide by 5 in FPGA -> 10 MHz
-> xor with 10MHz from Rubbitinn unit -> low pass -> 25MHz xtal VCO.
But now how to tune the 25 MHz xtal?

                             +5
                             |
                             |  
                            [ ] 680
                     25M     |
                 ----|[]|--- |
                |    100k    |--------------------> out
                | ---===-----| c
          100k  |          |/
     -----===--------------| BC548B
control-                   |\/ e
voltage                      |
                            ///

The folowing is the result of changing the control voltage from +3.17V to 0V by turning a potmeter, 
(good for 3,3V FPGA output xor gate):
24,999,743 Hz
24,999,871 Hz
24,999,903 Hz
24,999,903 Hz
24,999,903 Hz
24,999,775 Hz
24,999,647 Hz
24,999,647 Hz
24,999,647 Hz
24,999,647 Hz
24,999,647 Hz
24,999,647 Hz
24,999,647 Hz
24,999,647 Hz
24,999,647 Hz
24,999,775 Hz
24,999,935 Hz
25,000,127 Hz
25,000,191 Hz
25,000,255 Hz
25,000,383 Hz
25,000,511 Hz
25,000,671 Hz
25,000,767 Hz
25,000,927 Hz
25,001,119 Hz
25,001,343 Hz
25,001,503 Hz
25,001,631 Hz
25,001,727 Hz
25,001,759 Hz
25,001,791 Hz
25,001,791 Hz
25,001,791 Hz
25,001,791 Hz
25,001,791 Hz
25,001,791 Hz
25,001,791 Hz

Good 2kHz range!
Cheap, no varicaps, cheap crystal (mirco processor type), and lots of output voltage.

On Tue, 04 Dec 2012 13:40:25 GMT, Jan Panteltje
<pNaonStpealmtje@yahoo.com> wrote:

>I am going to use the 10MHz output of the Rubbitin frequency reference >to make 50.000000000 MHz for my FPGA board. >The plot is a bit complicated, and is planned like this: > > >25 MHz crystal >- FPGA board Spartan2 -> x2 DLL (delay locked loop that is a build in thing in the Spartan2 FPGA) >-> 50 MHz -> divide by 5 in FPGA -> 10 MHz >-> xor with 10MHz from Rubbitinn unit -> low pass -> 25MHz xtal VCO. >But now how to tune the 25 MHz xtal? > > +5 > | > | > [ ] 680 > 25M | > ----|[]|--- | > | 100k |--------------------> out > | ---===-----| c > 100k | |/ > -----===--------------| BC548B >control- |\/ e >voltage | > /// > >The folowing is the result of changing the control voltage from +3.17V to 0V by turning a potmeter, >(good for 3,3V FPGA output xor gate): >24,999,743 Hz >24,999,871 Hz >24,999,903 Hz >24,999,903 Hz >24,999,903 Hz >24,999,775 Hz >24,999,647 Hz >24,999,647 Hz >24,999,647 Hz >24,999,647 Hz >24,999,647 Hz >24,999,647 Hz >24,999,647 Hz >24,999,647 Hz >24,999,647 Hz >24,999,775 Hz >24,999,935 Hz >25,000,127 Hz >25,000,191 Hz >25,000,255 Hz >25,000,383 Hz >25,000,511 Hz >25,000,671 Hz >25,000,767 Hz >25,000,927 Hz >25,001,119 Hz >25,001,343 Hz >25,001,503 Hz >25,001,631 Hz >25,001,727 Hz >25,001,759 Hz >25,001,791 Hz >25,001,791 Hz >25,001,791 Hz >25,001,791 Hz >25,001,791 Hz >25,001,791 Hz >25,001,791 Hz > >Good 2kHz range! >Cheap, no varicaps, cheap crystal (mirco processor type), and lots of output voltage.
Nice, thanks for posting this. If you want a commercial product with 50ps p-p jitter spec, the 3.3V Pericom FRETHE025 is not too pricey and has a similar range (+/-100ppm for 0.3 to 3V control voltage).
On Tue, 04 Dec 2012 13:40:25 GMT, Jan Panteltje <pNaonStpealmtje@yahoo.com>
wrote:

>I am going to use the 10MHz output of the Rubbitin frequency reference >to make 50.000000000 MHz for my FPGA board. >The plot is a bit complicated, and is planned like this: > > >25 MHz crystal >- FPGA board Spartan2 -> x2 DLL (delay locked loop that is a build in thing in the Spartan2 FPGA)
One caution: the Spartan 2 DLL, used as a doubler, will make a slightly lopsided 2F waveform, with alternate edges slightly displaced in time, so there will be a bit of 1F leaking through. That probably won't bother you, but it annoyed us in a delay generator application. -- John Larkin Highland Technology Inc www.highlandtechnology.com jlarkin at highlandtechnology dot com Precision electronic instrumentation Picosecond-resolution Digital Delay and Pulse generators Custom timing and laser controllers Photonics and fiberoptic TTL data links VME analog, thermocouple, LVDT, synchro, tachometer Multichannel arbitrary waveform generators
On 12/4/2012 8:40 AM, Jan Panteltje wrote:
> I am going to use the 10MHz output of the Rubbitin frequency reference > to make 50.000000000 MHz for my FPGA board. > The plot is a bit complicated, and is planned like this: > > > 25 MHz crystal>- FPGA board Spartan2 -> x2 DLL (delay locked loop that is a build in thing in the Spartan2 FPGA) > -> 50 MHz -> divide by 5 in FPGA -> 10 MHz > -> xor with 10MHz from Rubbitinn unit -> low pass -> 25MHz xtal VCO. > But now how to tune the 25 MHz xtal? > > +5 > | > | > [ ] 680 > 25M | > ----|[]|--- | > | 100k |--------------------> out > | ---===-----| c > 100k | |/ > -----===--------------| BC548B > control- |\/ e > voltage | > /// > > The folowing is the result of changing the control voltage from +3.17V to 0V by turning a potmeter, > (good for 3,3V FPGA output xor gate): > 24,999,743 Hz > 24,999,871 Hz > 24,999,903 Hz > 24,999,903 Hz > 24,999,903 Hz > 24,999,775 Hz > 24,999,647 Hz > 24,999,647 Hz > 24,999,647 Hz > 24,999,647 Hz > 24,999,647 Hz > 24,999,647 Hz > 24,999,647 Hz > 24,999,647 Hz > 24,999,647 Hz > 24,999,775 Hz > 24,999,935 Hz > 25,000,127 Hz > 25,000,191 Hz > 25,000,255 Hz > 25,000,383 Hz > 25,000,511 Hz > 25,000,671 Hz > 25,000,767 Hz > 25,000,927 Hz > 25,001,119 Hz > 25,001,343 Hz > 25,001,503 Hz > 25,001,631 Hz > 25,001,727 Hz > 25,001,759 Hz > 25,001,791 Hz > 25,001,791 Hz > 25,001,791 Hz > 25,001,791 Hz > 25,001,791 Hz > 25,001,791 Hz > 25,001,791 Hz > > Good 2kHz range! > Cheap, no varicaps, cheap crystal (mirco processor type), and lots of output voltage. >
That's pretty cool. What would you do to make this run with less than 20 uA of current at 4 MHz with 1.2 to 1.8 volt Vcc? I need a very low power XO or VCXO. Will bumping the collector resistor to 100 kohm do the job or will this stop working well at that low current? I suppose the other two resistors would need to be bumped up to 1 Mohm or so. Rick
On Tue, 04 Dec 2012 10:15:38 -0500, Spehro Pefhany wrote:

> On Tue, 04 Dec 2012 13:40:25 GMT, Jan Panteltje > <pNaonStpealmtje@yahoo.com> wrote: > >>I am going to use the 10MHz output of the Rubbitin frequency reference >>to make 50.000000000 MHz for my FPGA board. >>The plot is a bit complicated, and is planned like this: >> >> >>25 MHz crystal >- FPGA board Spartan2 -> x2 DLL (delay locked loop that >>is a build in thing in the Spartan2 FPGA) >>-> 50 MHz -> divide by 5 in FPGA -> 10 MHz -> xor with 10MHz from >>Rubbitinn unit -> low pass -> 25MHz xtal VCO. >>But now how to tune the 25 MHz xtal? >> >> +5 | | >> [ ] 680 >> 25M | >> ----|[]|--- | >> | 100k |--------------------> out | ---===-----| c >> 100k | |/ >> -----===--------------| BC548B >>control- |\/ e voltage | >> /// >> >>The folowing is the result of changing the control voltage from +3.17V >>to 0V by turning a potmeter, >>(good for 3,3V FPGA output xor gate): >>24,999,743 Hz 24,999,871 Hz 24,999,903 Hz 24,999,903 Hz 24,999,903 Hz >>24,999,775 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz >>24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz >>24,999,775 Hz 24,999,935 Hz 25,000,127 Hz 25,000,191 Hz 25,000,255 Hz >>25,000,383 Hz 25,000,511 Hz 25,000,671 Hz 25,000,767 Hz 25,000,927 Hz >>25,001,119 Hz 25,001,343 Hz 25,001,503 Hz 25,001,631 Hz 25,001,727 Hz >>25,001,759 Hz 25,001,791 Hz 25,001,791 Hz 25,001,791 Hz 25,001,791 Hz >>25,001,791 Hz 25,001,791 Hz 25,001,791 Hz >> >>Good 2kHz range! >>Cheap, no varicaps, cheap crystal (mirco processor type), and lots of >>output voltage. > > Nice, thanks for posting this. > > If you want a commercial product with 50ps p-p jitter spec, the 3.3V > Pericom FRETHE025 is not too pricey and has a similar range (+/-100ppm > for 0.3 to 3V control voltage).
You might want to analyze the snot out of it before you trust it to always work in a production application (Jan's oscillator, not the Pericom). -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
On Tue, 04 Dec 2012 13:59:25 -0500, rickman wrote:

> On 12/4/2012 8:40 AM, Jan Panteltje wrote: >> I am going to use the 10MHz output of the Rubbitin frequency reference >> to make 50.000000000 MHz for my FPGA board. >> The plot is a bit complicated, and is planned like this: >> >> >> 25 MHz crystal>- FPGA board Spartan2 -> x2 DLL (delay locked loop that >> is a build in thing in the Spartan2 FPGA) >> -> 50 MHz -> divide by 5 in FPGA -> 10 MHz -> xor with 10MHz from >> Rubbitinn unit -> low pass -> 25MHz xtal VCO. >> But now how to tune the 25 MHz xtal? >> >> +5 | | >> [ ] 680 >> 25M | >> ----|[]|--- | >> | 100k |--------------------> out | >> ---===-----| c >> 100k | |/ >> -----===--------------| BC548B >> control- |\/ e voltage | >> /// >> >> The folowing is the result of changing the control voltage from +3.17V >> to 0V by turning a potmeter, >> (good for 3,3V FPGA output xor gate): >> 24,999,743 Hz 24,999,871 Hz 24,999,903 Hz 24,999,903 Hz 24,999,903 Hz >> 24,999,775 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz >> 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz >> 24,999,775 Hz 24,999,935 Hz 25,000,127 Hz 25,000,191 Hz 25,000,255 Hz >> 25,000,383 Hz 25,000,511 Hz 25,000,671 Hz 25,000,767 Hz 25,000,927 Hz >> 25,001,119 Hz 25,001,343 Hz 25,001,503 Hz 25,001,631 Hz 25,001,727 Hz >> 25,001,759 Hz 25,001,791 Hz 25,001,791 Hz 25,001,791 Hz 25,001,791 Hz >> 25,001,791 Hz 25,001,791 Hz 25,001,791 Hz >> >> Good 2kHz range! >> Cheap, no varicaps, cheap crystal (mirco processor type), and lots of >> output voltage. >> >> > That's pretty cool. What would you do to make this run with less than > 20 uA of current at 4 MHz with 1.2 to 1.8 volt Vcc? I need a very low > power XO or VCXO. Will bumping the collector resistor to 100 kohm do > the job or will this stop working well at that low current? I suppose > the other two resistors would need to be bumped up to 1 Mohm or so. > > Rick
I suspect that the current is going to vary a lot with the control voltage. I dimly remember that you can use the B-C junction of a transistor for a varicap, but I've never tried it. Just using a regular crystal with a transistor "varicap" may work better, and if it does it should give you a better opportunity to keep the current down. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
On Tue, 04 Dec 2012 13:59:25 -0500, rickman wrote:

> On 12/4/2012 8:40 AM, Jan Panteltje wrote: >> I am going to use the 10MHz output of the Rubbitin frequency reference >> to make 50.000000000 MHz for my FPGA board. >> The plot is a bit complicated, and is planned like this: >> >> >> 25 MHz crystal>- FPGA board Spartan2 -> x2 DLL (delay locked loop that >> is a build in thing in the Spartan2 FPGA) >> -> 50 MHz -> divide by 5 in FPGA -> 10 MHz -> xor with 10MHz from >> Rubbitinn unit -> low pass -> 25MHz xtal VCO. >> But now how to tune the 25 MHz xtal? >> >> +5 | | >> [ ] 680 >> 25M | >> ----|[]|--- | >> | 100k |--------------------> out | >> ---===-----| c >> 100k | |/ >> -----===--------------| BC548B >> control- |\/ e voltage | >> /// >> >> The folowing is the result of changing the control voltage from +3.17V >> to 0V by turning a potmeter, >> (good for 3,3V FPGA output xor gate): >> 24,999,743 Hz 24,999,871 Hz 24,999,903 Hz 24,999,903 Hz 24,999,903 Hz >> 24,999,775 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz >> 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz 24,999,647 Hz >> 24,999,775 Hz 24,999,935 Hz 25,000,127 Hz 25,000,191 Hz 25,000,255 Hz >> 25,000,383 Hz 25,000,511 Hz 25,000,671 Hz 25,000,767 Hz 25,000,927 Hz >> 25,001,119 Hz 25,001,343 Hz 25,001,503 Hz 25,001,631 Hz 25,001,727 Hz >> 25,001,759 Hz 25,001,791 Hz 25,001,791 Hz 25,001,791 Hz 25,001,791 Hz >> 25,001,791 Hz 25,001,791 Hz 25,001,791 Hz >> >> Good 2kHz range! >> Cheap, no varicaps, cheap crystal (mirco processor type), and lots of >> output voltage. >> >> > That's pretty cool. What would you do to make this run with less than > 20 uA of current at 4 MHz with 1.2 to 1.8 volt Vcc? I need a very low > power XO or VCXO. Will bumping the collector resistor to 100 kohm do > the job or will this stop working well at that low current? I suppose > the other two resistors would need to be bumped up to 1 Mohm or so. > > Rick
BTW: if this is for your WWBV receiver then you can probably do a lot better by having a free-running crystal oscillator and dividing it down with a dithered divide ratio to get 240kHz. For example, if you use your cited 4MHz crystal and divide by 16 or 17, correctly dithered, then you'll have whatever average frequency you want between 235 and 250kHz, and your sampling instant will never be more than 125ns off. If you don't like that 125ns, use a faster crystal. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
On 5 Dec, 05:59, rickman <gnu...@gmail.com> wrote:
> On 12/4/2012 8:40 AM, Jan Panteltje wrote: > > > I am going to use the 10MHz output of the Rubbitin frequency reference > > to make 50.000000000 MHz for my FPGA board. > > The plot is a bit complicated, and is planned like this: > > > 25 MHz crystal>- FPGA board Spartan2 -> x2 DLL (delay locked loop that is a build in thing in the Spartan2 FPGA) > > -> 50 MHz -> divide by 5 in FPGA -> 10 MHz > > -> xor with 10MHz from Rubbitinn unit -> low pass -> 25MHz xtal VCO. > > But now how to tune the 25 MHz xtal? > > > +5 > > | > > | > > [ ] 680 > > 25M | > > ----|[]|--- | > > | 100k |--------------------> out > > | ---===-----| c > > 100k | |/ > > -----===--------------| BC548B > > control- |\/ e > > voltage | > > /// > > > The folowing is the result of changing the control voltage from +3.17V to 0V by turning a potmeter, > > (good for 3,3V FPGA output xor gate): > > 24,999,743 Hz
<snip>
> > 25,001,791 Hz > > > Good 2kHz range! > > Cheap, no varicaps, cheap crystal (mirco processor type), and lots of output voltage. > > That's pretty cool. What would you do to make this run with less than > 20 uA of current at 4 MHz with 1.2 to 1.8 volt Vcc? I need a very low > power XO or VCXO. Will bumping the collector resistor to 100 kohm do > the job or will this stop working well at that low current? I suppose > the other two resistors would need to be bumped up to 1 Mohm or so.
You might need to change the transistor to a BFR92 http://www.nxp.com/documents/data_sheet/BFT92_CNV.pdf or something with an even lower collector-base capacitance. Just charging up the 0.75pF of the BFR92 to 1.8V four millions times a second would use up 5uA. -- Bill Sloman, Sydney
Tim Wesnott:

>You might want to analyze the snot out of it before you trust it to >always work in a production application (Jan's oscillator, not the >Pericom).
I prefer reality over your limited mathematical models.
On Wed, 05 Dec 2012 09:13:42 GMT, Jan Panteltje
<pNaonStpealmtje@yahoo.com> wrote:

>Tim Wesnott: > >>You might want to analyze the snot out of it before you trust it to >>always work in a production application (Jan's oscillator, not the >>Pericom). > >I prefer reality over your limited mathematical models.
Okay, test the snot out of it. ;-)