Inter-Integrated Circuit Controller
7-91
MPU Public Peripherals
Figure 7–34. Master Receiver Mode, RM =1 , Polling 2 (Number of the Receive Data is
Variable, Data Contents Dependent)
Start
Is
bus free
(BB=0)
?
Write I2C_CON
with 8405h.
End
Read I2C_STAT.
No
Yes
1
Read I2C_STAT.
Is
ACK returned
(NACK=0)
?
2
STT and STP are
cleared to 0 by hardware.
No
Yes
Reprogram
the registers.
STT = 1
(new start)
?
Yes
No
STP = 1
?
No
3
End
code
?
Is
received data
in I2C_DATA
(RRDY=1)
?
No
Yes
Set appropriate values to every
bit of I2C_CON. I2C_EN bit must be set
to 1 to take I2C out of reset condition. Setting
I2C_EN and setting other mode bits can be done
simultaneously.
Dummy read. The contents of this
read data has no meaning.
The I2C goes into slave receiver mode.
[EXPECTED COMMAND]
At the beginning,
(STT,STP) = (1.0)
in the middle,
(STT, STP) = (0.0)
At the end,
(STT, STP) = (0.1)
[EXPECTED I2C_IE]
I2C_IE = 00000b
3
2
1
Read I2C_DATA.
Yes
Reprogram
the registers.
Read I2C_DATA.
Yes
No