When I bought a frequency counter, I expected its clock to match the function generator. It never occurred to me that there could be differences, until I started measuring.
With the function generator set to output 10.000000 MHz exactly, I got measurements on the frequency counter ranging from approximately 400 Hz lower to 100 Hz higher, varying with warm-up and over time. Now instead of only having one reference, I had two. But which one is correct?
To resolve this problem, I decided I needed a stable, precision reference clock. All devices would slave to this master clock and there would be no more doubt about which clock is correct. 10 MHz seems to be the typical frequency for a reference clock.
So I went online and found an affordable 10 MHz oven controlled crystal oscillator (OCXO) on Ebay. It's an used C-MAC STP2187 unit with double oven and sine wave output. There are all kinds of stability figures in the datasheet, but for me it is sufficient to know that it's more stable than anything else in the lab.
After testing the thing for a bit, I built the clock in a small metal enclosure. The power supply is a standard LM317 job, made from junk parts. The regulator is running hot when the oven is warming up, so it is mounted on the metal enclosure for heat dissipation. There are BNC outputs on both the front and the back. Those are driven from two jfet buffer amps, to reduce load on the oscillator. The whole thing works like a charm, but needs some time to warm up. I really miss an indicator for when the temperature (and therefore the oscillator) is stable. Since there is no such output on the OCXO, I could detect the current drop when the oven is switched off by the internal thermostat.
The new reference clock agrees almost completely with the frequency counter. There is hardly any drift at all. Apparently the clock stability issues were mostly with the function generator. But this will all be solved soon, right?
Unfortunately the function generator doesn't have an input for a reference clock. It only has an input for phase lock and the input frequency needs to be the same as the output frequency. The frequency counter does have an input, but that clock is already stable. Without the function generator having a better reference, there is little use in hooking up the frequency counter to one.
The function generator does have an internal crystal that I could replace with an external input. That would give me the option to use the external reference, but it would mean then I have to add some buffers and an option to swich between internal and external reference. I haven't started on that project yet. Maybe I'll do that when I need a more stable function generator.
So the fancy reference clock now sits on my bench unused. It pays to check of your devices accept an external reference, before you build one. But who knows, for some future project I might just need one.