Data frames format

Low level data frame header :

  • Data [0] = 0x01 : First data 0x04 : Final data 0x02 : Normal data

With First data : data [13..17] = passno data [18] = sat ID

For other kind of data:

  • Data [8..11] = len

Remaining data [12,..] are copied into read_pkt data structure:

  • 64 bytes structure (including ad_tim)

  • CCSDS header

ADU : Application Data Unit

C’est une paquet de données au sens de l’instrument.

Elle doit fournir, dans la seconde entête CCSDS du TM packet les infos suivantes :

  1. Time (when ADU is generated)

  2. Packet ident (APID)

  3. Category (Section 7)

  4. ADU count (modulo 64)

  5. Packet sequence (pour chaque ADU)

MMO TM packet

Division des ADU en plusieurs parties pour la transmission.

Pour chaque TM packet, la seconde entête CCSDS contient :

  1. Time (when ADU is generated)

  2. Packet ident (APID)

  3. Category (Section 7)

  4. ADU count (modulo 64)

  5. Packet sequence (pour chaque ADU)

  6. Packet sequence count (pour chaque ADU) modulo 65536

  7. ADU length

Décomposition

Si le paquet ADU contient dans un MMO TM packet, l’entête est constituée :

  • CCSDS header 1 (6 octets)

  • CCSDS header 2 (7 octets)

  • 1 octet vide

Si le paquet ADU doit être partagé en plusieurs MMO TM packet, l’entête est alors constituée de :

  • CCSDS header 1 (6 octets)

  • CCSDS header 2 (12 octets)

Les champs Packet Sequence Count (16 bits) et ADU lenth (24 bits) sont ajoutés en fin de header 2

Cf. page 67 MMO Telemetry/Command Design Criteria

Format des trames

CCSDS Header 1

CCSDS Primary Header
{
        colwidth = 16
        colheight=2
        node_height = 30
        0-2 : Version
        3 : Type
        4: Sec header flag [rotate = left]
        5-15: APID
        16-17: Sequence flag
        18-31: Sequence count
        32-47: Packet length
}

CCSDS Header 2

Node identification

HK
APID == 0x628 && categ == 33 && pkt_id == 0
L MODE
APID == 0x528 && categ == 51 && pkt_id == 2
M MODE
APID = 0x528 && categ = 61 && pkt_id == 3
H MODE
APID = 0x528 && categ in (71,81,91,101,111,121) && pkt_id in (5,6,7,8,9)

For each mode, pcs_flag field indicate:

11 : unique
01 : start
20 : continue
10 : stop

Memory Dump data

We find some description of data APID in the following document:

See : Table 4.2.2 : Application Process ID for Telemetry

APID is composed by several binary fields:

  • Common use (3 bits)

100 : Report telemetry
101 : Mission telemetry
110 : HK telemetry
111 : Dump telemetry
  • Node ID (5 bits)

Binary : Hexadecimal : Meaning

00001 : 01 : DMC
00010 : 02 : PCD
00011 : 03 : MDP1
00100 : 04 : MDP2
00101 : 05 : MEA1
00110 : 06 : MEA2
00111 : 07 : MIA
01000 : 08 : MSA
01001 : 09 : HEP-e
01010 : 0A : HEP-i
01011 : OB : ENA
  • Component extension bits (3 bits)

000 : Fixed
Example :
MEA1 SC data : 101 00101 000 => 0x528
MEA1 HK data : 110 00101 000 => 0x628
MEA1 memDump : 111 00101 000 => 0x728

MEA2 SC data : 101 00110 000 => 0x530
MEA2 HK data : 110 00110 000 => 0x630
MEA2 memDump : 111 00110 000 => 0x730

Unfortunately, APID 0x728 and 0x730 doesn’t work to download memory DUMP.

Memory dump

It seems that memory dump are only available for MDP1 and MDP2, not for usual instruments.

MDP1 memdump : 111 00011 000 => 0x718
MDP2 memdump : 111 00100 000 => 0x720

