SPRUJ17H March 2022 – October 2024 AM2631 , AM2631-Q1 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
If two or more controller transmitters simultaneously start a transmission on the same bus, an arbitration procedure is invoked. Figure 13-15 illustrates the arbitration procedure between two devices. The arbitration procedure uses the data presented on the SDA bus by the competing transmitters. The first controller transmitter that generates a high is overruled by the other controller that generates a low. The arbitration procedure gives priority to the device that transmits the serial data stream with the lowest binary value. The controller transmitter that loses the arbitration switches to the peripheral receiver mode, sets the arbitration lost (AL) flag, and generates the arbitration-lost interrupt. The data transmitted by the other controller module is salvaged, and the I2C continues to receive data from the controller module. Should two or more devices send identical first bytes, arbitration continues on the subsequent bytes.
If, during a serial transfer, the arbitration procedure is still in progress when a repeated START condition or STOP condition is transmitted to I2C bus, the controller transmitters involved must send the repeated START condition or STOP condition at the same position in the format frame. In other words, arbitration is not allowed between:
Peripherals are not involved in the arbitration procedure.