Datasheet
Section 16 I
2
C Bus Interface (IIC) (Optional)
Rev. 3.00 Mar 21, 2006 page 462 of 788
REJ09B0300-0300
Slave receive mode
End
Read IRIC in ICCR
Clear IRIC in ICCR
Clear IRIC in ICCR
Read AASX, AAS and ADZ in ICSR
Read TRS in ICCR
Read IRIC in ICCR
Clear IRIC in ICCR
Clear IRIC in ICCR
Read ICDR
Wait for one frame
Read ICDR
Set ACKB = 0 in ICSR
Set ACKB = 1 in ICSR
Set HNDS = 0 in ICXR
General call address processing
* Description omitted
Set MST = 0
and TRS = 0 in ICCR
IRIC = 1?
No
Yes
ICDRF = 1?
Yes
TRS = 1?
IRIC = 1?
ICDRF = 1?
Yes
Yes
No
No
Yes
No
AAS = 1
and ADZ = 1?
No
No
[1] 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)
(Set IRIC at the rise of the 9th clock)
[9] Wait for ACKB setting and set acknowledge data
for the last reception
(after the rise of the 9th clock of (n-1)th byte data)
[15] Clear IRIC
[14] Read the last receive data
[8] Clear IRIC
[13] Clear IRIC
[10] Read the receive data. The first read is a dummy read.
[11] Wait for one byte to be received
(Set IRIC at the rise of the 9th clock)
[12] Detect stop condition
Slave transmit mode
Yes
No
No
Read ICDR
No
Yes
ICDRF = 1?
(n-2)th-byte
reception?
ESTP = 1 or
STOP = 1?
* n: Address + total number of bytes received
Figure 16.21 Sample Flowchart for Operations in Slave Receive Mode (HNDS = 0)