Follow PicSat on
   Twitter30width    Youtube30width
French version   English version    
Logo transparent
Unravelling the Beta Pictoris System
MISSION STATUS:
Picsat is: alive?
Number of telemetry packets received today:
0
Last beacon satellite:
2023-05-10 11:57:48 UTC

Last beacon payload:
2022-07-31 17:13:24 UTC

Uplink is not active
Downlink is not active

CCSDS packets description

General Description

The packet format used within the PicSat mission is largely based on the CCSDS (Consultative Comitee for Space Data Systems) standard. However, the standard has been modified for the particular needs of a small CubeSat mission.

A CCSDS packet is made of three parts: a primary header, a secondary header, and a data section. In most cases (but not all), the information contained in the data section of the PicSat packets can be read bytewise. However, the fields of the primary and secondary headers are not bytes-aligned, and should be read bitwise.

Field: Primary Header Secondary Header TM Data Section
- - Auxiliary header Datapoints
Byte: 0 ... 5 6 ... 11 12 ... X X+1 ... Y

All PicSat CCSDS packets have an absolute size limit (set by hardware) of 235 bytes.

Unpacking procdure

To extract data from one of the PicSat CCSDS Telemetry (TM) packets, it is suggested to follow at least these steps and verificatons:

Primary Header

The primary header starts at byte 0 (first byte) of the packet, and ends at byte 7. It is 6 byte long. The following Table describes its content.

Name Start bit Length (in bits) Type Description Conversion
ccsds_version 0 3 uint Version of CCSDS used. Always set to 0. -
packet_type 3 1 uint 0 is telemetry, 1 is telecommand -
secondary_header_flag 4 1 bool True if secondary header is present. Always true for PicSat -
process_id 5 4 uint Identifies source or destination process -
level_flag 9 1 bool True if packet source of destination is in Level 1 software -
payload_flag 10 1 bool True if payload packet. False if OBC packet. -
packet_category 11 5 uint Defines the structure of TM packet. Unused and set to 0 for TCs. -
sequence_flag 16 2 uint Unused for PicSat. Set to 0b11. -
packet_id 18 14 uint A counter incremented at each new packet emitted. -
data_length 32 16 uint Length (in octets) of data field (sec header + opt. aux header + data). -
Process IDs
The subprocess associated to a packet can be identified using the combination of: the payload_flag, the level_flag, and the pid. Refer to the table below:
payload_flag level_flag pid Process name Description
0 0 0 L0ComManager Communication Manager for the Level 0 software
0 0 1 L0MemoryManager Memory manager for the Level 0 software
0 0 2 L0Housekeeper Monitoring sensor manager for the Level 0 software
0 0 4 L0EpsManager Electric and Power System manager
0 0 5 L0AdcsManager Attitude Determniation and Control System Manager at Level 0 (detumbling)
0 0 6 L0SdCardManager SD Memory card manager
0 1 0 L1ComManager Communication manager for the Level 1 software
0 1 1 L1EventManager Event management and reporting for the Level 1 software
0 1 2 L1AdcsManager Attitude Determniation and Control System Manager at Level 1 (science pointing)
0 1 3 ModeManager State machine management
0 1 4 EventManager Event management and reporting for the Level 1 software
1 1 0 Bootloader Payload bootloader and software updater
1 1 1 BoardDirector Payload state machine and subsystem management
1 1 2 HkManager Payload monitoring sensor management
1 1 3 AcquisitionManager Payload science data acquisition management
1 1 4 PacketsManager Payload communication packet creation and management
1 1 5 ObcInterfaceManager Communication with the OBC
1 1 6 BeaconManager Automated beacon transmission management

Secondary Header Telemetry

The secondary header of telemetries starts at byte 6 of the packet, and ends at byte 11. It is 6 byte long. The following Table describes its content.

Name Start bit Length (in bits) Type Description Conversion
days_since_ref 0 16 uint Number of fully elapsed days since January, 1, 2000, 00:00:00 (UTC) -
ms_since_today 16 32 uint Number of fully elapsed ms since beginning of day (UTC) -

Secondary Header Telecommand

