A paper describes an approach for timekeeping and time transfer among the devices on the CoNNeCT project’s SCaN Testbed. It also describes how the clocks may be synchronized with an external time reference; e.g., time tags from the International Space Station (ISS) or RF signals received by a radio (TDRSS time service or GPS).
All the units have some sort of counter that is fed by an oscillator at some convenient frequency. The basic problem in timekeeping is relating the counter value to some external time standard such as UTC.
With SpaceWire, there are two approaches possible: one is to just use SpaceWire to send a message, and use an external wire for the sync signal. This is much the same as with the RS-232 messages and l pps line from a GPS receiver. However, SpaceWire has an additional capability that was added to make it easier — it can insert and receive a special “timecode” word in the data stream.
Another method is to use the SpaceWire time code features. A standard SpaceWire interface provides four signals: Tick In, Time In, Time Out, and Tick Out. When one end of the SpaceWire link asserts “Tick In,” some small amount of time later (a few microseconds), Tick Out at the other end of the link is asserted. So there is a “virtual” wire connection over the SpaceWire link that can do synchronization (with an uncertainty and latency on the order of a few microseconds). The Time In signal provides an interface to send a 6-bit time code that is transparently inserted in the stream of data and control tokens being carried across the link, and recovered and presented on the Time Out at the destination without needing to create a special “time message.”
This work was done by James P. Lux of Caltech for NASA’s Jet Propulsion Laboratory. NPO-47437