SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
A master may start a transfer only if the bus is idle. It is possible for two or more master to generate a START condition within the 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 master devices to place a 1 (high) on SDA, while another master 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. The first stage is a comparison of address bits, and if both master are trying to address the same device, arbitration continues on to the comparison of data bits.
If arbitration is lost when the I2C master is initiating a BURST with the TX FIFO enabled, the application should execute the following steps to correctly handle the arbitration loss:
Once the bus is IDLE, the TXFIFO can be filled and enabled, the TXFE bit can be unmasked and a new BURST transaction can be initiated.