10.6 Data Format Definition
10.6.1 Common Packet Elements.
Data shall have three required parts, a Packet Header, a Packet Body, a Packet Trailer, and an optional part if enabled, a Packet Secondary Header. Single or multiple channel recordings will always conform to the structure outlined in Figure 10-4.
A packet has the basic structure shown in Figure 10-5. Note that the width of the structure is not related to any number of bits. This table is merely to represent relative packet elements and their placement within the packet. See Figure 10-6 for a diagram of the generic packet format. This figure does not depict the bit lengths of each field. Word sizes of 8-bit, 16-bit and 32-bit are used depending on the data type. To further clarify the packet layout, Figure 10-6 shows the generic packet in a 32-bit, little-endian format, and assumes 16-bit data words and data checksum.
PACKET SYNC PATTERN | Packet Header |
CHANNEL ID | |
PACKET LENGTH | |
DATA LENGTH | |
HEADER VERSION | |
SEQUENCE NUMBER | |
PACKET FLAGS | |
DATA TYPE | |
RELATIVE TIME COUNTER | |
HEADER CHECKSUM | |
TIME | Packet Secondary Header (Optional) |
RESERVED | |
SECONDARY HEADER CHECKSUM | |
CHANNEL SPECIFIC DATA | Packet Body |
INTRA-PACKET TIME STAMP 1 | |
INTRA-PACKET DATA HEADER 1 | |
DATA 1 | |
. . . . | |
INTRA-PACKET TIME STAMP n | |
INTRA-PACKET DATA HEADER n | |
DATA n | |
DATA CHECKSUM | Packet Trailer |
msb 31 |
16 | 15 | lsb 0 |
  |
CHANNEL ID | PACKET SYNC PATTERN | Packet Header | ||
PACKET LENGTH | ||||
DATA LENGTH | ||||
DATA TYPE | PACKET FLAGS | SEQUENCE NUMBER | HEADER VERSION | |
RELATIVE TIME COUNTER | ||||
HEADER CHECKSUM | RELATIVE TIME COUNTER | |||
TIME (LSLW) | (Optional) Packet Secondary Header | |||
TIME (MSLW) | ||||
SECONDARY HEADER CHECKSUM | RESERVED | |||
CHANNEL SPECIFIC DATA | Packet Body |
|||
INTRA-PACKET TIME STAMP 1 | ||||
INTRA-PACKET TIME STAMP 1 | ||||
INTRA-PACKET DATA HEADER 1 | ||||
DATA 1 WORD 2 | DATA 1 WORD 1 | |||
DATA 1 WORD n | . . . . | |||
INTRA-PACKET TIME STAMP 2 | ||||
INTRA-PACKET TIME STAMP 2 | ||||
INTRA-PACKET DATA HEADER 2 | ||||
DATA 2 WORD 2 | DATA 2 WORD 1 | |||
DATA 1 WORD n | . . . . | |||
. . . . | ||||
INTRA-PACKET TIME STAMP N | ||||
INTRA-PACKET TIME STAMP N | ||||
INTRA-PACKET DATA HEADER N | ||||
DATA N WORD 2 | DATA N WORD 1 | |||
DATA N WORD n | . . . . | |||
[FILLER] |   | |||
DATA CHECKSUM |   | Packet Trailer |
Depending on the data type, the size of the Data Checksum can be 16-bits, 32-bits, 8-bits, or left out entirely. For a 32-bit Data Checksum, the packet trailer would be as shown in Figure 10-7.
msb 7 |
lsb 0 |
  |
[FILLER] | Packet Trailer | |
DATA CHECKSUM (LSB) | ||
DATA CHECKSUM | ||
DATA CHECKSUM | ||
DATA CHECKSUM (MSB) |
For an 8-bit Data Checksum, the packet trailer would be as shown in Figure 10-8.
msb 7 |
lsb 0 |
  |
