Communication Processor Module
16-180
MPC823 USER’S MANUAL
MOTOROLA
SCC2
COMMUNICATION
16
PROCESSOR
MODULE
RBPTR—The receiver buffer descriptor pointer for each SCC2 channel points to the
next buffer descriptor the receiver transfers data to when it is in idle state or to the
current buffer descriptor during frame processing. After a reset or when the end of the
buffer descriptor table is reached, the communication processor module initializes this
pointer to the value programmed in the RBASE register. Although you will not usually
need to write the RBPTR in most applications, you can modify it when the receiver is
disabled or when you are sure no receive buffer is currently being used.
TBPTR—The transmitter buffer descriptor pointer for each SCC2 channel points to the
next buffer descriptor the transmitter transfers data from when it is in idle state or to the
current buffer descriptor during frame transmission. After a reset or when the end of the
buffer descriptor table is reached, the communication processor module initializes this
pointer to the value programmed in the TBASE register. Although you will not usually
need to write TBPTR in most applications, you can modify it when the receiver is
disabled or when you are sure no receive buffer is currently being used.
Other General Parameters—You do not need to access these parameters during
normal operation. They are only listed because they provide helpful information for
experienced users and for debugging purposes. Additional parameters are listed in
Table 16-24. RPTR and TPTR are updated by the SDMA channels to show the next
address in the buffer to be accessed. TCNT is a down-count value that is initialized with
the TX buffer descriptors data length and decremented with every byte read by the
SDMA channels. RCNT is a down-count value that is initialized with the MRBLR value
and decremented with every byte written by the SDMA channels. RSTATE, TSTATE,
RTMP, TTMP, and reserved areas should only be used by the RISC microcontroller.
Note:
The MRBLR is not intended to be dynamically changed while the serial
communication controller is operating. However, if it is modified in a single bus
cycle with one 16-bit move, then 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 the
MRBLR while the SCC2 receiver is disabled. The value of MRBLR should be
greater than zero for all modes. For Ethernet and HDLC mode, the MRBLR
should be evenly divisible by 4. In transparent mode, the MRBLR should also be
divisible by 4, unless the RFW bit of the GSMR_H is set to 8 bits.
Note: To extract data from a partially full receive buffer, issue the CLOSE RX BD
command.