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 :
-
Time (when ADU is generated)
-
Packet ident (APID)
-
Category (Section 7)
-
ADU count (modulo 64)
-
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 :
-
Time (when ADU is generated)
-
Packet ident (APID)
-
Category (Section 7)
-
ADU count (modulo 64)
-
Packet sequence (pour chaque ADU)
-
Packet sequence count (pour chaque ADU) modulo 65536
-
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
{
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
APID == 0x628 && categ == 33 && pkt_id == 0
APID == 0x528 && categ == 51 && pkt_id == 2
APID = 0x528 && categ = 61 && pkt_id == 3
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
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).
# 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