1112
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Multichannel Audio Serial Port (McASP)
24.0.21.2.3.3 DIT Channel Status and User Data Register Files
The channel status registers (DITCSRA
n
and DITCSRB
n
) and user data registers (DITUDRA
n
and
DITUDRB
n
) are not double buffered. Typically the programmer uses one of the synchronizing interrupts,
such as last slot, to create an event at a safe time so the register may be updated. In addition, the CPU
reads the transmit TDM slot counter to determine which word of the register is being used.
It is a requirement that the software avoid writing to the word of user data and channel status that are
being used to encode the current time slot; otherwise, it will be indeterminate whether the old or new data
is used to encode the bitstream.
The DIT subframe format is defined in
. The channel status information (C) and user
data (U) are defined in these DIT control registers:
•
DITCSRA0 to DITCSRA5: The 192 bits in these six registers contain the channel status information for
the LEFT channel within each frame.
•
DITCSRB0 to DITCSRB5: The 192 bits in these six registers contain the channel status information for
the RIGHT channel within each frame.
•
DITUDRA0 to DITUDRA5: The 192 bits in these six registers contain the user data information for the
LEFT channel within each frame.
•
DITUDRB0 to DITUDRB5: The 192 bits in these six registers contain the user data information for the
RIGHT channel within each frame.
The S/PDIF block format is shown in
. There are 192 frames within a block (frame 0 to frame
191). Within each frame there are two subframes (subframe 1 and 2 for left and right channels,
respectively). The channel status and user data information sent on each subframe is summarized in
.
24.0.21.3 Data Transmission and Reception
The CPU services the McASP by writing data to the XBUF register(s) for transmit operations, and by
reading data from the RBUF register(s) for receive operations. The McASP sets status flag and notifies
the CPU whenever data is ready to be serviced.
discusses data ready status in detail.
The XBUF and RBUF registers can be accessed through one of the two peripheral ports of the device:
•
The DMA port: This port is dedicated for data transfers on the device.
•
The peripheral configuration port: This port is used for both data transfers and peripheral configuration
control on the device.
and
discuss how to perform transfers through the DMA bus and
the peripheral configuration bus.
Either the CPU or the DMA can be used to service the McASP through any of these two peripheral ports.
The CPU and DMA usages are discussed in
and
.