
Mini57
Apr. 06, 2017
Page 390 of 475
Rev.1.00
MINI5
7
S
E
RI
E
S
TECH
NIC
A
L R
E
F
E
RE
N
CE
MA
N
UA
L
Master 1 loses arbitration
DATA 1
≠
SDA
DATA1
DATA2
SDA
SCL
Figure 6.14-7 Arbitration Lost
In this case, during the address and data transmission, the master transmitter checks at the rising
edge of SCL for each data bit if the value it is sending is equal to the value read on the SDA line.
If yes, the next data bit values can be 0. If this is not the case (transmitted value = 1, value read =
0), the master has lost the transmit arbitration. This is indicated by interrupt flag ARBLOIF
(UI2C_PROTSTS [11]) and can generate a protocol interrupt if enabled by ARBLOIEN
(UI2C_PROTIEN [4]).
When the transmit arbitration has been lost, the software has to initialize the complete frame
again, starting with the first address byte together with the start condition for a new master
transmit attempt. Arbitration also takes place for the ACK bit. If master arbitration lost and match
the device address, then master will turn to slave.
6.14.5.9 Transmission Chain
The I
2
C bus protocol requiring a kind of in-bit-response during the arbitration phase and while a
slave is transmitting, the resulting loop delay of the transmission chain can limit the reachable
maximal baud rate, strongly depending on the bus characteristics (bus load, module frequency,
etc.).
The shift clock SCL is generated by the master device, output on the wire, then it passes through
the input stage and the input filter. Now, the edges can be detected and the SDA data signal can
be generated accordingly. The SDA signal passes through the output stage and the wire to the
master receiver part. There, it passes through the input stage and the input filter before it is
sampled.
This complete loop has to be finished (including all settling times to obtain stable signal levels)
before the SCL signal changes again. The delays in this path have to be taken into account for
the calculation of the baud rate as a function of
f
PCLK
and
f
PROT_CLK
.It is suggested that user adopts
f
PCLK
.
6.14.5.10 Non-Acknowledge and Error Conditions
In
case
of
a
non-acknowledge
(NACKIF
(UI2C_PROTSTS
[10]))
or
an
error
(ERRIF(UI2C_PROTSTS [12])), no further transmission will take place. User software doesn’t
invalidate the transmit buffer and disable transmissions, before configuring the transmission (by
writing TXDAT) again with appropriate values to react on the previous event.