• Home
  • Current congress
  • Public Website
  • My papers
  • root
  • browse
  • IAC-13
  • B4
  • 7A
  • paper
  • A generic and protocol independent open-source telecommand and telemetry packet interpretation and execution engine

    Paper number

    IAC-13,B4,7A,3,x19080

    Author

    Mr. Claas Ziemke, Private, Germany

    Coauthor

    Mr. Bastian Bätz, Institute of Space Systems, Universität Stuttgart, Germany

    Year

    2013

    Abstract
    The interpretation and execution of telecommand packets is one of the most important features of a satellite on-board software. There exist a variety of standardized telecommand packet formats. Additionally because the up-link bandwidth usually is very limited these standards usually do not rely on byte-alignment and padding. This leads to highly specialized packet interpretation routines. Finally the packet execution is deeply dependent of the on-board software functionality and architecture. Together with the diverse communication protocols this means that the packet interpretation is traditionally highly mission specific and integrated deeply in the core of the on-board software. Nevertheless the overall procedure of packet interpretation and execution is always similar and can be implemented in a protocol independent and re-usable way. In this paper we present a packet interpretation engine that allows to define telecommand packets. The engine is implemented in C++ and relies on the principles of object-oriented programming. The packets can be defined in a database, for example for the later usage in a mission control system. From this database the source-code of the packet interpretation engine can then be auto-generated via an XML export and a XSLT code transformation. Every type of telecommand packet is represented by a dedicated packet class. The packet itself is constructed from a raw bit stream. During the construction all the fields in the packet are formatted and filled with the values encoded in the bit stream. While doing this also it is checked if the bit stream is well formed. Besides the packet fields, the packet class consists of execute hooks that are used to call specific on-board software service functions. This approach ensures a minimum dependency between the on-board software and the packet interpretation engine. The basic principles  and implementation of the proposed telecommand and telemetry interpretation engine are outlined and the functionality is demonstrated using the widely used CCSDS and ECSS “Packet utilisation standard” and the AX.25 protocol. It shall be noted that this engine not only can be used in satellite on-board software but also for the ground station software or in other situations where a protocol independent packet interpretation is needed, for example in software defined radio applications. Finally the same principles can be used not only to interpret a bit stream and construct a packet object from it but also, to build a bit stream from a telemetry packet object for the down link.
    Abstract document

    IAC-13,B4,7A,3,x19080.brief.pdf

    Manuscript document

    (absent)