LS_I2C controller
RM0082
616/844
Doc ID 018672 Rev 1
Figure 64.
Multiple master arbitration
Clock synchronization
All masters generate their own clock to transfer messages, and data is valid only during the
high period of SCL clock.
Clock synchronization is performed using the wired-AND connection to the SCL signal.
When the master transitions the SCL clock to ‘b0, the master starts counting the low time of
the SCL clock and transitions the SCL clock signal to ‘b1 at the beginning of the next clock
period. However, if another master is holding the SCL line to ‘b0, then the master goes into
a high wait state until the SCL clock line transitions to ‘b1.
All masters then count off their high time, and the master with the shortest high time
transitions the SCL line to ‘b0. The masters counts out their low time and the one with the
longest low time forces the other master into a high wait state. Therefore, a synchronized
SCL clock is generated.
Note:
Optionally, slaves may hold the SCL line low to slow down the timing on the I
2
C bus.
DATA2
DATA1
SDA
SCL
MSB
MSB
MSB
matching data
‘1’
‘0’
DATA1 loses arbitration
SDA mirrors DATA2
SDA lines up with
DATA1 START
condition