[FILLER] | Packet Trailer | |
DATA CHECKSUM |
The size of a single Packet may be a maximum of 524,288 bytes as shown in Table 10-5C. This includes the Packet Header, Packet Body, Packet Trailer, and optional Packet Secondary Header if enabled. The only exception to the packet size limit is the Computer Generated Data Packet, Format 1 Setup Record which may be a maximum of 134,217,728 bytes. Any Packet which requires more than 524,288 bytes may do so by utilizing the packet sequence counter and generating multiple packets. Some packet types allow a single data set to span multiple packets if the data set size or time does not fall under packet maximums. Consult the individual data types for the mechanisms that allow packet data spanning for a given type.
![]() |
With the exception of Computer Generated Packets all other packets shall be generated within 100 milliseconds whenever data is available. This requirement ensures that a packet shall contain less than or equal to 100 milliseconds worth of data, and that a packet containing any data must be generated within 100 milliseconds from the time the first data was placed in the packet. This strategy will assure packet granularity but save bandwidth by not forcing or marking empty/idle packets. |
![]() |
Packets can not contain only filler or can not be idle or empty. All packets that are generated shall contain data. |
![]() |
All reserved bit fields in packet headers or channel specific data words must be set to zero (0). |
![]() |
With the exception of Computer Generated Data Packets all other packets must be committed to a Stream within 10,000,000 counts of the 10 MHz Relative Time Counter contained in the packet header. |
PACKET TYPE | REQUIRED | MAXIMUM PACKET SIZE | REQUIRED PACKET LOCATION |
---|---|---|---|
Computer Generated Data Packet, Format 1 Setup Record | Yes | 134,217,728 bytes | First Packet in Recording. |
Time Data Packet | Yes | 524,288 bytes | First Dynamic Data Packet Following Setup Record Packet(s). Reference the Time Data Packet Description for packet rate. |
PCM, Mil-Std-1553, Analog, Message, Discrete, ARINC 429, Video, Image, UART, Computer Generated Data Packet, Format 2 Recording Events, Computer Generated Data Packet, Format 3 Recording Index (Node Index) | No | 524,288 bytes | After First Time Data Packet and before the first Computer Generated Data Packet Format 2, Recording Index (Root Index) if enabled. |
Computer Generated Data Packet, Format 3 Recording Index (Root Index) | Yes, if Recording Events are Enabled. No, if Recording Events are Disabled. | 524,288 bytes | If Recording Index Packets are enabled the Root Index Packet Type will be the last packet(s) in a recording. |
10.6.1.1 Packet Header.
The length of the packet header is fixed at 24 bytes (192-bits). The Packet Header is mandatory and shall consist of the ten fields, positioned contiguously, in the following sequence:
![]() |
Sequence Number counter will repeat (roll over to 0x00) if more that 256 packets are transferred in a given recording per channel. |
Bit 7: | Indicates the presence or absence of the Packet Secondary Header. 0 = Packet Secondary Header is not present. 1 = Packet Secondary Header is present. |
Bit 6: | Indicates the Intra-Packet Time Stamp Time Source. 0 = Packet Header 48-Bit Relative Time Counter. 1 = Packet Secondary Header Time (Bit 7 must = 1). |
Bit 5: | Relative Time Counter Sync Error. 0 = No Relative Time Counter sync error. 1 = Relative Time Counter sync error has occurred. |
Bit 4: | Indicates the Data Overflow Error. 0 = No data overflow. 1 = Data overflow has occurred. |
Bits 3-2: | Indicate the Packet Secondary Header Time Format. 00 = IRIG 106 Chapter 4 binary weighted 48-bit time format. The two LSB’s of the 64-bit Packet Secondary Header Time and Intra-Packet Time Stamp shall be zero filled. 01 = Reserved 10 = Reserved 11 = Reserved |
Bits 1-0: | Indicate Data Checksum existence. 00 = No data checksum present 01 = 8-bit data checksum present 10 = 16-bit data checksum present 11 = 32-bit data checksum present |
Packet Header Value | Data Type Name | Data Type Description |
---|---|---|
0x00 | Computer Generated Data, Format 0 | (User Defined) |
0x01 | Computer Generated Data, Format 1 | (Setup Record) |
0x02 | Computer Generated Data, Format 2 | (Recording Events) |
0x03 | Computer Generated Data, Format 3 | (Recording Index) |
0x04 - 0x07 | Computer Generated Data, Format 4 - Format 7 | (Reserved for future use) |
0x08 | PCM Data, Format 0 | (Reserved for future use) |
0x09 | PCM Data, Format 1 | (IRIG 106 Chapter 4) |
0x0A - 0x0F | PCM Data, Format 2 - Format 7 | (Reserved for future use) |
0x10 | Time Data, Format 0 | (Reserved for future use) |
0x11 | Time Data, Format 1 | (IRIG/GPS/RTC) |
0x12 - 0x17 | Time Data, Format 2 - Format 7 | (Reserved for future use) |
0x18 | MIL-STD-1553 Data, Format 0 | (Reserved for future use) |
0x19 | MIL-STD-1553 Data, Format 1 | (Mil-Std-1553B Data) |
0x1a - 0x1F | MIL-STD-1553 Data, Format 2 - Format 7 | (Reserved for future use) |
0x20 | Analog Data, Format 0 | (Reserved for future use) |
0x21 | Analog Data, Format 1 | (Analog Data) |
0x22 - 0x27 | Analog Data, Format 2 - Format 7 | (Reserved for future use) |
0x28 | Discrete Data, Format 0 | (Reserved for future use) |
0x29 | Discrete Data, Format 1 | (Discrete Data) |
0x2A - 0x2F | Discrete Data, Format 2 - Format 7 | (Reserved for future use) |
0x30 | Message Data, Format 0 | (Generic Message Data) |
0x31 - 0x37 | Message Data, Format 1 - Format 7 | (Reserved for future use) |
0x38 | ARINC 429 Data, Format 0 | (ARINC429 Data) |
0x39- 0x3F | ARINC 429 Data, Format 1 - Format 7 | (Reserved for future use) |
0x40 | Video Data, Format 0 | (MPEG-2 Video) |
0x41 | Video Data, Format 1 | (ISO 13818-1 MPEG-2 Bit Stream) |
0x42 - 0x47 | Video Data, Format 2 - Format 7 | (Reserved for future use) |
0x48 | Image Data, Format 0 | (Image Data) |
0x49 - 0x4F | Image Data, Format 1 - Format 7 | (Reserved for future use) |
0x50 | UART Data, Format 0 | (UART Data) |
0x51 - 0x57 | UART Data, Format 1 - Format 7 | (Reserved for future use) |
0x58 | IEEE-1394 Fire Wire Data, Format 0 | (IEEE-1394 Data) |
0x59 - 0x5F | IEEE-1394 Fire Wire Data, Format 1 - Format 7 | (Reserved for future use) |
0x60 | Parallel Data, Format 0 | (Parallel Data) |
0x61 - 0x67 | Parallel Data, Format 1 - Format 7 | (Reserved for future use) |
![]() |
This is a free-running 10 MHz binary counter represented by 48-Bits common to all data channels. The counter shall be derived from an internal crystal oscillator and shall remain free running during each recording session. The applicable data bit to which the 48-bit value APPLIES unless defined in each data type section shall correspond to the first bit of the data in the packet body. |
10.6.1.2 Packet Secondary Header (Optional).
The length of the Packet Secondary Header is fixed at 12 bytes (96-bits). The Packet Secondary Header is optional and when enabled shall consist of the three fields, positioned contiguously, in the following sequence:
10.6.1.3 Packet Body.
The format of the data in the packet body is unique to each channel type. Detailed descriptions of the type-specific data formats found in packet bodies are described in subsequent sections of this document.
![]() |
The Intra-Packet Time Stamp and the Intra-Packet Data Header are collectively called the Intra-Packet Header. In some cases an Intra-Packet Header may only have a Time Stamp (zero-length Data Header), while in other cases, the Intra-Packet Header only has a Data Header (zero-length Time Stamp). Some data types have no Intra-Packet Header. The Intra-Packet Header requirements are specified separately for each Data Type. |
10.6.1.4 Packet Trailer.
The packet trailer may contain filler, a data checksum, both filler and a data checksum, or neither filler nor a data checksum. In the latter case, the packet trailer has zero length. The reason a packet trailer would have a zero length is best explained by understanding the reason for inserting filler. The purpose of the filler is twofold: