"Multi Time-Code for SpaceWire"

Glenn P. Rakow
NASA Goddard Space Flight Center


SpaceWire has become an accepted and increasing common high-speed (>200Mbps) on-board communications bus for satellite applications.  The Time-Code feature of SpaceWire provides for low latency broadcast pulses to be sent over the network.  Time-Codes have a time value associated with them, which is not really used for time information but as a self-destruct counter to stop the Time-Codes from infinitely propagating on the network, which may have loops.  This is a very useful feature that will be used on three NASA satellite, James Webb Space Telescope (JWST), Geostationary Orbit Environmental (GOES)-R and the Lunar Reconnaissance Orbiter (LRO).  Most of the time the Time-Code is used for the 1 Pulse Per Second (PPS), which is used to synchronize spacecraft time.  This is fine if only one Time-Code is required, which is the restriction in the SpaceWire standard; permits only one Time-Code master.  The standard has two extra reserved bits in the Time-Code field, which the NASA SpaceWire Intellectural Property (IP) core has taken advantage of to allow up to four Time-Code masters, simultaneously.  This feature may be disabled and become fully SpaceWire compliant.  However, the Multi Time-Code feature gives more flexibility to system engineers by allowing them to use these extra Time-Codes for interrupts, event signaling and hand shaking between nodes.  The LRO mission uses this feature and eliminates discrete hard lines between sub-systems.  This paper will describe the implementation of the Multi Time-Code and potential applications.

2006 MAPLD International Conference Home Page