"SpaceWire Remote Memory Access Protocol"

Steve Parkes and Chris McClements
University of Dundee

SpaceWire is a communications network for use onboard spacecraft which is being widely used by ESA, NASA, JAXA and other space organizations. The SpaceWire standard [1] covers high-speed communications for spacecraft onboard data-handling at the physical and data link levels. The SpaceWire working group is now focusing on higher-level protocols. The aim of these protocols is to support software and hardware reuse further up the communications protocol stack. The first protocol that has been defined by the SpaceWire working group is a relatively low-level service called the remote memory access protocol (RMAP). RMAP is used to write to and read from memory or registers in a destination node on a SpaceWire network.

The remote memory access protocol (RMAP) provides a means for one SpaceWire node to write to and read from memory inside another SpaceWire node. Input/output registers and control/status registers are assumed to be memory mapped so are accessed as memory. The aim of the RMAP protocol is to standardize the way in which SpaceWire units are configured and to provide a low-level mechanism for the transfer of data between two SpaceWire nodes. For example RMAP may be used to configure a camera or a mass memory device. The camera device may then write image data to allocated areas of memory in the mass memory, or the mass memory may read image data from the camera.

This paper will provide an introduction to the RMAP protocol, explaining how it is used to read and write from registers and memory in a remote SpaceWire unit on the network. The use of RMAP for event signaling and mailbox type operations will also be described.


  1. S.M. Parkes et al, ECSS-E-50-12A, SpaceWire, Links, Nodes, Routers and Networks", Issue 1, European Cooperation for Space Data Standardization, January 2003.


2006 MAPLD International Conference Home Page