u-blox GPSDO: a simple, low cost, yet – high performance approach

There are many circuits around in the web, related to GPSDOs, and a more sophisticated design with a self-steering u-blox receiver has been published earlier here. Now I felt tempted to try an easier approach, without the hassle of precision references, operational amplifiers, DAC, and other devices that are great but high cost when you need to avoid noise and other complications.
Essentially, this design is a clean-up PLL, with some monitoring of the receiver, and the PLL health. All monitored by a simple 8 bit microcontroller, an ATMega8-16PU in this case.

We have some elements here, (1) the OCXO and amplifier, distribution amplifier – to provide the outputs, 4 in this case, and a good TTL level 10 MHz signal for the PLL, (2) a u-blox receiver, configured to provide either 5 Hz flashing in non-locked condition (no GPS reception, or no good reception), and 125 kHz, 50% duty cycle as a phase reference in locked condition, (3) the MCU, ATMega8, that is configuring the GPS received, providing a 125 kHz signal derived from the 10 MHz OCXO (the OCXO is used as the microprocessor clock – don’t introduce a new clock in such circuits, which will only lead to spurious signals!), (4) a 74HC86 that is used as a phase detector, and to convert the GPS output (a 3.3 V signal) to 5 V level.

That’s the OCXO and distribution amplifier…

The phase detector…

The controller and PLL filter – a simple two pole filter. It replaces all the expensive references, DACs and opamps of the more sophisticated designs. There is another small, faster filter to convert the phase angle to a voltage – converted by the 10 bit ADC of the ATMega8, 1 bit is about 4 ns.

The circuit full view…

Some first tests turned out well. Monitoring the OCXO phase with a scope…

To do a more thorough tests, without all my various test gear that it back in good old Germany, I used the 10 MHz to run another GPS receiver (after upconverting to a 26 MHz clock), then the NAV-CLOCK message can be used to report phase and drift. The short term stability of the OCXO is better than the GPS, as can be seen, but there is no long term drift – because the OCXO is now steered by the 1st GPS receiver via the PLL (XOR phase detector and loop filter).

The phase detection is done at 125 kHz, a convenient frequency for precise measurement, and high enough for filtering.

About 20 ns of jitter are clearly visible in the u-blox output, because it is running on a 48 MHz internal clock.

The circuit is running well, because of the few parts the cost is low and should be easy to reproduce. Let me know in case you need the ATMega code (written in GCC).

The display shows the phase angle, essentially, the duty cycle of the phase comparator output, the stability of the OCXO voltage (by a low pass algorithm), and the lock condition of the GPS (detected by measuring the frequency with timer0 of the ATMega8, and the INT0 interrupt at rising flank to reset the timer).

Phase noise is very small, there are no visible spurs (the lines seen on the screen relate to recalibration events of the analyzer rather than spurious signals, except those at +-125 kHz – at -90 dBc – probably you can get rid of these by better shielding and compartmentalization).

Sure there could be more sophisticated phase noise measurement, by analyzing the control voltage with a low frequency analyzer. I may proceed with such analysis these days but don’t expect to find much, anyway, would be best to fit the circuit to a shielded box first.

All in all, I believe this is a very workable solution that will give you great performance at lowest cost, and with little effort. Sure it will work with various types of OCXOs, the Trimble unit used is generally very good in terms of drift and phase noise. Be aware that some newer Trimble units aren’t all that good. The OCXO draws about 2 Amps at 12 Volts upon startup, but it is OK to start it with a current limited supply, at about 1 Amp, if you don’t want to overdesign the power supply.

GPSDO: a new 10 MHz distribution (and isolation!) amplifier

Many attempts have been made in the past to provide a low phase noise 10 MHz signal as a frequency reference, however recently I experienced some trouble because of ground loops. Normally no problem to decouple from DC voltages, but still the ground stays connected. The only way to avoid such ground loops is to use potential-free isolation, best using transformers. Capacitive coupling may be an option, but it is best avoided, at least it is though to get good isolation, say 2 kV or above, with capacitors that can transmit 10 MHz, at reasonable cost and size.

I am looking for about 1 V p-p, reasonably square shape output, into 50 Ohms, or TTL level (about 5 V) into high impedance. About 5-10 dBm at the 1st harmonic, 10 MHz. So we need to drive about 15 mA through a 50 Ohm load.

As amplifier elements, I am using 74HCU04 unbuffered inverters, these are balanced for propagation delay, and I have plenty of these in a box. The HCU04 is essentially a single stage inverter, a gate with a pretty good linear region – an amplifier. Propagation delay is about 5 ns at room temperature, so it is good solution to amplify clocks, and so on. We are using it to amplify a 10 MHz signal from an OCXO.

For isolation, looking for some small transformers (generally speaking ethernet transformers will work well), I found the PE-65612NL at low cost (list price is about 4 USD per piece, but some sellers have them at a small fraction of this cost, most likely, from surplus). These are 1:1, 2 kV min, signal transformers originally intended for digital audio signal separation. Good enough for our purposes.

A really affordable offer… sure you can substitute any other reasonable signal transformer that can cope with at least 20 mW, and is reasonably inexpensive.

The schematic – first, a single HCU04 is used to square up the OCXO output, and then distribute to 3 outputs, two are used to drive 2 isolated outputs each (4 outputs total), the other output is routed to a PLL circuit (because this isolation amp is part of a GPSDO). Any phase drift of the 1st stage HCU04 introduced by thermal and other slow effects will be canceled to some part by the GPS loop (because the sampling of the phase is very close to the isolated outputs, only followed by a set of paralleled-up gates) – although I don’t expect such drift.

The resistors were selected as 3×330 Ohm, giving about 100 Ohms source resistance and about 1.4 V pp when terminated in 50 Ohms.

Output power is fairly consistent, like, +-0.2 dBm when comparing 4 units. Fundamental output at 8 dBm is exactly the right range. Probably you can adjust it in the range of 5 to 10 nominal without changing much the other characteristics of the circuit, by changing the resistor values from the paralleled-up gates to the isolation transformer.

u-blox GPSDO: Joe’s and Gisela’s magic generator

In reply to an earlier post, GPSDO Update, I received the following great implementation of a GPSDO using u-blox receivers. The pictures are rather self explanatory.
>>>>
Hello again Simon!
I trust you are well and are enjoying the year end break.

We ( My good Wife and I..) have put your GPSDO software to good use. We used your message processing code almost as is, and added the various functions to drive my specific hardware and DAC, etc.

I have built up the complete GPSDO, with the 1-50MHz Analogue Devices AD9854 Quadrature DDS as a signal generator, provided with a 200MHz clock from the SI5351 PLL.
I also have a ‘signal generator’ output from another Si5351 channel, 1 to 200MHz, and a third channel output. square wave, from the GPS time pulse output, and can set outputs from 1Hz to 10MHz in decade steps.
I used a 7inch NEXTION graphics display for the display and control inputs ( touch screen) – that works very nicely!

I have run the unit for a few days now, and logged a 48hour period of data, every 10seconds, regarding the clock bias, drift, DAC output voltage etc, and the result looks very good indeed.
I am very pleased with the instrument and grateful for your assistance in providing your code. Thank You!

I have attached a few photos for interest.

Kind regards, and have a very good Christmas!

Joe and Gisela.
>>>>