I2C arbitration

Hi all,

In my system there are 3 MCU's sitting on the same I2C bus. Let us take a scenario where all the 3 MCU's issue a start condition at the same time and all the 3 MCU's issue the same slave address and R/W='1' of all the 3 MCU's.Now MCU1 wants to transmit 01010101 to the slave, while MCU 2 wants to transmit 01100110 to the slave and MCU3 wants to transmit 01001111.Since it is a wired AND MCU2 loses the arbitration , my question is who will win the bus b/w MCU1 and MCU3 becuase both of them transmit a zero at the same time the 3rd bit.

Thanks in advance.

~Praveen

Reply to
praveen.kantharajapura
Loading thread data ...

MCU 3 wins during the 4th bit.

MCU1 01010101 MCU2 01100110 MCU3 01001111

-Keith

Reply to
Keith

Everybody continues until they notice that they have released SDA, but it's still being held down by somebody else. Thus, MCU3 wins.

--
Regards,
  Bob Monsen
Reply to
Bob Monsen

How can you assure that they *all* issue a start condition

*simultaneously* ?

If you could do that - then you can avoid arbitration issues. QED !

Graham

Reply to
Pooh Bear

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.