Neutral Gas and Ion Mass Spectrometer (NGIMS)

 

NGIMS Telemetry Data Format

 

 

 

For CONTOUR NGIMS

 

 

 

 

 

Prepared by:

 

 

 

 

_________________________

Florence Tan

NGIMS Engineer

 

 

Approved by:

 

 

 

_________________________

Jack Richards

NGIMS Instrument Manager

 

 


1.0 Scope

 

This document describes the telemetry data format of the Neutral Gas and Ion Mass Spectrometer (NGIMS) on the CONTOUR spacecraft.

 

2.0 Overview

 

The NGIMS instrument is commanded via a 1553 bus on the CONTOUR spacecraft. The 1553 bus schedule can be found on the CONTOUR website at: https://sd-forum.jhuapl.edu/CONTOUR/.

 

2.1 Definitions

 

            1 byte = 8 bits

            1 word = 2 bytes = 16 bits

            MSB = Most significant byte

            LSB = Least significant byte

2.2 Conventions

For all multi-bit or multi-byte numbers, the first byte sent has the most numerical significance; this is so-called "big-endian" format. This convention applies to arguments in commands, data in telemetry, and messages over the 1553 bus.

 

3.0 References

 

  1. APL Document 7379-9303 CONTOUR 1553 Bus Specification Version 1.03 June 11, 2001
  2. Document GSFC/NGIMS-FSW-06-Telemetry-v_2_9.doc at http://ngims.gsfc.nasa.gov under the software folder. Please call me at 301-614-6392 if you do not know the username and password.
  3. Add CCSDC document link here

 

4.0 NGIMS Telemetry Data

 

The spacecraft Command & Data Handling (C&DH) system collects telemetry from NGIMS over the 1553 bus. NGIMS produces 2 types of telemetry data:

·        NGIMS non-packetized data

·        NGIMS CCSDS format packets

 

4.1 NGIMS Non-packetized Data Format

            The C&DH system picks up a 16-byte non-packetized housekeeping record every second. The contents can be incorporated into C&DH autonomy processing. The C&DH system also assembles the data into a housekeeping packet. The format of the non-packetized housekeeping record is instrument-specific. (details of format here – to be inserted at a later date)

 

4.2 NGIMS CCSDC Packets

 

            The C&DH system collects up to 2.6 CCSDS packets from NGIMS every second. All CONTOUR CCSDS packets are 244 bytes long including the CCSDS headers (see Reference 3).

            The NGIMS CCSDS primary header occupies six bytes and leaves 238 bytes for the data payload. This format differs from the prescribed CONTOUR CCSDS format because NGIMS did not to have the secondary header bit set. If the secondary header bit is set, the next 4 bytes make up secondary header. Thus, NGIMS’ MET is not in the expected 4 bytes following the CCSDS’ primary header. Table 1 describes the NGIMS packet format:

 

Table 1. NGIMS CCSDS Packet Format

Name

Length (bits)

Value

Description

NGIMS Primary Header

48

See Table 2

CCSDS primary header

Data

238 * 8

See Table 4, 7, and 9

Data payload

 

4.2.1 NGIMS Primary Header Format

 

            As mentioned, NGIMS’ secondary header bit is not set, indicating the absence of the secondary header in the packet. Instead, as can be seen later, NGIMS places its MET within each of its subscan data.

 


Table 2. NGIMS Primary Header Format

Name

Length (bits)

Value

Description

Version

3

000

Designates a source packet

Type

1

0

Designates a telemetry packet

Secondary?

1

0

Secondary header is not present

Application Process ID

11

100 1xxx xxxx

NGIMS, see Table 3

Grouping

2

11 = None

Grouping flags

Sequence Count

14

Unsigned integer

Continuous sequence count for each Application Process ID

Length

16

237

(Total Number of bytes – 1) in packet

 

            The application process ID in the primary header identifies the type of packet. On CONTOUR, the eleven-bit id is divided into a four-bit source and a seven-bit data id. This gives each source up to 128 possible packet types that can be produced. The three packet types produced by NGIMS are as described:

