05/07/2016 at 08:13 •
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.
05/05/2016 at 16:14 •
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.
04/27/2016 at 18:59 •
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.