User Tools

Site Tools


ch10_handbook:pcm_data

Export page to Open Document format

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;   // 
    } 

Type 0x09 PCM Data Format 1 CSDW

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;   // 
    }; 

Type 0x09 PCM Data Format 1 intra-packet data header

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

ch10_handbook/pcm_data.txt · Last modified: 2014/07/16 02:04 by christianr