Issue : 2
Rev : 0
Date : 06.11.2013
Page : 1
of 13
AX.25 Telemetry
and Telecommand
Transfer Frames
Format
Prepared by:
Florian George
Stephane Billeter
Checked by:
Muriel Richard
Approved by:
Swiss Space Center EPFL
Lausanne
Switzerland
06 November 2013
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 2
of 13
RECORD OF REVISIONS
ISS/REV
Date
Modifications
Created/modified by
1/0
15/03/2007
Initial release
Florian George
2/0
06/11/2013
Issued for QB50 CDR
Stphane Billeter
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 3
of 13
TABLE OF CONTENTS
RECORD OF REVISIONS ................................................................................................................................... 2
TABLE OF CONTENTS ....................................................................................................................................... 3
REFERENCES ....................................................................................................................................................... 4
APPLICABLE DOCUMENTS ......................................................................................................................................... 4
REFERENCES DOCUMENTS ........................................................................................................................................ 4
LIST OF ACRONYMS .......................................................................................................................................... 5
1
INTRODUCTION ........................................................................................................................................ 6
TRANSFER FRAMES FORMAT .............................................................................................................. 7
2.1 AX.25 TRANSFER FRAME FORMAT ................................................................................................................. 7
2.1.1
Unnumbered Information Frame .......................................................................................................... 7
2.1.2
Flag (8 bits) ........................................................................................................................................... 7
2.1.3
AX.25 Transfer Frame Header (128 bits) ............................................................................................. 7
2.1.4
Information Field (0 to 2048 bits) ......................................................................................................... 8
2.1.5
Frame-Check Sequence (16 bits) .......................................................................................................... 8
2.2 TELEMETRY INFORMATION FIELD USAGE ...................................................................................................... 10
2.2.1
Telemetry Transfer Frame Secondary Header (32 bits) ..................................................................... 10
2.2.2
Data (0 to 2008 bits) ........................................................................................................................... 11
2.2.3
Telemetry Transfer Frame Trailer (0 to 72 bits) ................................................................................. 12
2.3 TELECOMMAND INFORMATION FIELD USAGE ............................................................................................... 13
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 4
of 13
REFERENCES
Applicable Documents
[A1]
AX.25 Protocol Specification
[Link]
References Documents
[R1]
ESA-PSS-04-106
Packet Telemetry Standard
[R2]
CubeSat program
[Link]
[R3]
Cyclic Redundancy Check
[Link]
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 5
of 13
LIST OF ACRONYMS
CCSDS
Consultative Committee for Space Data Systems
CRC
Cyclic Redundancy Check [R3]
EGSE
Electrical Ground-Support Equipment
EPFL
Ecole Polytechnique Fdral de Lausanne (Swiss Federal Institute of Technology in
Lausanne)
ESA
European Space Agency
ESOC
European Space Operations Centre
ESTEC
European Space Research and Technology Centre
FCS
Frame-Check Sequence
GS
Ground Station
ICD
Interface Control Document
LMTS
Microsystems for space technologies laboratory
MSB
Most Significant Bit
SSID
Secondary Station Identifier
TBD
To Be Defined
TC
Telecommand
TM
Telemetry
UI-Frame
Unnumbered Information Frame (see [A1])
VC
Virtual Channel
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 6
of 13
1 INTRODUCTION
This document describes the format of the AX.25 Transfer Frames, a simple Data Layer (layer 2)1
protocol based on the Unnumbered Information Frames (UI-Frames) of the AX.25 protocol [A1]
and adapted for space applications. It was initially designed for the SwissCube project, while not
being specific to it.
The reason it is based on the AX.25 protocol is for compatibility. As with most others CubeSat
projects [R2], the project makes use of the amateur radio network using amateur radio frequencies
on amateur radio equipment which uses AX.25 for "high data-rate" digital transmissions. The
transfer frames must therefore be compliant with the format defined in the AX.25 protocol to be
able to use the existing amateur radio equipment.
Only the Unnumbered Information Frames (UI-Frames) of the protocol are used to allow for easy
implementation on-board the spacecrafts which have limited resources. But to provide the necessary
functionalities of space-to-ground transportation in the Transfer Frames (e.g. frame loss detection,
on-board arrival detection, time correlation, etc.), a Secondary Header has been added to the
Telemetry Transfer Frame. The fields of this Secondary Header are adapted from the Packet
Telemetry Standard [R1].
In result, the hereby defined protocol is asymmetric, which is a property common to space-toground protocols. This is due to the fact that resources are very unbalanced between the spacecraft
hardware and ground hardware.
OSI model: [Link]
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 7
of 13
2 TRANSFER FRAMES FORMAT
All the data communication is done with the use of Unnumbered Information Frame (UI-Frame)
from the AX.25 protocol [A1]. The term AX.25 Transfer Frame therefore refers to an AX.25 UIFrame.
If not specified otherwise, all sizes are in bits.
2.1 AX.25 Transfer Frame Format
2.1.1 Unnumbered Information Frame
As described in the protocol, the unnumbered frame (U frame) is structured as follows:
Flag
Address
Control
Info
FCS
Flag
01111110
112
16
N*8
16
01111110
The Transfer Frames are compliant AX.25 Unnumbered Information Frame (UI-Frame) [A1],
detailed below.
Flag
AX.25 Transfer Frame Header (128 bits)
Information
Field
Bits
Protocol
Identifier
0-2048
Destination
Source
Control
Address
Address
56
56
FrameCheck
Sequence
Flag
16
2.1.2 Flag (8 bits)
The flag field is one octet long. Because the flag delimits frames, it occurs at both the
beginning and end of each frame. Two frames may share one flag, which would denote the
end of the first frame and the start of the next frame. A flag consists of a zero followed by six
ones followed by another zero, or 01111110 (0x7E). In order to ensure that the flag bit
sequence mentioned above does not appear accidentally anywhere else in a frame, bit stuffing
is applied. The sender monitors the bit sequence for a group of five or more contiguous '1'
bits. Any time five contiguous '1' bits are sent, the sending station inserts a '0' bit after the fifth
'1' bit. During frame reception, any time five contiguous '1' bits are received, a '0' bit
immediately following five '1' bits is discarded.
2.1.3 AX.25 Transfer Frame Header (128 bits)
Destination Address (56 bits)
Callsign (48 bits)
C1 (8 bits)
C2 to C5
XX X X X X X 0
SSID
C6 (8 bits)
8 bits
X X X X X X X 0 0 1 1 S S I D 0
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 8
of 13
The destination address consists of the callsign and the Secondary Station Identifier (SSID) of
the destination. The callsign is made up of 6 upper-case letters, numbers or space ASCII
characters only (7 bits). The SSID is a four-bit integer that uniquely identifies multiple stations
using the same amateur callsign.
The 6 characters of the callsign are placed in the first 6 octets of the field (C1 to C6). Each
character bits are shifted one bit on the left and the least significant bit is set to '0'.
The SSID is placed in the bits 3-6. The other bits of the field have a fixed value.
Remark: The destination address field is fixed as the CubeSat is paired with one University.
Source Address (56 bits)
Callsign (48 bits)
C1 (8 bits)
XX X X X X X 0
SSID
C6 (8 bits)
8 bits
X X X X X X X 0 0 1 1 S S I D 1
The source address consists of the callsign and the Secondary Station Identifier (SSID) of
the source. It is the callsign of the satellite on the downlink and the callsign of the Ground
station on the uplink.
The callsign is made up of upper-case alpha and numeric ASCII characters only (7 bits). The
SSID is a four-bit integer that uniquely identifies multiple stations using the same amateur
callsign.
The 6 characters of the callsign are placed in the first 6 octets of the field. Each character
bits are shifted one bit on the left and the least significant bit is set to '0'.
The SSID is placed in the bits 3-6. The other bits of the field have a fixed value. Note that
the last bit differs from the Destination Address field. It indicates that the octet to which it
belongs is the last octet of the address fields.
Control Bits (8 bits)
The control field identifies the type of frame being passed and controls several attributes of
the Layer 2 connection. For an AX.25 Unnumbered Information Frame, its value is always
00000011 (0x03).
Protocol Identifier (8 bits)
Shall be 11110000 (0xF0).
2.1.4 Information Field (0 to 2048 bits)
The Information Field contains the data specific to the usage of the AX.25 Transfer Frame.
The maximum size of the Information Field is 2048 bits.
2.1.5 Frame-Check Sequence (16 bits)
The Frame-Check Sequence is a 16-bit number calculated by both the sender and the receiver
of a frame. It ensures that the frame was not corrupted by the transmission medium. The
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 9
of 13
Frame-Check Sequence is a CRC calculated using polynomial x16 + x12 + x5 + 1 (also
called CRC-CITT).
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 10
of 13
2.2 Telemetry Information Field usage
When the Transfer Frame is used as a Telemetry Transfer Frame, a Secondary Header shall be
present at the start of the Information Field before the transported data. An optional Time field
shall also be appended at the end.
AX.25 Transfer Frame Information Field (0-2048)
Telemetry Transfer Frame Secondary Header (32 bits)
Frame Identification (8 bits)
Version Virtual
Number Channel
ID
2
Spare
Data
Master Virtual
First
Frame Channel
Header
Count Frame
Pointer
Count
8
Telemetry Transfer Frame Trailer
(8-72 bits)
Frame Status (8 bits)
0-2008
Time
Flag
Spare
TC
Count
Time
0-64
2.2.1 Telemetry Transfer Frame Secondary Header (32 bits)
The Telemetry Transfer Frame Secondary Header is located at the beginning of the
Information Field. It adds supplementary information needed for proper communication with
the spacecraft.
Frame Identification (8 bits)
Version Number (2 bits)
These two bits (which occupy the two most significant bits of the 16-bit field) are
reserved for potential evolution of the Transfer Frame structure. In this standard, only
one version number (version 1) is recognized, which specifies the Transfer Frame
structure described herein. This number is '00'.
Virtual Channel ID (3 bits)
This 3-bit field enables up to eight Virtual Channels to be run concurrently by a particular
spacecraft on a particular physical data channel.
When only one Virtual Channel is foreseen to be on the physical data channel, the
number of the Virtual Channel shall be '0'. When more than one Virtual Channel exists,
Channel '0' shall always be transmitted whenever spacecraft time correlation is required.
Channel '0' is coded '000', Channel '1' is coded '001' and so forth, the last channel ('7')
being coded '111'.
The use of Virtual Channels enables the separation of the transmission flows of multiple
sources so for example the telecommands acknowledgements dont have to wait for the
payload to end filling up the Telemetry Transfer Frame.
Spare (3 bits)
This 3-bit field is reserved for future application. It is required that the field be set to the
value '000'.
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 11
of 13
Master Frame Count (8 bits)
The purpose of the Master Channel Frame Count field is to provide an 8-bit sequential upcount (modulo 256) of each Transfer Frame generated by the spacecraft on a given physical
data channel (the Master Channel). It allows the ground to detect the loss of a frame during
the transmission.
The counter must be left free-running, i.e. it shall not be short-cycled.
Virtual Channel Frame Count (8 bits)
The purpose of the Virtual Channel Frame Count field is to provide individual accountability
for each of the Virtual Channels. The 8-bit field represents a sequential up-count (modulo
256) of the frames assigned to each of the Virtual Channels. It is used in association with the
Virtual Channel ID field to maintain a separate counter for each of up to eight separate
Virtual Channels. Together with the Master Frame Count, it allows the ground to detect
from which Virtual Channel the lost frame was. Note that there is no mechanism for the
retransmission of lost frames; actions shall be taken at the application level if the contained
packets were to have to be retransmitted.
The counter must be left free-running, i.e. it shall not be short-cycled.
First Header Pointer (8 bits)
The First Header Pointer specifies the octet number within the data field (starting at octet 0,
which is the first octet of the frame data field) that contains the first octet of the first packet
header. It allows knowing where the first packets header is in the frame even if the previous
frame(s) were lost.
If no packet header starts in the data field, the First Header Pointer shall be set to 11111111
(all ones, 0xFF).
If the frame doesnt contains any packet fragment, i.e. raw payload data, the First Header
Pointer shall be set to 11111110 (all ones minus one, 0xFE).
2.2.2 Data (0 to 2008 bits)
This field, which must exist as an integral number of octets, contains user application data (e.g.
Telemetry Packets) to be transferred from the spacecraft to the ground.
Telemetry Packets shall be inserted contiguously into the data field on octet boundaries, the
location of the octet containing the first header being indicated by the First Header Pointer in
the frame header. Subsequent headers are located by examining the length field in each packet.
When the Virtual Channel is active and no data are available for transmission from any source,
a Telemetry Transfer Frame with only the headers (AX.25 and Secondary), the Time field and
an empty Data field shall be sent by the spacecraft data system for the purpose of keeping the
packet extraction process on ground synchronized. The First Header Pointer field shall be set
to 0xFF.
The maximum length of the frame data field is the maximum size of the I-Field (2048 bits)
minus the length of the header and trailer fields field, therefore 1952 to 2008 bits (244 to 251
octets) depending of the value of Time Flag.
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 12
of 13
2.2.3 Telemetry Transfer Frame Trailer (0 to 72 bits)
Frame Status (8 bits)
Time Flag (4 bits)
This 4-bit field gives the size of the Time Field located there after at the end of the
Information Field. The following values are applicable (bit 0 is the MSB):
Bit 0
Meaning
'0'
No Time field (bits 1-3 shall be set to '000').
'1'
Bits 1-3 provide the size of the Time field in octets + 1. E.g.:
'1000' means a Time field of 1 octet (8 bits).
'1111' means a Time field of 8 octets (64 bits).
Spare (2 bits)
This 2-bit field is reserved for future application. It is required that the field be set to the
value '00'.
Ideas: Last TC Frame Corrupted Flag, Safe-Mode Enabled Flag
TC Counter (2 bits)
This 2-bit field contains a sequential up-count (modulo 4) of each Telecommand Transfer
Frame received and declared valid. It allows the ground to detect if a Telecommand
Transfer Frame was received on-board or lost/corrupted during transmission. For the
detection to work properly, the Telemetry Transfer Frame generation rate must be greater
than the Telecommand Transfer Frame generation rate.
Time (0 to 64 bits)
This field contains the onboard time that correspond to moment the End Flag of the previous
frame was transmitted across all Virtual Channels (previous frame in the Master Frame Count).
The presence and size of this field depend of the value in the Time Flag field.
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF
Issue : 2
Rev : 0
Date : 06.11.2013
Page : 13
of 13
2.3 Telecommand Information Field Usage
A Telecommand Transfer Frame doesnt contain any additional field. Instead the telecommand data
is put directly inside the Information Field of the AX.25 Transfer Frame.
There can be only one Telecommand Packet per Telecommand Transfer Frame and it must fit in
the Information Field of one frame. Therefore the maximum size of a Telecommand Packet is 2048
bits (256 octets).
The Telecommand Transfer Frame Format has no support for Virtual Channels.
Ref.: QB50-EPFL-SSC-SCS-ICD-AX.25-TFF