GPS locked 10MHz lab frequency reference

A GPS derived 10MHz frequency reference source for my lab

Similar projects worth following
I wanted to build a 10MHz frequency reference for some time now. Because I can't easily get my hands on a Rubidium frequency standard, a GPS derived reference seems like a good alternative.
This was inspired by YouTube videos by Gerry Sweeney and Scullcom Hobby Electronics.

I wanted to build a frequency reference for my lab for quite some time now, but I always shied away from having to build a PLL with very long time constants in the loop filter to lock an OCXO to a GPS timing pulse. Recently I came across some videos that offered a much simpler solution to this problem.

The 10MHz GPS locked signal is generated by a uBlox Neo-7M GPS module. These modules are cheaply available on eBay and can be configured to provide a wide variety of different frequencies and duty cycles on the timing output pin which are all locked to GPS time. See the link to Scullcom's video about those modules.

The output signal from the GPS receiver is then fed to the input of an Extron ADA4 300MX analog video distribution amplifier. The square wave signal can be directly fed to the sync pulse input of the distribution amplifier. I also plan on building a 10MHz low pass filter to generate a 10MHz sine wave to feed into the analog channels.

I had first seen this type of dist amp in Gerry Sweeneys video (linked below) quite some time ago and happened to come across a good deal for one of them on eBay last week.

The analog video distribution amplifier uses CLC409 high speed op amps to buffer the analog input signals. The output impedance of the channels is simply set by one resistor per output channel, the stock option being 75 Ohms as that is the standard for analog video systems. I have converted the amplifier to 50 Ohms output impedance by paralleling each of the already installed 75 Ohm resistors with a 150 Ohm resistor.

I have removed the input connectors on the green and blue input channels. I will keep the red input channel as a general purpose analog distribution amplifier which might come in handy some day.

I mounted a 16x2 character LCD on the front of the unit to provide some status information. A PIC18F series micro reads the NMEA messages generated by the GPS module and then displays the current time, date and lock information.

  • 1 × Extron ADA4 300MX Analog video distribution amplifier
  • 1 × uBlox Neo-7M GPS module
  • 1 × PIC18F14K22 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × 16x2 character LCD HD47780 compatible
  • 1 × Double AA battery holder

  • Project completed

    Elia05/07/2016 at 08:13 0 comments

    This project took longer than I expected to build because I didn't have a couple of parts on hand and I had my hands full with Uni work in the last couple of weeks.

    Yesterday evening I finally got a chance to more or less finish this project.

    After I had posted the last project log about the low pass filter not working correctly, I remembered that I had a bunch of 10MHz crystal oscillators on hand which I could use as a high Q resonant filter. I quickly soldered something up on a piece of copper clad and didn't really bother with putting any caps etc. on there to preserve very high Q. After all I only needed to get rid of frequency content far away from the 10MHz resonance frequency, so a lower Q due to loading is not an issue.

    As far as I can tell the filter is working nicely, only letting through the 10MHz fundamental and rejecting most of the jitter and higher frequency content in the input square wave. The schematic below shows what the filter looks like and also shows one output channel. The only modification to the output section is, that I have converted it to 50 Ohms output impedance.

    The picture below shows how I mounted the filter and GPS module inside the amplifier case.

    I know it looks very ugly but it works and we're at Hackaday after all.

    Another shot showing the PIC18 microcontroller board that does nothing else but read NMEA info from the GPS and controls the LCD on the front. You can also see the double AA battery holder which holds the backup battery for the GPS configuration.

    I used copious amounts of hot glue to keep that micro in place (and also to keep the leads from shorting against the case).

    And finally, we're going to have a look at the output waveforms. The output gain can be set via a switch on the back panel, it has a 0.7V and 1V position. My oscilloscope has no 50 Ohm input termination option and I don't have a 50 Ohm BNC through terminator, so the output amplitude is double of what it should be.

    You can see that there's still a bit of jitter left on the waveform which has to do with the rather poor output from the GPS module itself.

    If you need a better reference, you might want to go with a low phase noise OCXO and use a PLL to lock that to a GPS module like this. I haven't tried setting the output frequency on the Neo-7M to 1 MHz, which may yield a lower jitter output as it's an integer fraction of the 48 MHz oscillator used on the Neo.

  • Low pass filter and jitter issues

    Elia05/05/2016 at 16:14 0 comments

    I have come across an issue with the frequency output from the GPS module. Because the 10MHz signal is derived from a 48MHz internal oscillator, the signal contains quite a lot of jitter.

    I may have to use an OCXO together with an FLL instead to get a usable output signal.

    I have also been working on a low pass filter to derive a 10MHz sinusoid from the square wave output.

    To buffer the signal between the input of the filter and the GPS module I am using a 74AC14 inverting Schmitt trigger. To get a good termination for the LC filter I followed the output of the 74AC14 with 49.9 Ohm resistor.

    Unfortunately at 10MHz there's quite a bit of ringing on the 74AC14 output waveform that feeds through to the output of the filter. I may have to add another LC stage to improve the performance.

    I'm beginning to think that I may convert the Extron simply to a 50 Ohm analog distribution amp and layout an extra PCB for the GPS unit, a micro and a TCXO, similar to what Nick Sayer has done in another project on this site.

  • Backup Battery for GPS module

    Elia04/27/2016 at 18:59 0 comments

    While the uBlox Neo-7M GPS modules are pretty easy to use, they only have an internal ROM. If you want to load a different configuration on these modules (which you need to get a 10MHz square wave out), that configuration has to be stored on an external flash EEPROM.

    The eBay module actually has an EEPROM on it, no issues there. The problem is that these modules "forget" to use the externally stored configuration after the backup power supply has been removed or dropped too low. For this purpose the eBay modules have a supercap on the battery backup pin, but it discharges to fast and the configuration is lost after a couple of hours of being unpowered.

    Although I am pretty swamped with university work at the moment I did manage to solder on a diode and double AA battery holder onto the module in order to retain the configuration.

    I assume the problem is, that the module's firmware has a flag in SRAM which it checks and then decides whether to load the config from internal ROM or external flash EEPROM. Once the battery backup power is removed, the SRAM loses it's contents, therefore resetting the configuration. The config isn't really lost, the module just doesn't know to load an external config.

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates