SWRU626 December 2025 CC3501E , CC3551E
A Controller may start a transfer only if the bus is idle. It's possible for two or more masters to generate a START condition within minimum hold time of the START condition. In these situations, an arbitration scheme takes place on the SDA line, while SCL is High. During arbitration, the first of the competing Controller devices to place a 1 (High) on SDA, while another Controller transmits a 0 (Low), switches off its data output stage and retires until the bus is idle again.
Arbitration can take place over several bits. Its first stage is a comparison of address bits, and if both masters are trying to address the same device, arbitration continues on to the comparison of data bits.
When an arbitration lost is detected the I2CTSR.TARBLST flag is set. It will be reset by the hardware with the next STOP condition detected on the bus. Additionally, the TARBLOST flags in INT_EVENTx.RIS registers are set.
If arbitration is lost when the I2C Controller has initiated a transfer, the application should execute the following steps to correctly handle the arbitration loss: