Title: The SpaceWire Onboard Network for Spacecraft SpaceOps 2004
1The SpaceWire Onboard Network for
SpacecraftSpaceOps 2004
- Steve Parkes and Chris McClements
- Space Systems Research Group,
- University of Dundee, Scotland, UK
2Contents
- Introduction
- Physical Level
- Signal Level
- Character Level
- Exchange Level
- Packet Level
3Introduction
- SpaceWire a standard for spacecraft onboard
data-handling - ESA ECSS-E-50-12A
- SpaceWire based on two commercial standards
- IEEE-1355
- LVDS (Low Voltage Differential Signalling)
- SpaceWire is the result of work by many people in
ESA, NASA, the space industry and academia.
4Introduction
- SpaceWire provides a unified high-speed
data-handling infrastructure for connecting
together - sensors,
- processing elements,
- mass-memory units,
- downlink telemetry sub-systems, and
- EGSE equipment.
5Purpose
- The purpose of the SpaceWire standard is
- to facilitate the construction of
high-performance onboard data-handling systems - to help reduce system integration costs
- to promote compatibility between data-handling
equipment and sub-systems - to encourage re-use of data handling equipment
across several different missions.
6SpaceWire Key Features
- High data rate ( gt 100 Mbps)
- Distance of 10m
- Simple
- Low gate count (5 10 kgates per interface)
- Low-power
- Scalable
- Topological freedom
- Bandwidth sharing
- Fault tolerance support
- Good EMC performance
- Low error rate
- Radiation tolerant components
7Physical Level
- Cables
- Connectors
- Cable Assemblies
- PCB traces
8Cable Construction
Conductor 28 AWG (7 x 36 AWG)
Insulating layer
Filler
Twisted pair
Inner shield around twisted pair (40AWG)
Jacket
Filler
Binder
Outer shield (38AWG)
Outer Jacket
9Cable Assembly
10Signal Level
- Low Voltage Differential Signalling (LVDS)
- Signal Encoding - Data/Strobe Encoding
11LVDS Driver and Receiver
Vcc
3.5mA
-
100R Transmission Medium
DRIVER
100R
-
-
RECEIVER
12Data Encoding
- SpaceWire uses Data-Strobe (DS) encoding
- Used in IEEE-1355 and IEEE-1394 standards
- D and S signals transmitted differentially using
LVDS
13Data Signalling Rate
- Minimum data signalling rate
- 2 Mbps
- Maximum data signalling rate
- Depends upon system skew and jitter gtgt 100
Mbps - Operational data signalling rate
- Any rate 2 Mbps to Maximum
- Rx and Tx can operate at different rates
- Tx rate may be altered at any time after link
connection made - Initial data signalling rate
- 10 1 Mbps
14Character Level
- Character level defines
- data characters
- used to hold data
- control characters
- used to manage flow of data across a link
15Data Characters
16Control Characters
17Control Codes
ESC
FCT
ESC
18Exchange Level
- Exchange Level Protocol defines
- Link Initialisation
- Flow Control
- Link Error Recovery
19SpaceWire Interface
20Link Initialisation
1. Sends NULLs to open connection
2. Null received
6. FCT received, connection made
5. Send FCT
4. Null received
3. Send Nulls and FCTs in reply
7. FCT received, connection made
21Initialisation State Machine
22Flow Control
- Flow control used to avoid overflow of host
receive buffer - FCT is exchanged for 8 N-Chars
- TX and Rx must keep a count of credit.
23Flow Control
1. Sends NULLs to maintain connection
2. Host System indicates it has room for 8 more
chars
4. FCT received enabling 8 more chars to be sent
3. Transmitter sends FCT to request 8 more chars
6. N-Chars received and passed on to host system
5. Transmitter sends N-chars from host
24Error Handling
- Disconnect Error
- No RX clock transition for more that 850 ns
- Parity Error
- Parity bit error
- Some other types of error
- Escape Error
- Credit Error
- Empty Packet Error
- On error
- Disconnect
- Signals error to other end
- Other end disconnects
- Both ends start-up again
25Packet Level
- Packet Format
- ltDESTINATIONgt ltCARGOgt ltEND OF PACKET MARKERgt
- Destination
- represents either path to, or identity of
destination node - Cargo
- data or message to be transferred from source to
destination - End of Packet Marker
- indicates end of packet
26SpaceWire Routing Switches
ROUTINGMATRIX
- Packet arriving at any link input
- Can be switched to any link output
27Path Addressing
- destination is specified as router output port
number - node 1 to node 3 lt3gtltcargogtltEOPgt
- node 1 to node 8 lt4gtlt3gtlt2gtltcargogtltEOPgt
28Logical Addressing
- each destination has a unique logical address
- each router has a list of which port(s) to send
data out for each possible destination - node 1 to node with logical address 43
lt43gtltcargogtltEOPgt - node 1 to node with logical address 163
lt163gtltcargogtltEOPgt
4
Router R4
3
2
1
4
4
4
Router R1
Router R2
Router R3
3
2
1
3
2
1
3
2
1
N1
N2
N3
N4
N5
N6
N7
N8
N9
29Routing Table
30Group Adaptive Routing
- Node B to Node E can use any of three possible
links between router X and router Y - Shares available bandwidth
- Provides support for fault tolerance
31Group Adaptive Routing
32SpaceWire Features
- High speed 2-400 Mbps
- Low power lt0.5 W per link interface (5mW/Mbps
_at_100 Mbps) - High accuracy time distribution using time-codes
- Supports equipment compatibility and reuse
- Supports integration and test
- Scalable
- Group Adaptive Routing
- Fault tolerant
33SpaceWire Network
- Two or more SpaceWire nodes
- Zero or more SpaceWire routing switches
- Interconnected with SpaceWire links
- Add bandwidth where required
- Add redundant links where required
34Conclusion
- SpaceWire is an onboard communications standard
designed specifically for spacecraft - SpaceWire ECSS-E50-12A standard issued in 2003
- Many organisations and missions now using
SpaceWire - A platform for the implementation of many onboard
communication architectures - Future work will focus on recommendations for
- Application architectures
- Transport layer protocols
- etc