In order to obtain memory dump data for MEA, we have to download MDP1 Memory Dump (APID = 0x718), which is handling MEA1 and MEA2 instruments.

Therefore, we have to parse memory dump content to isolate memory dump for each instrument, using NODE_ID field (05 for MEA1, 06 for MEA2).

Example
# Date    : 2012-355T19:17:30.382000Z
# APID    : 0718
# Seq     : 00
# Header  : 00 00 02 05 01 05 00 00 06 00
# Time    : 01
# Node ID : 05
# Address : 00 00 06 00
#
00000600 : 02 1A 02 16 02 11 02 0D 02 09 02 05 02 00 01 FC
00000610 : 01 F8 01 F4 01 EF 01 EB 01 E7 01 E3 01 DE 01 DA
00000620 : 01 D6 01 D2 01 CE 01 C9 01 C5 01 C1 01 BD 01 B8
00000630 : 01 B4 01 B0 01 AC 01 A7 01 A3 01 9F 01 9B 01 96
00000640 : 01 92 01 8E 01 8A 01 86 01 81 01 7D 01 79 01 75
00000650 : 01 70 01 6C 01 68 01 64 01 5F 01 5B 01 57 01 53
00000660 : 01 4E 01 4A 01 46 01 42 01 3E 01 39 01 35 01 31
00000670 : 01 2D 01 28 01 24 01 20 01 1C 01 17 01 13 01 0F
00000680 : 01 0B 01 07 01 02 00 FE 00 FA 00 F6 00 F1 00 ED
00000690 : 00 E9 00 E5 00 E0 00 DC 00 D8 00 D4 00 CF 00 CB
000006A0 : 00 C7 00 C3 00 BF 00 BA 00 B6 00 B2 00 AE 00 A9
000006B0 : 00 A5 00 A1 00 9D 00 98 00 94 00 90 00 8C 00 87
000006C0 : 00 83 00 7F 00 7B 00 77 00 72 00 6E 00 6A 00 66
000006D0 : 00 61 00 5D 00 59 00 55 00 50 00 4C 00 48 00 44
000006E0 : 2E E3 2D E5 2C E7 2B E9 2A EB 29 EC 28 EE 27 F0
000006F0 : 26 F2 25 F4 24 F6 23 F8 22 FA 21 FC 20 FE 20 00
00000700 : A3 AD A0 F0 28 F7 BA 96 50 5F C4 75 4C D3 61 15
00000710 : 86 D7 F1 27 E1 5A E6 5A 49 D6 AF 13 20 9D 19 6E
00000720 : 30 8B A5 B2 C4 8A 01 03 32 78 7E B1 C0 AD D1 7A
00000730 : 9A 44 09 90 97 E6 8C 15 07 4B A6 0D DC FD 69 53
00000740 : D7 1E 68 40 16 D2 E1 2D D0 29 02 81 EA 4E C0 F9
00000750 : C0 3F B7 37 95 D2 0B 17 71 67 BD A8 1A 22 1F 0C
00000760 : BA 16 AB 87 82 1E 97 CC AF C2 DB C1 09 9A 48 94
00000770 : 89 66 4A 6F 5B 6C F9 61 D6 42 7D 28 83 24 45 C3
00000780 : CA D4 48 86 13 62 83 02 97 AF 10 F0 D0 AD 12 6A
00000790 : 2F CC 51 32 8F 6B 2C AA D7 25 05 2E 07 7A 0B 3F
000007A0 : FF 30 78 EF BB 35 D0 9D 9F FA 9A 18 7D 38 AA 61
000007B0 : 62 7A BF 06 94 36 A9 41 B5 AA 91 86 C6 DE 2B F0
000007C0 : D9 71 7F AD 74 93 55 EA 61 9D E7 06 00 87 28 5E
000007D0 : B3 34 A0 DB A2 11 84 E8 B5 08 F2 C8 6D 6A 15 D9
000007E0 : 70 25 10 98 9A 14 5B 03 5B 2B D5 A4 0F 84 D0 27
000007F0 : B2 F2 E4 70 F9 20 DA A7 D5 D2 B4 08 CD 92 6A 77