www.ti.com | Peripheral Architecture |
2.10 Arbitration
If two or more master-transmitters simultaneously start a transmission on the same bus, an arbitration procedure is invoked. The arbitration procedure uses the data presented on the serial data bus (SDA) by the competing transmitters. Figure 12 illustrates the arbitration procedure between two devices. The first master-transmitter, which drives SDA high, is overruled by another master-transmitter that drives SDA low. The arbitration procedure gives priority to the device that transmits the serial data stream with the lowest binary value. Should two or more devices send identical first bytes, arbitration continues on the subsequent bytes.
If the I2C peripheral is the losing master, it switches to the slave-receiver mode, sets the arbitration lost (AL) flag, and generates the arbitration-lost interrupt.
If during a serial transfer the arbitration procedure is still in progress when a repeated START condition or a STOP condition is transmitted to SDA, the master-transmitters involved must send the repeated START condition or the STOP condition at the same position in the format frame. Arbitration is not allowed between:
•A repeated START condition and a data bit
•A STOP condition and a data bit
•A repeated START condition and a STOP condition
Figure 12. Arbitration Procedure Between Two Master-Transmitters
| Bus line | | | | | | |
| SCL | | | | | | |
| | | | | Device #1 lost arbitration | |
| | | | | and switches off | | |
| Data from | 1 | 0 | | | | |
| device #1 | | | | |
| | | | | | |
| Data from | 1 | 0 | 0 | 1 | 0 | 1 |
| device #2 |
| | | | | | |
| Bus line | 1 | 0 | 0 | 1 | 0 | 1 |
| SDA |
| | | | | | |
SPRUEN0D –March 2011 | Inter-Integrated Circuit (I2C) Peripheral | 17 |
| | |
© 2011, Texas Instruments Incorporated