I
2
C Module Operation
15-6
USART Peripheral Interface, I
2
C Mode
15.2.2 I
2
C Serial Data
One clock pulse is generated by the master device for each data bit
transferred. The I
2
C module operates with byte data. Data is transferred most
significant bit first as shown in Figure 15−3.
The first byte after a START condition consists of a 7-bit slave address and the
R/W
bit. When R/W = 0, the master transmits data to a slave. When R/W = 1,
the master receives data from a slave. The ACK bit is sent from the receiver
after each byte on the 9th SCL clock.
Figure 15−3. I
2
C Module Data Transfer
SDA
SCL
MSB Acknowledgement
Signal From Receiver
Acknowledgement
Signal From Receiver
12 789 12 89
ACK ACK
START
Condition (S)
STOP
Condition (P)
R/W
START and STOP conditions are generated by the master and are shown in
Figure 15−3. A START condition is a high-to-low transition on the SDA line
while SCL is high. A STOP condition is a low-to-high transition on the SDA line
while SCL is high. The busy bit, I2CBB, is set after a START and cleared after
a STOP.
Data on SDA must be stable during the high period of SCL as shown in
Figure 15−4. The high and low state of SDA can only change when SCL is low,
otherwise START or STOP conditions will be generated.
Figure 15−4. Bit Transfer on the I
2
C Bus
Data Line
Stable Data
Change of Data Allowed
SDA
SCL