A96G140/A96G148/A96A148 User’s manual
15. USI
173
The master can then generate either a STOP condition to abort the transfer, or a repeated START
condition to start a new transfer.
If a master receiver is involved in a transfer, it must signal the end of data to the slave transmitter by
not generating an acknowledge on the last byte that was clocked out of the slave. The slave transmitter
must release the data line to allow the master to generate a STOP or repeated START condition.
Figure 97. Acknowledge on the I2C-Bus (USIn)
15.18
USIn I2C synchronization/ arbitration
Clock synchronization is performed using the wired-AND connection of I2C interfaces to the SCLn line.
This means that a HIGH to LOW transition on the SCLn line will cause the devices concerned to start
counting off their LOW period and it will hold the SCLn line in that state until the clock HIGH state is
reached. However the LOW to HIGH transition of this clock may not change the state of the SCLn line
if another clock is still within its LOW period. In this way, a synchronized SCLn clock is generated with
its LOW period determined by the device with the longest clock LOW period, and its HIGH period
determined by the one with the shortest clock HIGH period.
A master may start a transfer only if the bus is free. Two or more masters may generate a START
condition. Arbitration takes place on the SDAn line, while the SCLn line is at the HIGH level, in such a
way that the master which transmits a HIGH level, while another master is transmitting a LOW level will
switch off its DATA output state because the level on the bus doesn’t correspond to its own level.
Arbitration continues for many bits until a winning master gets the ownership of I2C bus. Its first stage
is comparison of the address bits.
1
2
8
Data Output by Transmitter
9
ACK
NAC
K
Clock pulse for ACK
Data Output by Receiver
SCLn from MASTER