0-15
112-127
96-111
80-95
64-79
48-63
32-47
16-31
0-15
Block
Channels
FS(R/X)
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
0
1
2
3
4
5
6
7
0
Partition
A
B
A
B
A
B
A
B
A
Block 2 assigned
to partition A
Block 4 assigned
to partition A
Block 6 assigned
to partition A
Block 0 assigned
to partition A
Block 3 assigned
to partition B
Block 5 assigned
to partition B
Block 7 assigned
to partition B
Block 1 assigned
to partition B
2-partition mode. Example with changing block assignments
0-15
16-31
0-15
16-31
0-15
16-31
0-15
16-31
0-15
Block
Channels
FS(R/X)
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
0
1
0
1
0
1
0
1
0
Partition
A
B
A
B
A
B
A
B
A
2-partition mode. Example with fixed block assignments
Architecture
1229
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Multichannel Buffered Serial Port (McBSP)
shows an example of alternating between the channels of partition A and the channels of
partition B. Channels 0-15 have been assigned to partition A, and channels 16-31 have been assigned to
partition B. In response to a frame-sync pulse, the McBSP begins a frame transfer with partition A and
then alternates between partitions B and A until the complete frame is transferred.
Figure 25-38. Alternating Between the Channels of Partition A and the Channels of Partition B
25.2.9.5.2 Reassigning Blocks During Reception/Transmission
If you want to use more than 32 channels, you can change which channel blocks are assigned to
partitions A and B during the course of a data transfer. However, these changes must be carefully timed.
While a partition is being transferred, it's the associated block assignment bits cannot be modified, and its
associated channel enable register cannot be modified. For example, if block 3 is being transferred and
block 3 is assigned to partition A, you cannot modify (R/X)PABLK to assign different channels to partition
A, and you cannot modify (R/X)CERE0 to change the channel configuration for partition A. Several
features of the McBSP helps to time the reassignment:
•
The block of channels currently involved in reception/transmission (the current block) is reflected in the
RCBLK/XCBLK bits. Your program can poll these bits to determine which partition is active. When a
partition is not active, it is safe to change its block assignment and channel configuration.
•
At the end of every block (at the boundary of two partitions), an interrupt can be sent to the CPU. In
response to the interrupt, the CPU can then check the RCBLK/XCBLK bits and update the inactive
partition.
shows an example of reassigning channels throughout a data transfer. In response to a
frame-sync pulse, the McBSP alternates between partitions A and B. Whenever partition B is active, the
CPU changes the block assignment for partition A. Whenever partition A is active, the CPU changes the
block assignment for partition B.
Figure 25-39. Reassigning Channel Blocks Throughout a McBSP Data Transfer