Table of Contents
~~ODT~~
PCM DATA
Type 0x08, PCM Data, Format 0. Reserved for future use
Type 0x09, PCM Data, Format 1 (IRIG 106 Chapter 4/8)
PCM Data, Format 1 packets are used to record Pulse Code Modulation (PCM) data frames. PCM data is a serial stream of bits from multiple interleaved data sources. Each data source generally operates at a different data rate and have their digital data interleaved in a fixed, defined fashion. The data from these multiplexed data sources are organized into major frames and minor frames. PCM Data
Format 1 records minor frames as integral units of data. In general, the PCM data packet will contain multiple PCM minor frame data messages in packed and unpacked mode. There is extensive discussion of PCM in IRIG 106 Chapter 4, Chapter 8, and Appendix C, as well as RCC Document 119 (Telemetry Applications Handbook).
The PCM minor frame data is recorded in one of three major modes; Unpacked Mode, Packed Mode, and Throughput Mode. In Unpacked Mode, packing is disabled and each data word is padded with the number of filler bits necessary to align the first bit of each word with the next 16-bit boundary in 16-bit alignment mode, or the next 32-bit boundary in 32-bit boundary mode. In Packed Mode, packing is enabled and padding is not added to each data word. However, filler bits may be required to maintain minor frame alignment on word boundaries. In Throughput Mode, the PCM data are not frame synchronized so the first data bit in the packet can be any bit in the major frame. Chapter 10 discusses these modes in greater detail.
The layout of the CSDW is shown in Figure 6-16. The uSyncOffset field is the value of the byte offset into a major frame for the first data word in a packet, and is only valid in Unpacked Mode. The bUnpackedMode, bPackedMode, and bThruMode flags indicate Unpacked Mode, Packed Mode, and Throughput Mode respectively and are mutually exclusive. The bAlignment flag indicates 16 or 32-bit alignment of minor frames and minor frame fields. The uMajorFrStatus field indicates the lock status of the major frame. The uMinorFrStatus indicates the lock status of the minor frame. The bMinorFrInd flag indicates the first word of the packet is the beginning of a minor frame. The bMajorFrInd flag indicates the first word of the packet is the beginning of a major frame. The bIntraPckHdr flag indicates the presence of intra-packet headers.
struct SuPcmF1_ChanSpec { uint32_t uSyncOffset : 18; // Sync offset uint32_t bUnpackedMode : 1; // Packed mode flag uint32_t bPackedMode : 1; // Unpacked mode flag uint32_t bThruMode : 1; // Throughput mode flag uint32_t bAlignment : 1; // 16/32-bit alignment flag uint32_t Reserved1 : 2; // uint32_t uMajorFrStatus : 2; // Major frame lock status uint32_t uMinorFrStatus : 2; // Minor frame lock status uint32_t bMinorFrInd : 1; // Minor frame indicator uint32_t bMajorFrInd : 1; // Major frame indicator uint32_t bIntraPckHdr : 1; // Intra-packet header flag uint32_t Reserved2 : 1; // }
The optional intra-packet header and individual PCM minor frame messages follow the CSDW. The format of the intra-packet data header is shown in Figure 6-17. The suIntrPckTime value is an eight byte representation of 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 intra-packet header, indicated by bIntraPckHdr = 1, is required for unpacked and packed mode. It is prohibited for throughput mode. The uMajorFrStatus field indicates the lock status of the major frame. The uMinorFrStatus indicates the lock status of the minor frame.
struct SuPcmF1_Header { uint64_t suIntraPckTime; // Reference time uint32_t Reserved : 12; // uint32_t uMajorFrStatus : 2; // Major frame lock status uint32_t uMinorFrStatus : 2; // Minor frame lock status uint32_t Reserved : 16; // };
One minor frame of data follows the intra-packet data header. The length of the minor frame data is not included in the data packet. The data length must be determined from the number of bits in a minor frame specified in the TMATS parameter P-d\MF2. Minor frames will have padding bits added to the end to make them 16 or 32-bit aligned depending on the value of bAlignment flag in the CSDW.
Type 0x0A, 0x0F PCM Data, Format 2 - Format 7
Reserved for future use