Skip to content
yuasatakayuki edited this page Nov 25, 2011 · 2 revisions

Table of Contents

SpaceWireRMAPLibrary v2

SpaceWire and RMAP

Placeholder.

General information

SpaceWireRMAPLibrary is an open-source C++ class library that deals with data transfer over the SpaceWire standard and the Remote Memory Access Protocol. Typical use cases are ground-support equipments for satellite onboard components that have SpaceWire and RMAP interfaces, data acquisition systems for physics, astrophysics, and high-energy experiments that require high throughput and scalability.

Since 2008, SpaceWireRMAPLibrary has been released and widely used in actual satellite developments and ground-based or balloon-borne experiments, with great successes. The library was rather quickly developed pushed by requests from users, and, its design was ,unfortunately, not necessary perfectly designed before the implementation. It is time to re-design its structure. This activity will output something like SpaceWireRMAPLibrary v2 which has different but better implementation from the classic SpaceWireRMAPLibrary, might be called v1.

New features such as network description, RMAP target description, synchronization with time codes will be also included in the v2 implementation.

Purposes

  • Clearer structure
  • Simple to use
  • More conformant on the standards
  • Higher portability to ner device
  • Easier maintenance

Structure

SpaceWire layer

  • Abstract SpaceWire interface
  • Wrappers for actual SpaceWire devices
  • Generic SpaceWire network description using XML

RMAP layer

  • RMAP Initiator
  • RMAP Target
  • RMAP Packet interpretation
  • RMAP Initiator/Target node description using XML

Requirements

  • C++ Standard Template Library
  • boost C++ library
  • Xerces-C++ library
  • CxxUtilities

Utility programs contained in the library

Typical usages

Opening SpaceWire device

Opening SpaceWire device