Document number
205065
Version
Rev. N
Issue date
2019-02-04
Sirius OBC and TCM User Manual
Page
78
of
174
5.9. CCSDS
5.9.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.
Telemetry is sent as blocks of TM Space packets of maximum block size of 2
17
bytes. When
using the RTEMS driver, Telemetry is sent by writing to a writable device. The device can be
opened in non-blocking or blocking mode described chapters below. Up to 8 virtual channels
for telemetry are supported by the CCSDS IP and driver. In the current configuration, two
virtual channels VC0 and VC1 are supported. For telecommands, 64 virtual channels are
supported.
5.9.2. Non-blocking
In non-blocking mode for the RTEMS driver, a write access is done without waiting for
aresponse from the IP before returning from the write-call. During non-blocking transfer of a
chunk of data with a maximum size of four times the maximum descriptor length,
thesequence below is executed:
1. The address DMA transfer of next available descriptor is set.
2. DESC LENGTH, TM PRESENT, IRQ EN, WRAP is set of next available descriptor.
3. If the data to send needs several descriptors, steps 1 and 2 are repeated until all
data in the data-chunk has been transferred.
4. When a DMA transfer is finished, an interrupt is generated and the interrupt status
indicates which VC’s that were involved in the DMA transfers.
5. The TM Status of the actual VC is read, which will get the last descriptor for the last
DMA transfer of that VC. When the TM Status is read, the interrupt is cleared.
6. The driver reads status of the descriptor transfers since the last DMA transfers on
the actual virtual channel and prepares messages of the type described in 5.9.5.1
and sent to a message queue, named “CCSQ”, provided by the driver. The user
-