The MCASP supports a burst transfer mode, which is useful for nonaudio data such as passing control information between two processors. Burst transfer mode uses a synchronous serial format similar to the TDM mode. The frame sync generation is not periodic or time-driven as in TDM mode, but data driven, and the frame sync is generated for each data word transferred.
When operating in burst frame sync mode (see Figure 12-18), as specified for transmit (MCASP_AFSXCTL[15-7] = 0 ) and receive (MCASP_AFSRCTL[15-7] RMOD = 0), one slot is shifted for each active edge of the frame sync signal that is recognized. Additional clocks after the slot and before the next frame sync edge are ignored.
In burst frame sync mode, the frame sync delay may be specified as 0, 1, or 2 serial clock cycles. This is the delay between the frame sync active edge and the start of the slot. The frame sync signal lasts for a single bit clock duration (MCASP_AFSRCTL[4] FRWID = 0, MCASP_AFSXCTL[4] FXWID = 0).
For transmit, when generating the transmit frame sync internally, the frame sync begins when the previous transmission has completed and when all the XBUFn (for every serializer set to operate as a transmitter) has been updated with new data.
For receive, when generating the receive frame sync internally, frame sync begins when the previous transmission has completed and when all the RBUFn (for every serializer set to operate as a receiver) has been read.
The control registers must be configured as follows for the burst transfer mode. The burst mode specific bit fields are in bold face:
- MCASP_PFUNC: The clock, frame, data pins
must be configured for MCASP function.
- MCASP_PDIR: The clock, frame, data pins
must be configured to the direction desired.
- MCASP_PDOUT, MCASP_PDIN,
MCASP_PDCLR: Not applicable. Leave at
default.
- MCASP_GBLCTL: Follow the initialization
sequence in Section 12.1.1.5.1.2, MCASP Global Initialization, to
configure this register.
- MCASP_AMUTE: Not applicable. Leave at
default.
- MCASP_DLBCTL: If loopback mode is desired, configure this register according to Section 12.1.1.4.14, MCASP Loopback Modes, otherwise leave this register at default.
- MCASP_DITCTL: DITEN must be left at default 0 to select non-DIT mode. Leave the register at default.
- MCASP_RMASK/MCASP_XMASK: Mask desired bits according to Section 12.1.1.4.4, MCASP Format Units.
- MCASP_RFMT/MCASP_XFMT: Program all fields according to data format desired. See Section 12.1.1.4.4, MCASP Format Units.
- MCASP_RFMT/MCASP_XFMT: Clear RMOD/XMOD bits to 0 to indicate burst mode. Clear FRWID/FXWID bits to 0 for single bit frame sync duration. Configure other fields as desired.
- MCASP_ACLKRCTL/MCASP_ACLKXCTL:
Program all fields according to bit clock desired.
See Section 12.1.1.4.2, MCASP Clock and Frame-Sync
Configurations.
- MCASP_AHCLKRCTL/MCASP_AHCLKXCTL:
Program all fields according to high-frequency
clock desired. See Section 12.1.1.4.2, MCASP Clock and Frame-Sync
Configurations.
- MCASP_RTDM/MCASP_XTDM: Program RTDMS0/XTDMS0 to 1 to indicate one active slot only. Leave other fields at default.
- MCASP_RINTCTL/MCASP_XINTCTL: Program all fields according to interrupts desired.
- MCASP_RCLKCHK/MCASP_XCLKCHK: Not applicable. Leave at default.
- MCASP_SRCTLn: Program SRMOD to inactive/transmitter/receiver as desired. DISMOD is not applicable and should be left at default (n = 0 to 15).
- MCASP_DITCSRAi, MCASP_DITCSRBi, MCASP_DITUDRAi, MCASP_DITUDRBi: Not applicable. Leave at default (i = 0 to 5).