receiver must respond with the acknowledge signal (ACK). When a slave-receiver does not respond with
an ACK pulse, the master aborts the transfer by issuing a STOP condition. The slave must leave the SDA
line high so that the master can abort the transfer. †
If the master-transmitter is transmitting data as shown in the following figure, then the slave-receiver responds
to the master-transmitter with an ACK pulse after every byte of data is received. †
Figure 20-6: Master-Transmitter Protocol †
0 (Write)
0 (Write)
Slave Address
Slave Address
First 7 Bits
Slave Address
Second Byte
S
S
Data
Data
Data
P
P
A
A
A
A
11110xxx
R/W
R/W
A/A
A/A
From Master to Slave
From Slave to Master
S: Start Condition
P: Stop Condition
R/W: Read/Write Pulse
A: Acknowledge (SDA Low)
A: No Acknowledge (SDA High)
7-Bit Address
10-Bit Address
Master-Receiver and Slave-Transmitter
If the master is receiving data as shown in the following figure, then the master responds to the slave-
transmitter with an ACK pulse after a byte of data has been received, except for the last byte. This is the way
the master-receiver notifies the slave-transmitter that this is the last byte. The slave-transmitter relinquishes
the SDA line after detecting the No Acknowledge (NACK) bit so that the master can issue a STOP condition.
†
When a master does not want to relinquish the bus with a STOP condition, the master can issue a RESTART
condition. This is identical to a START condition except it occurs after the ACK pulse. Operating in master
mode, the I
2
C controller can then communicate with the same slave using a transfer of a different direction.
For a description of the combined format transactions that the I
2
C controller supports, refer to “Combined
Formats” section of this chapter. †
The I
2
C controller must be inactive on the serial port (
I2C_DYNAMIC_TAR_UPDATE
= 1) before
the target slave address register,
IC_TAR
can be reprogrammed. †
Note:
Figure 20-7: Master-Receiver Protocol †
0 (Write)
1 (Read)
Slave Address
Slave Address
First 7 bits
Slave Address
Second Byte
S
S
R
From Master to Slave
From Slave to Master
S: Start Condition
R: Restart Condition
P: Stop Condition
R/W: Read/Write Pulse
A: Acknowledge (SDA Low)
A: No Acknowledge (SDA High)
Data
Data
Data
P
P
A
A
A
A
11110xxx
R/W
Slave Address
First 7 bits
A
R/W
A
A
1 (Read)
11110xxx
7-Bit Address
10-Bit Address
R/W
Altera Corporation
I2C Controller
20-7
Master-Receiver and Slave-Transmitter
cv_54020
2013.12.30