Inter-IC Bus
68HC(9)12DG128 Rev 1.0
256
Inter-IC Bus
MOTOROLA
If the slave receiver does not acknowledge the master, the SDA line
must be left high by the slave. The master can then generate a stop
signal to abort the data transfer or a start signal (repeated start) to
commence a new calling.
If the master receiver does not acknowledge the slave transmitter after
a byte transmission, it means 'end of data' to the slave, so the slave
releases the SDA line for the master to generate STOP or START signal.
STOP Signal
The master can terminate the communication by generating a STOP
signal to free the bus. However, the master may generate a START
signal followed by a calling command without generating a STOP signal
first. This is called repeated START. A STOP signal is defined as a
low-to-high transition of SDA while SCL at logical “1” (see
Figure 39
).
The master can generate a STOP even if the slave has generated an
acknowledge at which point the slave must release the bus.
Repeated START
Signal
As shown in
Figure 39
, a repeated START signal is a START signal
generated without first generating a STOP signal to terminate the
communication. This is used by the master to communicate with another
slave or with the same slave in different mode (transmit/receive mode)
without releasing the bus.
Arbitration
Procedure
IIC is a true multi-master bus that allows more than one master to be
connected on it. If two or more masters try to control the bus at the same
time, a clock synchronization procedure determines the bus clock, for
which the low period is equal to the longest clock low period and the high
is equal to the shortest one among the masters. The relative priority of
the contending masters is determined by a data arbitration procedure, a
bus master loses arbitration if it transmits logic “1” while another master
transmits logic “0”. The losing masters immediately switch over to slave
receive mode and stop driving SDA output. In this case the transition
from master to slave mode does not generate a STOP condition.
Meanwhile, a status bit is set by hardware to indicate loss of arbitration.
6-iicbus