SpaceWire explained

SpaceWire Specifications
Invent-Name:European Space Agency
Speed:2.0–400 Mbit/s
Style:s
Hotplug:Yes
External:Yes
SpaceWire Connector Specifications
Type:Data connector
Designer:European Space Agency
External:Yes
Hotplug:Yes
Audio Signal:No
Video Signal:No
Data Signal:Yes
Data Bandwidth:2.0–400 Mbit/s
Data Style:Serial
Physical Connector:Micro-D
Num Pins:9
Pinout Col1 Name:Name
Pinout Col2 Name:Description
Pin1:Data In Pos.
Pin1 Name:DIN+
Pin2:Strobe In Pos.
Pin2 Name:SIN+
Pin3:Ground
Pin3 Name:Inner Shield
Pin4:Strobe Out Neg.
Pin4 Name:SOUT-
Pin5:Data Out Neg.
Pin5 Name:DOUT-
Pin6:Data In Neg.
Pin6 Name:DIN-
Pin7:Strobe In Neg.
Pin7 Name:SIN-
Pin8:Strobe Out Pos.
Pin8 Name:SOUT+
Pin9:Data Out Pos.
Pin9 Name:DOUT+

SpaceWire is a spacecraft communication network based in part on the IEEE 1355 standard of communications. It is coordinated by the European Space Agency (ESA) in collaboration with international space agencies including NASA, JAXA, and RKA.

Within a SpaceWire network the nodes are connected through low-cost, low-latency, full-duplex, point-to-point serial links, and packet switching wormhole routing routers.

Architecture

Physical layer

SpaceWire's modulation and data formats generally follow the data strobe encoding - differential ended signaling (DS-DE) part of the IEEE Std 1355-1995. SpaceWire utilizes asynchronous communication and allows speeds between 2 Mbit/s and 200 Mbit/s, with initial signalling rate of 10 Mbit/s.[1] DS-DE is well-favored because it describes modulation, bit formats, routing, flow control, and error detection in hardware, with little need for software. SpaceWire also has very low error rates, deterministic system behavior, and relatively simple digital electronics. SpaceWire replaced old PECL differential drivers in the physical layer of IEEE 1355 DS-DE by low-voltage differential signaling (LVDS). SpaceWire also proposes the use of space-qualified 9-pin connectors.

SpaceWire and IEEE 1355 DS-DE allows for a wider set of speeds for data transmission, and some new features for automatic failover. The fail-over features let data find alternate routes, so a spacecraft can have multiple data buses, and be made fault-tolerant. SpaceWire also allows the propagation of time interrupts over SpaceWire links, eliminating the need for separate time discretes.

Link layer

Each transferred character starts with a parity bit and a data-control flag bit. If data-control flag is a 0-bit, an 8-bit LSB character follows. Otherwise one of the control codes, including end of packet (EOP).[2]

Network layer

The network data frames look as follows:

Address byteAddress byte...Protocol IDFrame data
One or more address bytes are used for the routing. Addresses are either physical ones (0–31), or logical ones. The difference is that the physical addresses are deleted from the frame header during routing - which is used for hop-based routing (based on path specified in the frame itself). Logical addresses may be deleted as well, depending on the router configuration.

Interconnection

The hardware devices may be connected either directly, or via a SpaceWire router. In the former case, usually pairs of devices are used to guarantee a fail-safe operation, which is handled by the software.

A SpaceWire router is usually a crossbar switch-type device, operating in wormhole switching mode. This also may limit the speed of the communication to the lowest common speed.[3] The routing decisions are based on the programmed routing table and the initial incoming frame contents.

Uses

SpaceWire is used all around the globe.[4] Its use began primarily in ESA projects, but it is currently used by NASA, JAXA, RKA, and many other organizations and companies. Some NASA projects using it include the James Webb Space Telescope, Swift's Burst Alert Telescope, the Lunar Reconnaissance Orbiter, LCROSS, the Geostationary Operational Environmental Satellite (GOES-R), and the SCaN Testbed, previously known as the Communications, Navigation, and Networking Reconfigurable Testbed (CoNNeCT). It has also been selected by the United States Department of Defense for Operationally Responsive Space. SpaceWire initiatives are being coordinated between several space agencies in the frame of Consultative Committee for Space Data Systems (CCSDS) in order to extend its communication model to the network and transport layers of the OSI model.

SpaceWire supports highly fault-tolerant networks and systems, which is one reason for its popularity.[5]

Protocols

The ESA has a draft specification in place for the Protocol ID.

The following Protocol ID's have been assigned in ECSS-E-ST-50-11:

Protocol IDNameDescription
1 Remote Memory Access Protocol (RMAP) used to remotely access/alter register configuration of the devices
2 CCSDS Packet Transfer Protocol [6] a common protocol used for sending Telecommands and receiving Telemetry
238 Proposal for Reliable Data Delivery Protocol (RDDP) used on GOES-R
239 Serial Transfer Universal Protocol (STUP) Used on SMCS-332 ASIC

Other sources

External links

SpaceWire IP Cores:

Articles:

Notes and References

  1. Web site: SpaceWire's User Guide. chapter 3.3.5. Star-dundee.com. 27 October 2019.
  2. Web site: SpaceWire Characters. Star-dundee.com. 28 October 2018.
  3. Web site: Radiation-Tolerant 10x SpaceWire Router. Gaisler.com. 28 October 2018.
  4. Web site: Who Uses SpaceWire? - STAR-Dundee. Star-dundee.com. 28 October 2018.
  5. Dr Barry M Cook; Paul Walker."Ethernet over SpaceWire - software issues". 4links.co.uk, p. 2
  6. Web site: Space Packet Transfer Protocol. Public.ccsds.org. 28 October 2018.