I
2
C Controller
MPC885 PowerQUICC Family Reference Manual, Rev. 2
Freescale Semiconductor
32-3
because the R/W request follows the slave port address in the I
2
C bus specification, the R/W request bit
must be placed in the lsb (bit 7) unless operating in reverse data mode; see
Section 32.4.1, “I2C Mode
Register (I2MOD).”
To write to a slave, the master sends a write request (R/W = 0) along with either the target slave’s address
or the general call (broadcast) address of all zeros, followed by the data to be written. To read from a slave,
the master sends a read request (R/W = 1) and the target slave’s address. When the target slave
acknowledges the read request, the transfer direction is reversed, and the master receives the slave’s
transmit buffers. If the receiver (master or slave) does not acknowledge each byte transfer in the ninth bit
frame, the transmitter signals a transmission error event (I2ER[TXE]). An I
2
C transfer timing diagram is
shown in
Figure 32-3
.
Figure 32-3. I
2
C Transfer Timing
Select master or slave mode for the controller using the I
2
C command register (I2COM[M/S]). Set the
master’s start bit, I2COM[STR], to begin a transfer; setting a slave’s I2COM[STR] activates the slave to
wait for a transfer request from a master.
If a master or slave transmitter’s current TxBD[L] is set, transmission stops once the buffer is sent; that is,
I2COM[STR] must be set again to reactivate transfers. If TxBD[L] is zero, once the current buffer is sent,
the controller begins processing the next TxBD without waiting for I2COM[STR] to be set again.
The following sections further detail the transfer process.
32.3.1
I
2
C Master Write (Slave Read)
If the MPC885 is the master, prepare the transmit buffers and BDs before initiating a write. Initialize the
first transmit data byte with the slave address and write request (R/W = 0).
If the MPC885 is the slave target of the write, prepare receive buffers and BDs to await the master’s
request.
Figure 32-4
shows the timing for a master write.
Figure 32-4. I
2
C Master Write Timing
SCL
SDA
Data Byte
Start Condition
Stop Condition
A
C
K
7
8
9
4
5
6
1
2
3
SDA
Device Address
W
Data Byte
S
T
A
R
T
S
T
O
P
A
C
K
A
C
K
Note: Data and ACK are repeated n times.
Summary of Contents for PowerQUICC MPC870
Page 98: ...MPC885 PowerQUICC Family Reference Manual Rev 2 I 4 Freescale Semiconductor ...
Page 118: ...MPC885 Overview MPC885 PowerQUICC Family Reference Manual Rev 2 1 20 Freescale Semiconductor ...
Page 158: ...The MPC8xx Core MPC885 PowerQUICC Family Reference Manual Rev 2 3 18 Freescale Semiconductor ...
Page 288: ...MPC885 PowerQUICC Family Reference Manual Rev 2 III 4 Freescale Semiconductor ...
Page 554: ...MPC885 PowerQUICC Family Reference Manual Rev 2 V 6 Freescale Semiconductor ...
Page 1090: ...UTOPIA Interface MPC885 PowerQUICC Family Reference Manual Rev 2 43 8 Freescale Semiconductor ...
Page 1312: ...Byte Ordering MPC885 PowerQUICC Family Reference Manual Rev 2 A 8 Freescale Semiconductor ...
Page 1336: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 16 Freescale Semiconductor ...
Page 1358: ...MPC885 PowerQUICC Family Reference Manual Rev 2 D 38 Freescale Semiconductor ...
Page 1370: ...MPC880 MPC885 PowerQUICC Family Reference Manual Rev 2 E 4 Freescale Semiconductor ...
Page 1386: ...Revision History MPC885 PowerQUICC Family Reference Manual Rev 2 I 2 Freescale Semiconductor ...