Close

Prototype performance

A project log for GPS Disciplined xCXO

A DIY GPS disciplined 10 MHz reference clock

nick-sayerNick Sayer 08/04/2015 at 07:180 Comments

The first prototype build was successful. I spent this evening debugging the firmware, but at the moment, I believe it's working quite well.

After the firmware was operating, it was able to keep fairly easily within 1 count every sample window, where a sample window is 25 seconds. In 25 seconds, there are 250,000,000 counts, so that alone means it's within 4 parts per billion. But for "reporting" purposes (that is, the front panel), a sample window of 20 samples are kept. That means that the measurement granularity is 200 ppt. The UI rules for that are that the "fast blink" happens when the error is less than or equal to two counts. That really means up to 3 counts, so that means it's within 600 ppt. The slower blink is when the error is < 20 counts, which is 4 ppb. The next notch down is a super-slow blink, which means an error of 200 counts, which is 40 ppb. If the error is worse than that, the light stays off.

From a dead cold start, it takes about a minute for a GPS lock. If you add a CR1220 battery to the board, then it really only ever has to do that once. Warm GPS starts take seconds. Once the GPS lock is established, it takes 500 seconds (a bit longer than 8 minutes) for the sample buffer to fill. Once that happens, then the oscillator steering will begin. The prototype's "sweet spot is a DAC value of around 0x80da or so, which is a voltage of 1.651 volts, so the oscillator I picked turns out to have been dialed in at the factory quite well.

The output is quite clean on the scope:

Of course, that's how it looks right on the output terminal on the board. What it looks like after a foot or three of 50 ohm cable...? Hopefully not too much different.

EDIT: After leaving it all night, I believe I can confidently say that it's stable and accurate to at least 1 ppb on a long term basis. I am going to set up the led indications for 50 ppb, 5 ppb and 1 ppb as being "ok, better, best." With several pages of deltas, the pattern that emerges is that a sizable fraction of them are 0, with some of them being ±1. While a delta of one count is a potential error of 4 ppb, it's also possible that it's a fencepost crossing of a smaller phase error. Whenever that happens, we give one count of offset to the DAC. Very occasionally we get a larger error, and most of the time, that's followed in the next interval by a matching opposite error. These likely represent steps of the GPS receiver as it makes some sort of gross adjustment to its own clock.

But the average error over the 500 second sample window stays comfortably inside of 1 ppb. Combining that with the oscillator's specification of a short-term stability inside of 1 ppb and I feel comfortable making that claim.

Discussions