Functional Description
22.3.10.3 Formatter
22.3.10.3.1 Transmit Bit Stream Data Alignment
The McASP transmitter supports serial formats of:
•
Slot (or Time slot) size = 8, 12, 16, 20, 24, 28, 32 bits.
•
Word size
≤
Slot size.
•
Alignment: when more bits/slot than bits/words, then:
–
Left aligned = word shifted first, remaining bits are pad.
–
Right aligned = pad bits are shifted first, word occupies the last bits in slot.
•
Order: order of bits shifted out:
–
MSB: most-significant bit of word is shifted out first, last bit is LSB.
–
LSB: least-significant bit of word is shifted out last, last bit is MSB.
Hardware support for these serial formats comes from the programmable options in the transmit bitstream
format register (XFMT):
•
XRVRS: bit reverse (1) or no bit reverse (0).
•
XROT: rotate right by 0, 4, 8, 12, 16, 20, 24, or 28 bits.
•
XSSZ: transmit slot size of 8, 12, 16, 20, 24, 28, or 32 bits.
XSSZ should always be programmed to match the slot size of the serial stream. The word size is not
directly programmed into the McASP, but rather is used to determine the rotation needed in the XROT
field.
and
show the XRVRS and XROT fields for each serial format and for both integer
and Q31 fractional internal representations.
This discussion assumes that all slot size (SLOT in
) and word size (WORD in
options are multiples of 4, since the transmit rotate right unit only supports rotation by multiples of 4.
However, the bit mask/pad unit does allow for any number of significant digits. For example, a Q31
number may have 19 significant digits (word) and be transmitted in a 24-bit slot; this would be formatted
as a word size of 20 bits and a slot size of 24 bits. However, it is possible to set the bit mask unit to only
pass the 19 most-significant digits (program the mask value to FFFF E000h). The digits that are not
significant can be set to a selected pad value, which can be any one of the significant digits, a fixed value
of 0, or a fixed value of 1.
The transmit bit mask/pad unit operates on data as an initial step of the transmit format unit (see
), and the data is aligned in the same representation as it is written to the transmitter by the
processor (typically Q31 or integer).
Table 22-8. Transmit Bitstream Data Alignment
XFMT Bit
Bit Stream
Internal Numeric
Bit Stream Order
Alignment
Representation
XROT
(1)
XRVRS
(a)
(2)
MSB first
Left aligned
Q31 fraction
0
1
(b)
MSB first
Right aligned
Q31 fraction
SLOT - WORD
1
(c)
LSB first
Left aligned
Q31 fraction
32 - WORD
0
(d)
LSB first
Right aligned
Q31 fraction
32 - SLOT
0
(e)
(2)
MSB first
Left aligned
Integer
WORD
1
(f)
MSB first
Right aligned
Integer
SLOT
1
(g)
LSB first
Left aligned
Integer
0
0
(h)
LSB first
Right aligned
Integer
(32 - (SLOT - WORD)) % 32
0
(1)
WORD = Word size rounded up to the nearest multiple of 4; SLOT = slot size; % = modulo operator
(2)
To transmit in I2S format, use MSB first, left aligned, and also select XDATDLY = 01 (1 bit delay)
3805
SPRUH73H – October 2011 – Revised April 2013
Multichannel Audio Serial Port (McASP)
Copyright © 2011–2013, Texas Instruments Incorporated