There are two different modes for frame sync: burst and TDM. The McASP frame sync generator logic is illustrated in Figure 24-122. I/O buffers are not part of the McASP module, and are not shown in the figure.
For the transmit logic, following frame-sync generator configurations can be selected:
- Internally/externally generated frame-sync via configuring bit MCASP_TXFMCTL[1] FSXM
- Frame-sync polarity: Rising edge or falling edge via configuring bit MCASP_TXFMCTL[0] FSXP
- Frame-sync width: "single bit" or "single word" via configuring bit MCASP_TXFMCTL[4] FXWID
- Frame sync mode - the appropriate frame sync generation pattern for the selected transfer mode is defined in the bitfield MCASP_TXFMCTL[15:7] XMOD, as follows:
- For DIT mode (384 slots) - MCASP_TXFMCTL[15:7] XMOD = 0x180
- For I2S mode (2 TDM slots) - MCASP_TXFMCTL[15:7] XMOD = 0x2
- For TDM mode (from 3 to 32 TDM slots) - MCASP_TXFMCTL[15:7] XMOD set in range 0x3 - 0x20
- Bit delay: 0, 1, or 2 cycles before the first data bit. This delay is defined in MCASP_TXFMT[17:16] XDATDLY
For the receive logic, following frame-sync generator configurations can be selected:
- Internally/externally generated frame-sync via configuring bit MCASP_RXFMCTL[1] FSRM
- Frame-sync polarity: Rising edge or falling edge via configuring bit MCASP_RXFMCTL[0] FSRP
- Frame-sync width: "single bit" or "single word" via configuring bit MCASP_RXFMCTL[4] FRWID
- Frame sync mode - the appropriate frame sync generation pattern for the selected transfer mode is defined in the bitfield MCASP_RXFMCTL[15:7] RMOD, as follows:
- For I2S mode (2 TDM slots) - MCASP_RXFMCTL[15:7] RMOD = 0x2
- For TDM mode (from 3 to 32 TDM slots) - MCASP_RXFMCTL[15:7] RMOD set in range 0x3 - 0x20
- For the special 384-slot TDM mode - MCASP_RXFMCTL[15:7] RMOD=0x180
- Bit delay: 0, 1, or 2 cycles before the first data bit. This delay is defined in MCASP_RXFMT[17:16] RDATDLY
- Selecting the source (AFSX or AFSR) of receiver internal frame synchronization. This is done in the same bit - MCASP_ACLKXCTL[6] ASYNC, used to define the receiver internal clock source. For more details, refer to Section 24.6.4.2.4.
Regardless of the AFSX/AFSR being internally generated or externally sourced, the polarity of AFSX/AFSR is determined by FSXP/FSRP, respectively, to be either rising or falling edge. If FSXP/FSRP = 0, the frame sync polarity is rising edge. If FSXP/FSRP = 1, the frame sync polarity is falling edge.
Note: Certain restrictions apply to the receive and transmit logic settings, when MCASP_ACLKXCTL[6] ASYNC is set to 0b0. They are described in Section 24.6.4.2.4.