Document number
204911
Version
Rev. K
Issue date
2016-10-11
Sirius Breadboard User Manual
www.aacmicrotec.com
Page
59
of
106
5.10. CCSDS
5.10.1. Description
This section describes the driver as a utility for accessing the CCSDS IP.
On the telemetry, the frames are encoded with Reed Solomon encoding that conforms to the
CCSDS standard with a (255-223) RS encoder implementation and an interleaving depth of
5. That makes a total frame length of 1115 bytes. The standard RS polynomial is used.
On the telecommands the BCH decoder (63-56) supports the error correcting mode.
The driver can be configured to handle all available interrupts from the CCSDS IP:
Pulse commands (CPDU)
Timestamping of telemetry sent on virtual channel 0
DMA transfer finished.
Telemetry transfer frame error.
Telecommand rejection due to error in the incoming telecommand.
Telecommand frame buffer errors.
Telecommand frame buffer overflow.
Telecommand successfully received.
5.10.2. RTEMS API
This API represents the driver interface from a user application’s perspective for the RTEMS
driver.
The driver functionality is accessed through the RTEMS POSIX API for ease of use. In case
of failure on a function call,
errno
value is set for determining the cause.
Access to the CCSDS-driver from an application is provided by three different device-files:
“/dev/ccsds” that is used for configuration and status for common TM and TC
functionality in the IP. Is defined as CCSDS_NAME
“/dev/ccsds-tm” that is used for functions related to handling of Telemetry. Is
defined as CCSDS_NAME_TM
“/dev/ccsds-tc” that is used for functions related to handling of Telecommands. Is
defined as CCSDS_NAME_TC
5.10.2.1. Datatype struct tm_frame_t
This datatype is a struct representing a telemetry transfer frame. The elements are
described in the table below: