User Tools

Site Tools


ch10_handbook:mil-std-1553_data

Export page to Open Document format

MIL-STD-1553 DATA

Type 0x18, MIL-STD-1553 Data, Format 0

Reserved for future use.


Type 0x19, MIL-STD-1553 Data, Format 1 (MIL-STD-1553B Data)

MIL-STD-1553 Data, Format 1 packets are used to record the MIL-STD-1553 message transactions on a bus. In general, the 1553 data packet will contain multiple 1553 messages.

The layout of the CSDW is shown below. The uMsgCnt field indicates the number of messages contained in the data packet. The uTTB field indicates the 1553 message bit to which the time tag corresponds.

struct Su1553F1_ChanSpec 
    { 
    uint32_t    uMsgCnt     : 24;       // Message count 
    uint32_t    Reserved    :  6; 
    uint32_t    uTTB        :  2;       // Time tag bits 
    };

Type 0x19 MIL-STD-1553 Data Format 1 CSDW

The individual 1553 messages follow the CSDW. Each 1553 message has an intra-packet time stamp, an intra-packet header data word, and then the actual 1553 message. The layout of the message header is shown below. The suIntPktTime field is an 8-byte value. The specific interpretation of this field is determined by packet header flags. This time is interpreted as a RTC value as depicted in Figure 6-5 if Secondary Headers are not enabled by Packet Flags, Bit 6. If Secondary Headers are enabled, then the format of the intra-packet time stamp is the same as the secondary header, determined by Packet Flags, Bits 2 and 3. These formats are depicted in Figure 6-6 and Figure 6-7. Various bit flags and values are found in the intra-packet data header.

// Intra-message header 
struct Su1553F1_Header 
    { 
    uint64_t    suIntPktTime;           // Reference time 
    uint16_t    Reserved1       : 3;    // Reserved 
    uint16_t    bWordError      : 1; 
    uint16_t    bSyncError      : 1; 
    uint16_t    bWordCntError   : 1; 
    uint16_t    Reserved2       : 3; 
    uint16_t    bRespTimeout    : 1; 
    uint16_t    bFormatError    : 1; 
    uint16_t    bRT2RT          : 1; 
    uint16_t    bMsgError       : 1; 
    uint16_t    iBusID          : 1; 
    uint16_t    Reserved3       : 2; 
    uint8_t     uGapTime1; 
    uint8_t     uGapTime2; 
    uint16_t    uMsgLen; 
    }; 

Type 0x19 MIL-STD-1553 Data Format 1 intra-packet header

The amount of data that follows the intra-packet header is variable. The data length in bytes is given in the uMsgLen field, and is necessary to determine the amount of additional data to read to complete the message.

The layout and order of 1553 Command Word(s), Status Word(s), and Data Word(s) in the recorded 1553 message is not fixed but rather is the same is it would be found “on the wire.” It's not therefore possible to define a fixed data structure representation for the message data. The first word in the data will always be a Command Word, but it will be necessary to use the Command Word as well as the bRT2RT flag to determine the offsets of the other message structures such as the Status and Data Word(s). The layouts of the various types of 1553 messages are shown in the figures below.

1553 Message word layout

1553 Broadcast message word layout

When calculating data word count, be careful to take Mode Codes and word count wrap around into account. An algorithm to determine the number of data words in a message is shown in C-like pseudo-code below. This algorithm only works for a message with no errors. Otherwise, Block Status Word bits and the Length Word are used to determine data and status words actually present.

// Mode Code case 
if (Subaddress = 0x0000) or (Subaddress = 0x001f) 
    if (WordCount & 0x0010) DataWordCount = 1 
    else                    DataWordCount = 0 
 
// Non-Mode Code case 
else 
    if (WordCount = 0)      DataWordCount = 32 
    else                    DataWordCount = WordCount 

Algorithm to determine 1553 data word count


Type 0x1A, MIL-STD-1553 Data, Format 2 (16PP194 Bus)

MIL-STD-1553, Format 2 packets are used to record data from the 16PP194 data bus. The 16PP194 data bus is used as the F-16 weapons multiplex bus. It is defined in document 16PP362A Weapons MUX (WMUX) Protocol. A 16PP194 transaction consists of six 32-bit words consisting of a 16PP194

Command, Command Echo, Response, GO/NOGO, GO/NOGO Echo and Status as illustrated below. Multiple transactions may be encoded into the data portion of a single packet.

16PP194 Message transaction

The layout of the CSDW is show below. The 16PP194 packet can contain multiple bus transactions. The uMsgCnt field indicates the number of 16PP194 messages in the packet.

 
struct Su1553F2_ChanSpec 
    { 
    uint32_t    uMsgCnt;            // Message count 
    }; 

Type 0x1A MIL-STD-1553 Data Format 2 (16PP194) CSDW

The 16PP194 message word is 26 bits in length and consists of 16 data bits, four address bits, four sub-address bits, a parity bit, and a sync bit. Only the 24 bits of data, address, and sub-address values are mapped into the 16PP194 recorded data word. Sync and parity bits are not recorded. The mapping of these bits is shown below.

16PP194 to IRIG 106 Chapter 10 data bit mapping

The layout of the recorded 16PP194 word is shown in below. The uDataWord field contains the message data. The uRiuSubAddr field is the Remote Interface Unit (RIU) sub-address. The uRiuAddr field is the RIU address. The bParityError flag indicates a parity error occurred during reception of the message. The bWordError flag indicates a Manchester decoding error occurred during reception of the message. The uGap field indicates the general range of gap time. The mapping of uGap values to gap time ranges can be found in the Chapter 10 standard. The uBusID field indicates the bus on which the message occurred. Bus identification can be found in the Chapter 10 standard.

 
struct SuSu16PP194_Word 
    { 
    uint32_t    uDataWord;      : 16;   // Data word contents 
    uint32_t    uRiuSubAddr     :  4;   // Parity error flag 
    uint32_t    uRiuAddr        :  4;   // Parity error flag 
    uint32_t    bParityError    :  1;   // Parity error flag 
    uint32_t    bWordError      :  1;   // Manchester error flag 
    uint32_t    uGap            :  3;   // Gap time indicator 
    uint32_t    uBusID          :  3;   // Bus ID indicator 
    }; 

16PP194 Word layout

The layout of a complete 16PP194 transaction is shown below.

 
struct Su16PP194_Transaction 
    { 
    struct Su16PP194_Word   suCommand; 
    struct Su16PP194_Word   suResponse; 
    struct Su16PP194_Word   suCommandEcho; 
    struct Su16PP194_Word   suNoGo; 
    struct Su16PP194_Word   suNoGoEcho; 
    struct Su16PP194_Word   suStatus; 
    }; 

16PP194 Transaction layout


Type 0x1B - 0x1F, MIL-STD-1553 Data, Format 3 - Format 7

Reserved for future use.

ch10_handbook/mil-std-1553_data.txt · Last modified: 2014/05/29 14:32 by bob