[time-nuts] 10 MHz -> 16 MHz

Attila Kinali attila at kinali.ch
Sun Sep 30 10:49:18 EDT 2018

On Sat, 29 Sep 2018 20:57:14 -0700
"Tom Van Baak" <tvb at LeapSecond.com> wrote:

> What's a clever, simple, reliable (pick 2 of 3) way to get 16 MHz out of
> 10 MHz? Low phase noise isn't a big requirement and jitter doesn't need
> to be sub-nanosecond. The main requirement is perfect cycle count accuracy.
> This is for driving a 16 MHz microcontroller from a 10 MHz Rb/Cs/GPSDO.
> 10 MHz input is likely sine; 16 MHz output is 3v3 or 5v CMOS.

The simplest way I can think of is the following:
Use a 74LV8154 to divide the 10MHz down to 152.587890625Hz.
Use the capture timer unit of the uC to measure the phase of the
pulse. Use any kind of DAC (internal, external, PWM,...) to steer
the 16MHz VCO. Depending on how fast the timer unit runs, this
will give you something in the order of 10-200ns dead-band.
By choosing the right frequency for the timer unit, one can
get it to "dither" a bit and then use averaging.

For lower jitter, use one half of a Nutt interpolator
to get the timing difference between the 152Hz signal
and the 16MHz (ie similar to what the SRS FS740 does).
Use something akin Nick Sayer's time-to-amplitude converter 
for the fine measurement.

Same works equally well for 12MHz.

			Attila Kinali
<JaberWorky>	The bad part of Zurich is where the degenerates
                throw DARK chocolate at you.

More information about the time-nuts mailing list