Table of Contents
~~ODT~~
UART DATA
Type 0x50, Universal Asynchronous Receiver and Transmitter (UART) Data, Format 0 (UART Data)
UART Data, Format 0 packets are used to record character data from an asynchronous serial interface. Generally, the UART data packet will contain multiple buffers of serial data. The Chapter 10 standard has no provisions for specifying how characters will be grouped into blocks of data other than the 100 msec maximum data block time. It is common for recorder vendors to provide a mechanism for determining serial message boundaries and recording a complete serial message into a single UART data message based on detecting “dead time” between messages.
The layout of the CSDW is shown in Figure 6-45. The bIntraPckHdr flag is used to indicate if an optional intra-packet time stamp is included with each UART data message.
struct SuUartF0_ChanSpec { uint32_t uReserved : 31; uint32_t bIntraPckHdr : 1 } SuUartF0_ChanSpec;
The UART data message may have an optional intra-packet time stamp. If so, this time field will be an 8 byte value. Time is represented 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 layout of the UART Data message intra-packet data header is shown in Figure 6-46. The uDataLength value indicates the number of data bytes in the message. The uSubChannel value identifies the specific subchannel this data came from. The message data immediately follows the intra-packet data header. Note that an even number of bytes is allocated for UART data. If the data contains an odd number of bytes, then one unused filler byte is inserted at the end of the data. The bParityError flag indicates that errors have occurred in the reception of the data. The recorded data may, therefore, be invalid and unusable.
struct SuUartF0_DataHeader { uint16_t uDataLength : 16; // Num of bytes of UART data uint16_t uSubChannel : 14; // Subchannel for following data uint16_t uReserved : 1; uint16_t bParityError : 1; //Parity Error };
Chapter 10 of IRIG 106-07 (and prior editions of the standard) incorrectly state 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. This handbook is based on (and correlates to) the IRIG 106-07 edition; however the “bit 7” error will be corrected in future releases of this handbook.
Type 0x51 - 0x57, UART Data, Format 1 - Format 7
Reserved for future use.