18 UNIVERSAL SERIAL INTERFACE (USI)
18-16
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
Data transmission in I
2
C slave mode
The following describes the data transmission procedure in I
2
C slave mode.
START
END
Start condition?
Receive slave address and transfer
direction bit
Address matched?
yes
ACK received?
yes
no
no
yes
Send ACK
Send Data
no
no
yes
Error handling
Stop condition?
5.3.11 I
Figure 18.
2
C Slave Data Transmission Flow Chart
0x0
Address
0x4
0x3
0x2
A6
A5
D7
D6
D5
D4
D3
D2
D1
D0
A4
A3
A2
A1
A0 R/W = 1
ACK
USI_CK pin (output)
USI_CK pin (input)
USI_DI pin (output)
USI_DI pin (input)
ISTGMOD[2:0]
ISTG (write)
ISBSY
ISSTA[2:0]
TD[7:0]
RD[7:0]
ISIF
0x3
0x4
0x2
Start detection
interrupt
End of reception
interrupt
End of transmission
interrupt
Transfer
ACK interrupt
*
1
*
1
*
1
*
1
Transfer data 1
0x0
*
2
*
2
*
2
(1) Start condition
→
Data transmission
NAK
0x6
0x6
0x2
0x3
Transfer data n
D7
D6
D5
D4
D3
D2
D1
D0
ACK
USI_CK pin (output)
USI_CK pin (input)
USI_DI pin (output)
USI_DI pin (input)
ISTGMOD[2:0]
ISTG (write)
ISBSY
ISSTA[2:0]
TD[7:0]
ISIF
Stop detection
interrupt
End of transmission
interrupt
Receive
NAK interrupt
Receive
ACK interrupt
*
1
*
1
*
1
*
1
0x2
0x6
0x1
0x5
*
2
*
2
*
2
*
2
(2) Data transmission
→
Stop condition
*
1 When the USI_CK input is detected as low after the operation selected by ISTGMOD[2:0] has finished, the USI
I
2
C slave controller pulls down the USI_CK pin to low to places the external I
2
C master into wait state. This pull-
down is canceled to release the I
2
C master from wait state when the subsequent operation is triggered by ISTG.
*
2 When ISIF is cleared via software, ISSTA[2:0] is also cleared to 0x0.
5.3.12 I
Figure 18.
2
C Slave Data Transmission Timing Chart
Note: The timing chart above shows a basic transfer operation that does not include an actual I
2
C trans-
fer procedure. See “Receiving control byte in I
2
C slave mode” in “18.9 Precautions.”