SpaceWire
# SpaceWire

SpaceWire ist ein Feldbus-Netzwerk für Raumfahrzeuge. Es erreicht eine Geschwindigkeit von 200 Mbps vollduplex. SpaceWire basiert auf LVDS und dem Standard IEEE-1355-1995, der im Hinblick auf seine Robustheit, Stromverbrauch und EMV an die Anforderungen im Weltraum angepasst wurde. Auch wurden einige Mehrdeutigkeiten in der Beschreibung eliminiert und die Link-Zustandsmaschine verbessert. Von der ESA wurde er unter dem Namen ECSS-E-ST-50-12C spezifiziert.

## Geschichte

Der SpaceWire-Standard wurde im Januar 2003 veröffentlicht und wird seitdem von ESA, NASA, JAXA und Roskosmos in zahlreichen Missionen verwendet. Er findet inzwischen zudem eine weit verbreitete Anwendung in der Wissenschaft, planetarischer Observation und anderweitiger Raumfahrt. Namhafte Vertreter sind zum Beispiel Gaia, ExoMarsrover, BepiColombo, James Webb Space Telescope, GOES-R, Lunar Reconnaissance Orbiter oder Astro-H.

## Funktionsprinzip

### SpaceWire Link

Bei den Links handelt es sich um Punkt-zu-Punkt-Verbindungen zwischen einem Knoten (engl. node) und einem weiteren Knoten oder Router. Die Informationen können gleichzeitig in beide Richtungen übertragen werden, die Verbindung ist also Vollduplex. Die Datenrate liegt bei 2–200 Mbits/s, vereinzelt findet man Dokumentationen, in denen bereits 400 Mbits/s genannt werden. Die Daten werden dabei in einem seriellen Bitstrom übertragen, wobei zwei Signale pro Richtung genutzt werden (data & strobe). Die Signale werden per Low Voltage Differential Signalling (LVDS) übertragen, wofür pro Signal zwei Drähte benötigt werden. Ein geeignetes SpaceWire-Kabel besteht somit aus vier geschirmten Twisted-Pairs.

### SpaceWire-Pakete

Ein Paket im SpaceWire beginnt mit einem Adressierungsabschnitt, in dem der Empfänger definiert wird. Entweder wird dieser direkt benannt oder es wird der zu nutzende Netzwerkpfad dargestellt. Bei einer einfachen P2P-Verbindung ohne weitere Teilnehmer kann die Adressierung sogar entfallen. Im folgenden Cargo-Abschnitt kann eine beliebige Menge an Daten-Bytes von der Quelle zum Ziel übertragen werden. Das Paket wird mit einem End-of-Packet (EOP) abgeschlossen. Danach kann ein neues Paket gestartet werden.

Bei der Adressierung in der Pfad-Darstellung entspricht die Zielangabe der Navigationsanweisung eines Navigationsgeräts aus dem Auto, wenn man etwa an einen Kreisverkehr heran fährt. Jeder Router entspricht dabei einem Kreisverkehr. An jedem solchen Kreisverkehr können Hofeinfahrten oder Verbindungen zu anderen Kreisverkehren angebunden sein. Das Paket erhält dann eine Liste an Navigationsanweisungen (z. B. „verlasse den nächsten Router über Anschluss 5“), die nacheinander abgehakt werden. Konkret verfügt jeder Router über bis zu 31 solcher Ports, das erste Adresszeichen im eingehenden Adressfeld gibt Auskunft, über welchen Port die Nachricht den Router verlassen muss. Das ausgehende Adressfeld wird entsprechend um dieses erste Zeichen gekürzt (abhaken). Der nächste Router erhält damit automatisch als erstes Adresszeichen wieder den bei ihm zu nutzenden Ausgangsport. Das Adressfeld wird mit fortschreitender Reise der Nachricht immer kürzer und ist beim Empfänger schließlich leer.

