![](http://datasheet.mmic.net.cn/30000/MPC823ZC25_datasheet_2375818/MPC823ZC25_949.png)
Communication Processor Module
16-430
MPC823 USER’S MANUAL
MOTOROLA
SPI
COMMUNICATION
16
PROCESSOR
MODULE
Bits 0–2—Reserved
These bits are reserved and should be set to 0.
BO—Byte Ordering
You should set these bits to select the required byte ordering of the data buffer. If this
bit field is modified on-the-fly, it takes effect at the beginning of the next frame or at the
beginning of the next buffer descriptor.
00 =
The DEC/Intel convention is used for byte ordering (swapped operation) and
is also called little-endian byte ordering. The transmission order of bytes within
a buffer word is reversed in comparison to the Motorola mode. This mode is
supported only for 32-bit port size memory.
01 =
PowerPC little-endian byte ordering. As data is transmitted onto the serial line
from the data buffer, the least-significant byte of the buffer double-word
contains data to be transmitted earlier than the most-significant byte of the
same buffer double-word.
1X = Motorola byte ordering (normal operation) is also called big-endian byte
ordering. As data is transmitted onto the serial line from the data buffer, the
most-significant byte of the buffer word contains data to be transmitted earlier
than the least-significant byte of the same buffer word.
AT—Address Type 1–3
These bits contain the function code value used during the SDMA channel memory
access. AT0 is driven with a 1 to identify this SDMA channel access as a DMA-type
access.
MRBLR—The serial peripheral interface has one maximum receive buffer length entry
to define its receive buffer length and it defines the maximum number of bytes that the
MPC823 writes to a receive buffer on the serial peripheral interface before moving to
the next buffer. The MPC823 can write fewer bytes to the buffer than the MRBLR value
if an error or end-of-frame occurs, but it never writes more bytes than the MRBLR value.
Buffers you supply for the MPC823 to use should always be at least as long as MRBLR.
The transmit buffers for a serial peripheral interface are not affected by the value you
program into MRBLR and they can be individually chosen to have varying lengths, as
needed. You choose the number of bytes to be transmitted by programming the DATA
LENGTH field in the TX buffer descriptor.
MRBLR is not intended to be dynamically changed while a serial peripheral interface is
operating. However, if it is modified in a single bus cycle with one 16-bit move (not two
8-bit bus cycles back-to-back), a dynamic change in receive buffer length can be
successfully achieved. This occurs when the communication processor module moves
control to the next RX buffer descriptor in the table. Thus, a change to MRBLR does not
have an immediate effect. To guarantee the exact RX buffer descriptor on which the
change occurs, you should only change MRBLR while the SPI receiver is disabled. The
MRBLR value should be greater than zero and should be even if the character length
of the data is greater than 8 bits.