What is CCSDS and ECSS PUS?
Technical summary of the satellite communication protocols
What is the Packet Utilization Standard (PUS)?
The Packet Utilization Standard is an application-level protocol for managing satellite systems and resources (ECSS-E-ST-70-41C). PUS defines 23 standard services for scheduling, data transfer, reporting, and other common satellite control operations. Each PUS service is identified by the service ID. E.g., PUS service 8, subservice 1 – perform function. It is possible to add custom PUS services for the mission-specific functionality.
Requests to use a PUS service are carried as telecommands (TC) in the payload of the CCSDS Space Packets. PUS reports are transported as telemetry (TM) in the CCSDS Space Packets. CCSDS Space Packets (CCSDS 133.0-B-2) and CCSDS Transfer Frames (CCSDS 732.1-B-1) serve as PUS TM/TC carriers.
Contact 12G Flight Systems for public and private CCSDS and ECSS PUS training.
What are custom PUS services?
Many space missions require specific control of their payloads. ECSS Packet Utilization Standard (PUS) allows the definition of mission-specific PUS services. Custom services have service IDs higher than 127.
For example, if onboard thrusters require a complex startup function, the mission may define custom service 128 (control thrusters) and subservice 1 (power-up thrusters). The function to power up thrusters will then be triggered by the PUS telecommand TC[128,1]. Thrusters may report their operational status via telemetry TM[128,2] with a mission-defined report format.
See practical examples of the Custom PUS services in the PUSopen® Online Documentation.
What are the practical challenges of integrating PUS?
ECSS Packet Utilization Standard defines the communication layer – packets and services. The practical application of PUS and CCSDS requires connecting the communication layer to your application code:
How will the PUS layer notify the application code about the received command? How will the communication part request the latest sensor readings to assemble the periodic PUS reports? Is the PUS layer a standalone process or part of your main application loop? Which PUS services should you choose to minimize the new integration code? How to test compatibility of the PUS packets with your satellite platform or Ground station? The list goes on and on.
Contact 12G Engineering Services for practical checklists, consulting, and on-demand reviews.
What is the CCSDS Space Packet?
In the early 1980s, large space agencies saw the need for interconnectivity between the ground infrastructure and different missions. The proprietary mission-specific protocols of the 1960s and 1970s were replaced by the standardized CCSDS Space Packets (CCSDS 133.0-B-2) and link-level protocols. CCSDS protocols and channel encodings are still widely used today.
The CCSDS Space Packet (transport level on ISO/OSI model) comprises the predefined header, optional secondary header, and payload. The standard doesn’t define the structure or length of the packet payload.
See the 12G tutorial on sending CCSDS Space Packets.
Why use CCSDS and PUS for satellite communication?
ECSS Packet Utilization Standard (PUS) goes one step further than CCSDS Space Packet. Instead of letting each mission defining own application-level commands and telemetry, PUS brings a standard set of 23 application services for the management of the onboard parameters, reports, command execution schedules, device management, custom function execution, and other commonly needed for satellite commands and reports (There are actually only 20 services. Three service IDs are marked as reserved).
PUS allows you to control and monitor your satellite payloads through the standardized PUS packets, allowing re-use and interconnection of the ground and onboard software. CCSDS and PUS are your gateway to the world of professional space systems.
Download free PUSopen® Evaluation Version to start prototyping CCSDS and PUS communication for your mission.
What is Serial Framing?
Any serial-like data transport must mark a data unit's start and end (packet, transfer frame, etc.). This often overlooked mechanism is necessary for receiving applications to know where one packet ends and another starts.
Serial framing is a term used for delimiting data units like packets. Many serial framing techniques exist, such as KISS, SLIP, and HDLC. Ethernet, UART, or other serial-like buses in embedded systems use serial framing at the lowest level. ECSS and CCSDS define the Attached Synchronization Marker (ASM) – a sequence of bytes that mark the packet boundaries.
See the PUSopen Online Documentation for more in-depth information on the serial framing techniques available in the PUSopen® library.