User Tools

Site Tools


ch10_handbook:message_data

Export page to Open Document format

MESSAGE DATA

Type 0x30, Message Data, Format 0 (Generic Message Data)

Message Data packets are used to record data from sources that do not have a defined packet type in the Chapter 10 standard. Examples of this might be the H-009 bus found on older F-15 aircraft or the High Speed Data Bus (HSDB) bus found on older F-16 aircraft. The Chapter 10 standard implies that Message Data packets represent “serial” communications data. In practice, there are few restrictions on the content or source of the data for Message Data packets.

Message Data packets do not contain any field to indicate what format or type of data they contain or how to interpret the data contents. Message Data packets are distinguished by their Channel ID and Subchannel values. The TMATS setup provides fields specifying a subchannel name (R-x\MCNM-n-m) for each subchannel number (R-x\MSCN-m-n) and Channel ID (R-x\TK1-m). Use the subchannel name to determine how to decode each Channel ID / subchannel combination. There currently is no standard for subchannel names and no registry of “well known” names.

Individual Message Data messages are restricted to no more than 65,536 (64k) bytes. A Message Data packet can contain multiple data messages, a single data message, or a segment of a large (greater than 64k) data message. A Message Data packet consists of a CSDW followed by one or more messages. The layout of the CSDW is shown in Figure 6-34. The uType value indicates whether the data is a complete message or a segment of a large message. The uCounter value indicates either the number of data packets to follow or, for the segmented case, the segment number of the large data packet segment that follows.

 
struct SuMessageF0_ChanSpec 
    { 
    uint32_t    uCounter    : 16;   // Message/segment counter 
    uint32_t    uType       :  2;   // Complete/segment type 
    uint32_t    uReserved   : 14; 
    } SuMessageF0_ChanSpec; 

Type 0x30 Message Data Format 0 CSDW

The layout of the Message Data message intra-packet header is shown in Figure 6-35. Each header contains a time stamp and some additional information about the data that follows in the message. The suIntraPckTime field in the intra-packet data structure represents event time in either 48-bit relative time format derived from the RTC (format shown in Figure 6-5) , or as absolute time. If this time is absolute time, it is in either Chapter 4 weighted 48-bit time (format shown in Figure 6-6) or IEEE 1588 time format (format shown in Figure 6-7). The uMsgLength value indicates the number of data bytes in the message. The uSubChannel value identifies the specific subchannel from which this data came. The message data immediately follows the intra-packet header. Note that an even number of bytes is allocated for message data. If the data contains an odd number of bytes, then one unused filler byte is inserted at the end of the data. The bFmtError and bDataError flags indicate that errors have occurred in the reception of the data. The recorded data may, therefore, be invalid and unusable.

struct SuMessageF0_Header 
    { 
    uint64_t    suIntraPckTime;         // Reference time 
    uint32_t    uMsgLength      : 16;   // Message length 
    uint32_t    uSubChannel     : 14;   // Subchannel number 
    uint32_t    bFmtError       :  1;   // Format error flag 
    uint32_t    bDataError      :  1;   // Data error flag 
    }; 

Type 0x30 Message Data Format 0 intra-packet header

The IRIG 106-07 Chapter 10 standard, and earlier versions, incorrectly states that Bit 7 of the Packet Flags (in the packet header) is used to determine if the intra-packet time is relative time or absolute time. The correct bit to use is Bit 6. It is anticipated that with will be corrected in a future release.


Type 0x31 - 0x37, Message Data, Format 1 - Format 7

Reserved for future use.

ch10_handbook/message_data.txt · Last modified: 2014/05/29 14:40 by bob