Table 3. Packet Types

Product

Application Process ID (binary)

When Sent

Subscan

000 0000

Once every 0.495s

Memory Dump

000 0001

On demand

Command Acknowledge

000 0010

On receipt of each command

 

4.2.2 NGIMS Subscan Packet

 

            The NGIMS Subscan data is differentiated by the application process ID (APID = 0x0480) in the Primary Header and is used to transmit science subscan data. Each packet has the following format:

Table 4. NGIMS Subscan Packet Format

Name

Length (bits)

Value

Description

NGIMS Primary Header

48

See Table 1 and 2

CCSDS primary header

NGIMS Subscan Offset

16

See Table 5

Offset in 16-bit words

NGIMS Subscan Data

202 * 8

See Table 6

Subscan Science Data (1 subscan = 160 bytes, more than 1 subscan can fit here)

NGIMS Subscan Housekeeping Data

34*8

See Table ?

State of health data

 

Each NGIMS CCSDS data packet consists of a 6-byte header and 238-byte data payload. Of the 238 bytes of data payload, 202 bytes are allocated for the transmittal of subscan science data. Each subscan produces 160 bytes of science data. Thus, each NGIMS CCSDS data packet can transmit 202/160 or 1.2625 subscans of science data.

 

4.2.2.1 NGIMS Subscan Offset

 

Table 5. NGIMS Subscan Offset Word Format

Name

Length (bits)

Value

Description

Subscan Offset

7

Unsigned integer

Indicates the word offset to the first subscan within the data section of the packet.  A value of zero means the first subscan begins at the first word of the Science Data section (the word immediately following the NGIMS header).

spare

9

spare

spare

 

4.2.2.2 NGIMS Subscan Data

            As described in Section 4.2.2, instead of coercing NGIMS subscan data to fit into the fixed size CONTOUR packets, NGIMS packs 160 bytes of fixed-sized Subscan Science data that “float” through its allocated 202 bytes of subscan data as part of 238 bytes of fixed-size data portion of the CCSDS packets (see Tables 1 and 4). The offset field in the Subscan Offset (see Table 5) points to the word offset of the NGIMS subscan science packet within the packet.

            Ground software can use the Application Process ID field from NGIMS Primary Header and the offset field in the NGIMS Subscan Offset word to extract a stream of subscans. Initially, the ground software can synchronize using "offset” to find the first subscan. The subsequent subscan can be found by adding the length of the subscan (80 words) to the offset. The next subscan may begin in the current packet or in the following packet. Each packet contains at least one full subscan science and up to parts of 2 subscan science data.

            The subscan data can appear in this order:

·        partial subscan, full subscan, partial subscan, or

·        partial subscan, full subscan, or

·        full subscan, partial subscan

If offset = 0, the next word is the beginning of the subscan.

The format of a full Subscan Science Data that “floats” within the 202 byte NGIMS subscan data space (see Table 4) is as follows:

Table 6. NGIMS Subscan Science Data Packet Format

Name

Length (bits)

Value

Description

Sync Word

16

EB90 h

Indicates the start of science subscan packet

MET MSB

16

Unsigned integer

MSB MET in seconds

MET LSB

16

Unsigned integer

LSB MET in seconds

Frac MET

16

Unsigned integer

Fractional MET in 1/256 s

Data

152 * 8

 

Subscan data

 

4.2.2.3 NGIMS Subscan Data

 

 

Add more information about subscan data and fixed housekeeping.

 

 

4.2.2.4 NGIMS Subscan Housekeeping

 

 

4.2.3 NGIMS Memory Dump Packet

            The NGIMS Memory Dump Packet is differentiated by the application process ID (APID = 0x0481) in the NGIMS Primary Header and is used to transmit memory contents of RAM, IORAM, EEPROM1, and EEPROM2 in the NGIMS hardware. Memory dump packets consist of CONTOUR CCSDS headers, dump source, a dump start address, dump length (in words TBC), 228 bytes of dump data, and 4 spare bytes.  Each packet has the following format:

 

Table 7. Memory Dump Packet Format

Name

Length (bits)

Value

Description

Header

48

See Table 1

CCSDS primary

 

16

See Table 2

NGIMS header

 

16

Unsigned Integer

Indicates the serial number of the dump command

Dump Source

16

See Table 8

Indicates source of dump data

Start Address

16

Unsigned Integer

Indicates start address of dump

Length

16

Unsigned Integer

Indicates length (in number of words) of dump

Data

222 * 8

 

Dump data

MSB

16

Unsigned Integer

 

LSB

16

Unsigned Integer

 

Spare

4 * 8

 

Spare bytes

 
4.2.3.1 NGIMS Memory Dump Source Word Format

 

Table 8. NGIMS Memory Dump Source Word Format

Name

Length (bits)

Value

Description

Source

2

Unsigned Integer

0 = RAM, 2 = EERPROM, 3=IORAM (TBC)

 

 

Chip

1

 

0 = EEPROM0, 1= EEPROM1

spare

9

spare

spare

 

4.2.4 NGIMS Command Acknowledge Packet

 

            An application process ID of 0x0482 in the NGIMS Primary Header indicates a Command Acknowledge Packet. NGIMS echoes the op code, the first parameter, and the serial number of each command it receives. Up to 8 commands are echoed per Command Acknowledge Packet. NGIMS is limited to receiving a maximum of 8 commands per second and thereby, echoing up to 8 commands per packet. An OpCode of zero indicates the end of the Command Echo block. Each packet has the following format:

 

Table 9. Command Acknowledge Packet Format

Name

Length (bits)

Value

Description

NGIMS Primary Header

48

See Table 1

CCSDS Primary Header

MET MSB

16

Unsigned integer

MSB MET in seconds

MET LSB

16

Unsigned integer

LSB MET in seconds

Telecommands Received

16

Unsigned integer

Total telecommands received

Telecommands Rejected

16

Unsigned integer

Total telecommands rejected

Total Commands

16

Unsigned integer

Total number of commands echoed in the packet

Echo OpCode 1

16

See Table 10

Op code of command received

Echo Data word 1

16

Unsigned integer

First word parameter of command received

Echo serial number 1

16

See Table 11

Serial number of command received

Up to 7 more groups 3 echo info

7 * 16 * 3

 

See above 3 rows

End of packet

16

0000

Indicate end of command echo block

Spare

206 * 8

 

Spare bytes

 

4.2.4.1 NGIMS Echo Opcode Word Format

 

Table 10. NGIMS Echo Opcode Word Format

Name

Length (bits)

Value

Description

vc

1

 

 (TBC)

valid

1

 

 (TBC)

spare

6

spare

spare

opcode

8

 

 Op code of command received

 

4.2.4.1 NGIMS Echo Serial Number Word Format

 

Table 11. NGIMS Echo Serial Number Word Format

Name

Length (bits)

Value

Description

Destination

2

 

TBC

Serial Number

14

 

 Op code of command received

 

5.0 Summary

 

            NGIMS produces two types of telemetry:

·        CCSDS packets

·        non-packetized data

 

            The CCSDS packets consist of 3 types: subscan, memory dump and command acknowledge and differentiated by the application process ID within the CCSDS primary header, 0x480 (Table 4), 0x481 (Table 7), and 0x482 (Table 9), respectively.

6.0 Acronyms

 

Table 12. Acronyms

Acronym

Definition

BC

Bus Controller

CCSDS

Consultative Committee for Space Data Systems

C&DH

Command & Data Handling

CFI

CONTOUR Forward Imager

CONTOUR

COmet Nucleus TOUR

CRISP

CONTOUR Remote Imager/Spectrometer

DPU

Data Processing Unit

EEPROM

Electrically Erasable Programmable ROM

MET

Mission Elapsed Time

NGIMS

Neutral Gas and Ion Mass Spectrometer

RAM

Random Access Memory

ROM

Read Only Memory

RT

Remote Terminal

S/C

Spacecraft

TBC

To Be Confirmed

TBD

To Be Determined

XOR

eXclusive OR