1. Synchronisation
Time-codes sent periodically may be used to synchronise the operation of a SpaceWire network, separating time into discrete time-slots during which scheduled transactions take place.
2. Time Distribution
With the provision of this basic time distribution function, application level protocols can be used to distribute specific time values at full resolution (not just 6-bits) and to issue time dependent commands etc. The two control flags that are distributed with the 6-bit time code can be used to broadcast information to all nodes and routers on the network.
3. Event Signalling Across A Point-To-Point Link
Time-codes can also be used to signal events or to pass a high-priority byte of information across a point-to-point link. The time-code is sent transparently in the middle of the packet currently being transmitted. There is no need to terminate the current packet or to wait for its transmission to complete before sending the time-code. This technique should not be used when there are routers in the SpaceWire network.
4. Multiple Time-Codes
NASA Goddard Space Flight Centre used four independent time-code counters in their routers and interfaces to provide four independent sets of time-codes indicted by the four possible values of the two flags in the time-code character. The value of these two flags determined which of the four time-code counters was used to validate the time-code before it was forwarded.
This approach allowed four different time signals to be provided over the SpaceWire network.
5. Interrupt Scheme
Professor Yuriy Sheynin of St Petersburg University of Aerospace Instrumentation (SUAI) devised a scheme for sending interrupts over SpaceWire using a time-code like mechanism. Using one of the reserved values of the time-codes it permitted 32 interrupt signals to be transferred over the SpaceWire network. This mechanism operates in parallel with the time-code mechanism.