IBM PowerPC 405GP User Manual page 623

Embedded processor
Table of Contents

Advertisement

Table 22-2 summarizes IIC interface operation for settings of IICO_CNTL[HMT, RPST, CHT, PT] x is a
don't care.
Table 22-2. IIC Response to IICO_CNTL Field Settings
IICO_CNTL Fields
Resulting Action on IIC Bus
HMT
RPST
CHT
PT
and Inside IIC Interface
0
x
x
0
No action taken
0
0
1
1
Start, Transfer, ACK on last byte,
Pause
0
0
0
1
Start, Transfer, NACK on last
byte, Stop
1
x
x
x
NACK on current byte, Stop
0
1
x
1
Start, Transfer, NACK on last
byte, Wait
Settings of IICO_CNTL[HMT, RPST, CHT, PT] result in the following actions.
Start
Stop
ACK
NACK
Transfer
Pause
Wait
IIC Start condition generated, if the IIC interface was stopped or waiting.
IIC Stop condition generated; IIC interface enters the Stop condition.
IIC Acknowledge condition generated.
IIC Not Acknowledge condition generated, if performing a read.
Requested bytes are transferred.
IIC interface enters the Pause state.
IIC interface enters the Wait state.
IICO_CNTL[HMT] overrides IICO_CNTL[RPST, CHT].
IICO_CNTL[RPST, PT] overrides IICO_CNTL[CHT].
22.3.6 IICO Mode Control Register
The
lIeo
Mode Control Register (IICO_MDCNTL) sets the major modes of operation on the IIC bus. In
addition, IICO_MDCNTL can force the data buffers into the empty state.
In typical applications, IICO_MDCNTL is configured once, during software initialization. Applications
providing complex error handling may reconfigure this register more often.
Programming Note: IICO_CLKDIV must be initialized before IICO_MDCNTL. IICO_LSADR and
IICO_HSADR should also be configured before IICO_MDCNTL.
Note that the IIC hardware does not implement time-out functions on the
IIC
bus. Such functions. must
be implemented, in software, by setting IICO_CNTL[HMT]
=
1, or setting IICO_XTCNTLSS[SRST]
=
1.
Regarding IICO_MDCNTL[HSCL], a "slave not ready" condition occurs during a slave receive
operation, if a slave has no free space in its slave data buffer at the start of a write operation, or if the
slave data buffer fills during the write. In a slave transmit operation, a slave not ready condition occurs
if a slave has no data in its slave data buffer at the start of a read operation, or if the slave data buffer
becomes empty during the read.
22-8
PPC405GP User's Manual
Pieliminaiy'

Advertisement

Table of Contents
loading

Table of Contents