I2Cx_SDA
I2Cx_SCL
MSB
Acknowledgement
bit from slave
(No-)Acknowledgement
bit from receiver
1
2
7
8
9
1
2
8
9
Slave address
ACK
START
condition (S)
STOP
condition (P)
R/W
ACK
Data
I2Cx_SDA
I2Cx_SCL
START
condition (S)
condition (P)
STOP
Functional Description
21.3.5 START & STOP Conditions
The I2C module generates START and STOP conditions when it is configured as a master.
•
START condition is a high-to-low transition on the SDA line while SCL is high.
•
STOP condition is a low-to-high transition on the SDA line while SCL is high.
•
The bus is considered to be busy after the START condition (BB = 1) and free after the STOP
condition (BB = 0).
Figure 21-6. Start and Stop Condition Events
21.3.6 I2C Operation
21.3.6.1 Serial Data Formats
The I2C controller operates in 8-bit word data format (byte write access supported for the last access).
Each byte put on the SDA line is 8 bits long. The number of bytes that can be transmitted or received is
restricted by the value programmed in the DCOUNT register. The data is transferred with the most
significant bit (MSB) first. Each byte is followed by an acknowledge bit from the I2C module if it is in
receiver mode.
Figure 21-7. I2C Data Transfer
The I2C module supports two data formats, as shown in
:
•
7-bit/10-bit addressing format
•
7-bit/10-bit addressing format with repeated start condition
The first byte after a start condition (S) always consists of 8 bits. In the acknowledge mode, an extra bit
dedicated for acknowledgment is inserted after each byte. In the addressing formats with 7-bit addresses,
the first byte is composed of 7 MSB slave address bits and 1 LSB R/nW bit. In the addressing formats
with 10-bit addresses, the first byte is composed of 7 MSB slave address bits, such as 11110XX, where
XX is the two MSB of the 10-bit addresses, and 1 LSB R/nW bit, which is 0 in this case.
3705
SPRUH73H – October 2011 – Revised April 2013
I2C
Copyright © 2011–2013, Texas Instruments Incorporated