I2C arbitration

Apr 29, 2005 3 Replies

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



MCU 3 wins during the 4th bit.

MCU1 01010101 MCU2 01100110 MCU3 01001111

-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

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required