The secondary header of telecommands starts at byte 6 of the packet, and ends at byte 21. It is 16 byte long. The following Table describes its content.

Name Start bit Length (in bits) Type Description Conversion
req_ack_reception 0 1 bool True if a reception acknowledgement is requested. -
req_fmt_reception 1 1 bool True if a format acknowledgement is requested. -
req_exe_reception 2 1 bool True if an execution acknowledgement is requested. -
telecommand_id 3 10 uint The telecommand number (identifies the TC). -
emitter_id 13 3 uint The id of the emitter of the TC. -
emitter_id 16 128 uint Cryptographic signature to authorize execution of TC. -

Packet Categories

In a telemetry packet, the section after the primary and secondary headers contains the optional auxiliary header, and the data themselves. These are highly mission specific. Each packet category (defined by the combination of the payload_flag and the packet_category from the primary CCSDS header) has its own auxiliary header and data format. In the following two tables, you will find links to all the packet format descriptions, when they are realeased. The "repeat" column indicate if the data format shall be read repeatedly until the end of packet (multiple data points in one packet, see unpacking procedure above).

If you click on the name of the category, you can also get an example CCSDS packet (no KISS, no AX.25), to test your software.

OBC packet categories (payload_flag = 0)
Category Name Description Aux header format Data format Repeat
0 ReceptionAcknowledgement Emitted when a tc is received (if requsted) No auxiliary header Data format False
1 Beacon Automated beacon telemetry emitted every 10 s No auxiliary header Data format False
2 BootErrorReport Emitted at boot up Auxiliary header format Data format False
3 EventReport Signals the occurence of an event Auxiliary header format Data format False
4 HouseKeeping Data from on-board monitoring sensors Auxiliary header format Data part 1, Data part 2 False
5 DumpAnswerData Replo to a TC when many data must be sent Auxiliary header format Data format False
6 PatchListSegments The list of sofwtare segments for update Auxiliary header format Data format False
7 Science Science data from payload Auxiliary header format Data format False
8 ScienceReduced Science data reduced Auxiliary header format Data format False
9 UNUSED - - - -
10 ScienceFluxMean Science data reduced by OBC (mean values of flux) Auxiliary header format Data format False
11 ScienceFluxVariance Science data reduced by OBC (variance-covariance matrix) Auxiliary header format Data format False
12 ListOfFilesOnSdCard Reply to space 'ls' Auxiliary header format Data format False
13 ListOfCounters Counters of packets stored on-board Auxiliary header format Data format False
14 counters - Auxiliary header format Data format False
15 HkAdcsStandard Standard telemetry from ADCS No auxiliary header Data format False
16 HkAdcsActuator Actuator telemetry from ADCS No auxiliary header Data format False
17 HkAdcsSensor Sensor telemetry from ADCS No auxiliary header Data format False
18 HkAdcsAttitude Attitude telemetry from ADCS No auxiliary header Data format False
19 HkL1 L1 Software monitoring data No auxiliary header Data format False
20 SchedulerFifoList On-board scheduler programmed activities No auxiliary header Data format False
21-28 RESERVED - - - -
29 TcAnswer Answer to a telecommand sent from ground Auxiliary header format Data format False
30 FormatAcknowledgement Acknowledge the format of the TC received (if requested) Auxiliary header format Data format False
31 ExecutionAcknowledgement Acknowledge the execution of the TC received (if requested) Auxiliary header format Data format False
Payload packet categories (payload_flag = 1)
Category Name Description Aux header format Data format Repeat
0 - 3 RESERVED - - - -
4 House-Keeping Data from monitoring sensors on the payload board Auxiliary header format Data format True
5 HF Science High frequency (1 kHz) raw science data from science instrument Auxiliary header format Data format True
6 UNUSED - - - -
7 Payload Beacon Automated beacon emitted by the payload board No auxiliary header Data format False
8-28 RESERVED - - - -
29 TcAnswer Answer to a telecommand sent from ground Auxiliary header format Data format False
30 FormatAcknowledgement Acknowledge the format of the TC received (if requested) Auxiliary header format Data format False
31 ExecutionAcknowledgement Acknowledge the execution of the TC received (if requested) Auxiliary header format Data format False