15.3.1 I2C-Bus Overview
The I
2
C-bus uses two wires for communication; a serial data line (SDA) and a serial clock line (SCL) as shown in
. As a true multi-master bus it includes collision detection and arbitration to resolve situations where multiple
masters transmit data at the same time without data loss.
I
2
C master
#1
I
2
C master
#2
I
2
C slave
#1
I
2
C slave
#2
I
2
C slave
#3
SDA
SCL
V
DD
R
p
Figure 15.2. I2C-Bus Example
Each device on the bus is addressable by a unique address, and an I
2
C master can address all the devices on the bus, including other
masters.
Both the bus lines are open-drain. The maximum value of the pull-up resistor can be calculated as a function of the maximal rise-time
tr
for the given bus speed, and the estimated bus capacitance
Cb
Figure 15.3 I2C Pull-up Resistor Equation on page 397
Rp(max) = (tr/0.8473) x Cb.
Figure 15.3. I2C Pull-up Resistor Equation
The maximal rise times for 100 kHz, 400 kHz and 1 MHz I
2
C are 1 µs, 300 ns and 120 ns respectively.
Note:
The GPIO drive strength can be used to control slew rate.
Note:
If V
dd
drops below the voltage on SCL and SDA lines, the MCU could become back powered and pull the SCL and SDA lines low.
EFM32JG1 Reference Manual
I2C - Inter-Integrated Circuit Interface
silabs.com
| Smart. Connected. Energy-friendly.
Preliminary Rev. 0.6 | 397