SpaceWire - Key Features
- SpaceWire is simple and can be implemented in ASICs or FPGAs
- SpaceWire uses data-strobe encoding, where a serial data signal and a strobe signal are sent on two differential pairs. The strobe signal is defined so that clock recovery is achieved by simply XORing together the data and strobe signal. No phase-locked loop is required making it easy to implement a SpaceWire interface in any digital ASIC or FPGA device. The use of LVDS for the physical level, allows complete SpaceWire devices including LVDS drivers and receivers to be implemented on a single chip.
- SpaceWire is small using few logic gates
- SpaceWire interfaces can be implemented in around 5000 to 8000 logic gates which is a small enough number to make it possible to include one or more SpaceWire interfaces together with application logic or a micro-computer on a single chip.
- SpaceWire devices are radiation tolerant
- Several SpaceWire devices are available or are currently being designed in radiation tolerant ASIC technologies. SpaceWire interfaces have also been implemented in radiation tolerant FPGA devices.
- SpaceWire is low power
- SpaceWire uses Low Voltage Differential Signalling (LVDS) to help reduce power consumption at high-speed. It also uses relatively few logic gates again helping to reduce power consumption.
- SpaceWire can be used as a simple point to point link
- SpaceWire is bi-directional using two twisted pairs in each direction. SpaceWire can be used to implement simple point-to-point links or can be used to implement networks using routing switches connected by point-to-point links.
- SpaceWire can be used in an arbitrary topology network
- There is no restriction on the topology of a SpaceWire network. A network is constructed from point to point links and routing switches. When more than one link connects a pair of routing switches, group adaptive routing can be used to share the bandwidth of the links or to provide for fault tolerance, with rapid recovery from a link failure.
- SpaceWire routing switches use wormhole routing
- SpaceWire is a packet switching network that uses worm-hole routing switches for routing packets across the network. Worm-hole routing was adopted because it minimizes the amount of buffer memory needed in the routing switches, an important consideration for implementation in radiation tolerant chips where memory is at a premium.
- SpaceWire has fault isolation properties
- SpaceWire uses Low Voltage Differential Signalling (LVDS) as its physical layer. LVDS uses low voltage and low currents which provide good fault isolation capabilities. For example a short to ground or a short between two SpaceWire signals will not cause the transmitter to burn out.
- SpaceWire can recover rapidly from a link failure
- SpaceWire routers support group adaptive routing where traffic can be shared across two or more links connecting a pair of routing switches or a routing switch to a destination node. If one link in a group fails the packet currently being transmitted on that link is terminated by an Error End of Packet (EEP) and remainder of the packet not yet sent is split. The next packet to be sent will be automatically routed to a working link in the group.
- SpaceWire supports time distribution
- SpaceWire provides support for the distribution of time information to all nodes on a SpaceWire network. This can be done with a resolution of a few microseconds. A limited amount of event information can be sent along with time-codes.