[time-nuts] Serial or other simple protocols for exchanging time

Tom Van Baak tvb at LeapSecond.com
Wed Aug 7 17:35:40 UTC 2019


 > NMEA (probably ZDA only)

Mimicking a NMEA ZDA sentence is fine. It's both simple and familiar. It 
even includes an optional checksum.

 > IRIG timecode

This would be a fun Arduino project. And it would allow you to drive all 
those NASA-era IRIG displays that you've bought on eBay ;-) On the PC 
side you would probably use a sound card to receive the signal. Read the 
NTP docs. Also google Arduino IRIG for a list of existing projects.

 > SMPTE timecode (this too?)

This would be fine too. There's some old PC code to generate SMPTE in my 
www.leapsecond.com/tools/ directory.

 > Are there any other obvious candidates I missed?

If it were me I would just use a 9600 baud ascii string in ISO 8601 
format. For example, right now it would output "2019-08-07 16:29:56\n". 
Very readable, for both human and computer.

Another method I've seen used by telecom GPS receivers is to output unix 
integer time; right now it would output "1565195396\n". That's even 
simpler (for computer) but not as self evident (for human).

Note that in any of these solutions you have to decide if the timestamp 
refers to the previous or the next 1PPS. It's not always a simple decision.

 > How did e.g. HP atomic clocks tell their time to connected devices

They didn't. Almost all "atomic clocks" are just precise frequency 
standards that output, for example, 10 MHz. As such they don't know what 
the date and time is. Some other external h/w or s/w deals with all that.

Some exceptions are hp 5061 (Cs) and 5065 (Rb) with option 01. That adds 
a 1PPS output and a 24h clock display to the front panel. But it's up to 
the user to manually set it (knobs or push-buttons) and there's no 
computer interface to output the time; it's visual only. The 1PPS 
alignment is done with a BNC input.

Another exception is the 5071A. It too has a 1PPS output and a 24h time 
display. Serial / SCPI commands or the front panel keypad are used to 
set the date (MJD) and time and to enable the BNC sync input.

/tvb




More information about the Time-nuts_lists.febo.com mailing list