
Communication Processor Module
MOTOROLA
MPC823 USER’S MANUAL
16-453
I2
C
COMMUNICATION
16
PROCESSOR
MODULE
16.13.4 I2C Parameter RAM Memory Map
The I2C controller parameter RAM area begins at the I2C base address, which is used for
the general I2C parameters. It is similar to the SCC2 general-purpose parameter RAM. You
must initialize certain parameter RAM values before the serial peripheral interface is
enabled. The communication processor module initializes the other values. Once initialized,
the parameter RAM values do not usually need to be accessed by your software. They
should only be modified when there is no serial peripheral interface activity in progress.
RBASE and TBASE—The RX and TX buffer descriptor base address entries are where
the dual-port RAM starts receiving and transmitting data for the I2C buffer descriptors.
They provide a great deal of flexibility in how buffer descriptors for an I2C controller are
partitioned. By selecting RBASE and TBASE entries for the I2C controller and by setting
the W bit in the last buffer descriptor in each buffer descriptor list, you can select how
many buffer descriptors to allocate for the transmit and receive side of the I2C controller.
However, you must initialize these entries before enabling the corresponding channel.
Furthermore, you should not configure the buffer descriptor tables of the I2C controller
to overlap because erratic operation will occur. RBASE and TBASE should contain a
value that is divisible by eight.
Table 16-40. I2C Controller Parameter RAM Memory Map
ADDRESS
NAME
WIDTH
DESCRIPTION
I2C Base + 00
RBASE
Half-word
RX BD Base Address
I2C Base+ 02
TBASE
Half-word
TX BD Base Address
I2C Base+ 04
RFCR
Byte
RX Function Code
I2C Base+ 05
TFCR
Byte
TX Function Code
I2C Base+ 06
MRBLR
Half-word
Maximum Receive Buffer Length
I2C Base+ 08
RSTATE
Word
RX Internal State
I2C Base+ 0C
RPTR
Word
RX Internal Data Pointer
I2C Base+ 10
RBPTR
Half-word
RX BD Pointer
I2C Base+ 12
RCNT
Half-word
RX Internal Byte Count
I2C Base+ 14
RTMP
Word
RX Temp
I2C Base+ 18
TSTATE
Word
TX Internal State
I2C Base+ 1C
TPTR
Word
TX Internal Data Pointer
I2C Base+ 20
TBPTR
Half-word
TX BD Pointer
I2C Base+ 22
TCNT
Half-word
TX Internal Byte Count
I2C Base+ 24
TTMP
Word
TX Temp
NOTE:
You are only responsible for initializing the items in bold. I
2C Base = (IMMR & 0xFFFF0000) + 0x3C80.