Stratum 1 NTP Rubidium Holdover

I’ve posted a number of times about building NTP Stratum 1 systems based on GPS receivers outputting PPS signals.

Sometimes, however, GPS signals aren’t always reliable if you don’t have access to an external antenna, so I’ve been wanting to build a holdover system that would sync to GPS when available, but when signals drop out would carry over with a high precision timebase.

I started with a rubidium standard, and created a custom board based on an ATmega328 to handle the holdover timing. The microcontroller is clocked at 10MHz from the rubidium, and uses the hardware timers with their associated input capture and output compare pins. The timer timestamps the PPS signal from the GPS, and aligns the counter cycle. The counter all runs in hardware, so it’s clock perfect derived from the 10MHz input clock.

When the GPS signal goes away, it keeps free running on the accuracy on the rubidium standard, and then when GPS signal comes back, it will re-align if it has managed to drift by more than a clock cycle.

I’ve tested running it over a couple weeks in holdover, and performance is quite good, easily maintaining offsets well within what I’d expect for a Stratum 1 system.

This entry was posted in Electronics, Projects, Technology. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *