TC Space Data Link Protocol
A TC Transfer Frame is a 5-octet Primary Header, a Data Field of up to 1019 octets and an optional 2-octet FECF. The Data Field holds a Frame Data Unit (Type-D, with an optional Segment Header) or Control Commands (Type-C). With SDLS (§ 6.3, CCSDS 355.0-B-2) a Security Header and optional Security Trailer surround the User Data of Type-D frames.
Open the interactive diagram, Frame Builder and Frame Decoder
Transfer Frame Primary HeaderPH
The mandatory five-octet header of every TC Transfer Frame. Eight fields identify the frame, control the FARM acceptance checks, and give the frame length and sequence number.
Transfer Frame Version NumberTFVN
Identifies the data unit as a TC Version 1 Asynchronous Transfer Frame. Always set to ‘00’ — the only version defined by the Standard.
| Value | Meaning | Clause |
|---|---|---|
‘00’ | TC Version 1 Asynchronous Transfer Frame — the only version defined by this Standard | § 4.1.2.2.2 NOTE |
Bypass FlagBYP
Controls the application of Frame Acceptance Checks by the receiving end: ‘0’ marks a Type-A frame (subject to FARM checks), ‘1’ a Type-B frame (checks bypassed).
| Value | Meaning | Clause |
|---|---|---|
BF=0 · CCF=0 | Type-AD — Data Field carries an FDU, subject to FARM Frame Acceptance Checks (Sequence-Controlled / AD Service of the COP) | TABLE 4-1 |
BF=0 · CCF=1 | Reserved for future application | TABLE 4-1 |
BF=1 · CCF=0 | Type-BD — Data Field carries an FDU, checks bypassed (Expedited / BD Service of the COP) | TABLE 4-1 |
BF=1 · CCF=1 | Type-BC — Data Field carries Control Commands, checks bypassed (controls the Sequence-Controlled Service) | TABLE 4-1 |
Control Command FlagCCF
Specifies whether the Data Field conveys Control Commands (Type-C) or Data (Type-D).
| Value | Meaning | Clause |
|---|---|---|
‘0’ | Type-D — Data Field contains a Frame Data Unit | § 4.1.2.3.2.2 a) |
‘1’ | Type-C — Data Field contains control information | § 4.1.2.3.2.2 b) |
Reserved SpareRSVD
Two bits reserved for future application; always set to ‘00’.
| Value | Meaning | Clause |
|---|---|---|
‘00’ | Mandatory value — reserved by the CCSDS | § 4.1.2.4.2 |
Spacecraft IdentifierSCID
Identifies the spacecraft associated with the data contained in the frame. Assigned by the CCSDS and static throughout all Mission Phases.
Virtual Channel IdentifierVCID
Identifies the Virtual Channel — up to 64 Virtual Channels per spacecraft on the TC link.
Frame LengthLEN
A length count C equal to one fewer than the total number of octets in the frame, measured from the first bit of the Primary Header to the last bit of the FECF (or Data Field if the FECF is omitted).
| Value | Meaning | Clause |
|---|---|---|
C = TOTAL OCTETS − 1 | The encoded length count | § 4.1.2.7 NOTE 1 |
MAX 1024 OCTETS | The size of this field limits the maximum length of a Transfer Frame to 1024 octets | § 4.1.2.7 NOTE 2 |
Frame Sequence NumberFSN
N(S) — enables the FARM to check the sequentiality of incoming Type-A frames. Maintained separately for each Virtual Channel.
| Value | Meaning | Clause |
|---|---|---|
ALL ZEROES | The COP does not use this field of Type-B Transfer Frames; in this case the contents are set to ‘all zeroes’ by COP | § 4.1.2.8 NOTE 3 |
Transfer Frame Data FieldDF
Carries one Frame Data Unit (Type-D frames) — optionally prefixed by a Segment Header — or Control Command information (Type-C frames).
Segment HeaderSEG
Optional one-octet prefix of a Frame Data Unit: Sequence Flags plus the MAP Identifier. Required on Virtual Channels with more than one MAP or with service data units larger than one frame.
Sequence FlagsSEQF
Delimits the user’s service data unit by indicating the sequential position of the User Data in this Frame Data Unit relative to the whole service data unit.
Multiplexer Access Point IdentifierMAP
Identifies the MAP Channel within a Virtual Channel — up to 64 MAPs per Virtual Channel.
User Data (Frame Data Unit)FDU
The user content of a Type-D frame: Packets, a MAP_SDU or a VCA_SDU — whole or as a segmented portion, depending on the Segment Header.
Control CommandsCC
The content of a Type-BC frame Data Field. Two Control Commands are defined — Unlock and Set V(R) — which configure the FARM to accept data.
| Value | Meaning | Clause |
|---|---|---|
00000000 | Unlock — a single octet of all zeroes | § 4.1.3.3.2 |
10000010 00000000 XXXXXXXX | Set V(R) — three octets; XXXXXXXX is the value to which the FARM should set the Receiver_Frame_Sequence_Number, V(R) | § 4.1.3.3.3 |
Frame Error Control FieldFECF
A 16-bit CRC computed over the whole frame, for detecting errors introduced during transmission and data handling. If used, it is present in every frame of the Physical Channel.
| Value | Meaning | Clause |
|---|---|---|
G(X) = X¹⁶ + X¹² + X⁵ + 1 | Generating polynomial of the CRC | § 4.1.4.2.2 |
L(X) = X¹⁵ + X¹⁴ + … + X + 1 | Presetting polynomial — the shift register is preset to the all-‘1’ state before encoding | § 4.1.4.2.2 |
Rules
- Segment Header presence is managed per Virtual Channel; if used, it is in every Type-D frame there.
- Required with more than one MAP, or with data too large for one frame.
- Never in a Type-C frame; nor is SDLS.
- Fewer octets received than LEN says: all are discarded.
- A frame failing the version, MCID, length or CRC test is rejected.
- With SDLS: Security Header follows the Segment Header; Security Trailer follows the User Data.