Just good enough 10 MHz GPS reference
Some time ago I noticed that the Ublox Neo-7M GPS has a 10 MHz output which is locked to the GPS system’s accuracy. Most people kept saying how useless it was due to excessive jitter unless it was cleaned up with a phase locked loop of some sort.
At about the same time I installed the external reference input for my Elecraft K3. The K3EXREF enables the K3’s frequency to be locked to an external 10 MHz reference. What struck me was how its function is described:
- The frequency of the internal oscillator of about 49.38 MHz is continuously measured and averaged, obtaining a value to the nearest 1 Hz.
- The K3EXREF does not phase lock the K3’s reference oscillator and the external 10 MHz source has no impact on the K3’s phase noise performance.
This got me wondering if the Neo-7M would be just good enough as a reference and that all the averaging internally to the K3 would take care of the jitter.
I ordered one from Ebay for USD 12-13 together with an USB interface (USD 1.5) and hooked it up. (Actually the NEO-7M already has a built-in USB interface, but my board doesn’t support it). The result is shown above as assembled in a clear top tin. In my wooden house I can receive GPS indoors, so I have no need for an external antenna
The K3 accepts the input and I see the star in REF*CAL blinking. Just after turn-on of the K3 my 49.38 MHz reference frequency ends in …682 and after 10-15 minutes it has fallen and stabilized to …648, i.e. 34 Hz down in frequency. This is just 8 Hz off the reference value I determined manually was the right one when my K3 was new in 2009 (49.379.640).
All this taken together indicates to me that the K3 finds this 10 MHz acceptable for locking. The measurement to the nearest Hz, implies a measurement time of the order of 1 second and that seems to be enough to smooth out the jitter from the Neo-7M.
In order to get this to work I had to do some modifications to the GPS unit. First I had to get access to the timepulse on the chip’s pin 3. My connection is inspired by that of G4ZFQ and consists of a small wire from the left-hand side of the 1k resistor to the upper left hole. From there another grey wire goes below the chip and to the 5-pin header which is soldered to the Vcc, Rx, Tx, Gnd pins. The 5th pin is cut off and is just attached to the other pins through the plastic hardware.
The second modification was required in order to get it to run from the somewhat noisy USB 5 Volt supply. That took some decoupling between the Vcc and Gnd pins (220 uF and 0.1 uF in parallel), visible to the right in the image above, using good engineering practice to keep the wires as short as possible.
The timepulse is a 3.3 Vp-p output which cannot drive anything below 400-500 ohms impedance. Therefore I added a 74HCT04 driver that I have assembled on a little homemade SMD to DIL adapter PCB (easy to find on Ebay). It serves as a driver to feed the 10 MHz to the 50 ohm input of the K3EXREF.
The HCT04 IC has 6 inverters. One of them takes the input signal from the Timepulse output of the GPS IC and buffers it to drive the 5 other inverters in parallel. This is shown in the schematics at the end of this blog post.
The 5Vp-p output from the buffers is fed via 56 ohms to a connector that goes to the K3EXREF input. This is in accordance with the K3EXREF manual which says: “The 10 MHz source should have a signal level between +4 dBm and +16 dBm, nominal. For square wave sources, 2VDC to 3.3VDC peak is optimum. If the source is a 5V logic level, use a 50-ohm resistor in series with the input.“