1
0
0
0
1
0
0
0
1
1
1
1
1
n
Device 1 Lost Arbitration
and Switches Off
Bus Line
SCL
Data From
Device 1
Data From
Device 2
Bus Line
SDA
Master Transmitter
S
A
A
P
1) UCTR = 1 (Transmitter)
2) UCTXSTT = 1
Successful
transmission to a
slave receiver
UCTXIFG = 1
UCTXIFG = 1
DATA
DATA
A
A
UCTXSTP = 1
UCTXSTT = 0
UCTXSTP = 0
11110xx/W
SLA(2.)
S
A
P
1) UCTR = 0 (Receiver)
2) UCTXSTT = 1
Successful
reception from a
slave transmitter
DATA
DATA
A
UCTXSTP = 1
A
UCTXSTT = 0
UCTXSTP = 0
A
A
11110xx/W
SLA(2.)
11110xx/R
Master Receiver
S
UCRXIFG = 1
eUSCI_B Operation – I
2
C Mode
836
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
Enhanced Universal Serial Communication Interface (eUSCI) – I
2
C Mode
32.3.5.2.3 I
2
C Master 10-Bit Addressing Mode
The 10-bit addressing mode is selected when UCSLA10 = 1 and is shown in
Figure 32-14. I
2
C Master 10-Bit Addressing Mode
32.3.5.3 Arbitration
If two or more master transmitters simultaneously start a transmission on the bus, an arbitration procedure
is invoked.
shows the arbitration procedure between two devices. The arbitration procedure
uses the data presented on SDA by the competing transmitters. The first master transmitter that generates
a logic high is overruled by the opposing master generating a logic low. The arbitration procedure gives
priority to the device that transmits the serial data stream with the lowest binary value. The master
transmitter that lost arbitration switches to the slave receiver mode and sets the arbitration lost flag
UCALIFG. If two or more devices send identical first bytes, arbitration continues on the subsequent bytes.
Figure 32-15. Arbitration Procedure Between Two Master Transmitters
There is an undefined condition if the arbitration procedure is still in progress when one master sends a
repeated START or a STOP condition while the other master is still sending data. In other words, the
following combinations result in an undefined condition:
•
Master 1 sends a repeated START condition and master 2 sends a data bit.
•
Master 1 sends a STOP condition and master 2 sends a data bit.
•
Master 1 sends a repeated START condition and master 2 sends a STOP condition.