CAVU Aerospace UK

SpaceWire

DESCRIPTION

SpaceWire is commonly used as a data-handling network between processors and instruments, mass memory devices, and telemetry interfaces. The protocol is full-duplex and uses two signals: data and strobe. The clock is encoded across these two signals and can be recovered by XORing the received data and strobe inputs. For two connected SpaceWire nodes in a valid link state, the link must remain active at all times by transmitting NULL characters, even when no payload data is being transferred.

Clock recovery by XORing strobe and data is straightforward in ASIC implementations, but it can be more challenging in FPGA designs. The main challenge is timing closure and timing verification at higher data rates, which can affect deterministic latency.

Microchip RTG4 and RT-PolarFire FPGAs provide clock-recovery mechanisms that improve sampling precision and timing robustness. With the SpaceWire IP core for RT-PolarFire devices, applications can implement up to four SpaceWire nodes operating at up to 400 Mbps.

REMOTE MEMORY ACCESS PROTOCOL

RMAP is an application-level protocol used to read from and write to memory-mapped registers or memory regions in remote nodes across a SpaceWire network. SpaceWire provides the transport path, while RMAP defines the command and response format used to perform remote access operations.

From a protocol-stack perspective, SpaceWire handles link signaling, character encoding, flow control, routing through network addresses, and packet delivery between nodes. While, RMAP sits above SpaceWire and defines higher-level transactions such as read, write, read-modify style sequences, status reporting, and error codes.

This layering allows system designers to keep the network transport and the remote-access behavior separate.

Because RMAP is carried inside SpaceWire packets, it inherits SpaceWire’s low-latency, full-duplex communication model while adding deterministic command semantics for control, configuration, and instrument data handling.

LOGICAL ADDRESSING & PATH ADDRESSING

SpaceWire supports two common routing/addressing approaches, and both can be used with RMAP:

Path addressing:

  • The packet contains an explicit sequence of output-port choices (a route) used hop-by-hop.
  • It is simple and deterministic for fixed topologies, but routes must be updated if network paths change.

Logical addressing:

  • The packet carries a destination logical address, and each router uses an internal routing table to forward it.
  • It is easier to scale and maintain in larger networks, since routes can be changed in router tables without changing end-node software.

In many systems, path addressing is used for tightly controlled links and early bring-up, while logical addressing is preferred for operational networks that need flexibility and easier reconfiguration.

SpaceWire on OBCs

CAVU’s OnBoard Computers support SpaceWire compliance with ECSS-E-ST-50-12C (Rev. 1) and can operate at up to 200 Mbps. We offer RMAP implementations as either a software application or a hardware-accelerated IP core for higher speed and greater data throughput.

The upcoming PIC64-HPSC (High-Performance Spaceflight Computing) processor from Microchip, deployed in OBC-64, includes seven SpaceWire nodes. All seven nodes support the RMAP protocol. One PIC64 node in the OBC-64 also supports Emergency Access Mode, which guarantees command and/or telemetry access for custom mission-defined applications during partial system failure, degraded performance, or other anomalies. The SpaceWire nodes are capable of operation up to 200 Mbps.