Datasheet

Section 18 I
2
C Bus Interface (IIC)
Rev. 2.00 Sep. 28, 2009 Page 571 of 994
REJ09B0452-0200
Slave receive mode
End
Clear IRIC flag in ICCR
Clear IRIC flag in ICCR
Clear IRIC flag in ICCR
Set ACKB = 0 in ICSR
Read AASX, AAS and ADZ in ICSR
Read TRS in ICCR
Read IRIC flag in ICCR
Clear IRIC flag in ICCR
Clear IRIC flag in ICCR
Read ICDR
Read ICDR
General call address processing
* Description omitted
Set MST = 0
and TRS = 0 in ICCR
IRIC = 1?
No
Yes
Clear IRIC flag in ICCR
Set ACKB = 1 in ICSR
TRS = 1?
IRIC = 1?
Yes
Yes
No
Yes
No
AAS = 1
and ADZ = 1?
Read IRIC flag in ICCR
IRIC = 1?
ESTP = 1 or
STOP = 1?
No
Yes
No
[1] Initialization. Select slave receive mode.
[2] Read the receive data remaining unread.
[3] to [7] Wait for one byte to be received (slave address + R/W)
[10] Read the receive data. The first read is a dummy read.
[9] Set acknowledge data for the last reception.
[8] Clear IRIC flag
[5] to [7] Wait for the reception to end.
Slave transmit mode
Last reception?
No
No
Yes
Yes
Read ICDR, clear IRIC flag
No
Yes
Initialize IIC
ICDRF = 1?
[8] Clear IRIC flag.
[5] to [7] Wait for reception end.
[11] Detect stop condition.
[12] Check STOP bit.
[12] Clear IRIC flag.
[8] Clear IRIC flag.
[10] Read the receive data.
Figure 18.13 Sample Flowchart for Operations in Slave Receive Mode