This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

i2c clock synchronization and arbitration



hi,

what happens to the clock after a master has lost arbitration?

That is after all masters have lost the arbitration, and only one is left, will the data transfer occur in synchronized clock or the clock of the master which have won the arbitration.

This is a general question and I am not speaking about any device in specific.

thnx.

  • Hi Guru,

    I am no expert when it comes to I2C, but if you go to http://www.i2c-bus.org/ there is some good information. I was able to find the following information on Clock Generation, Stretching and Arbitration:

    Several I2C multi-masters can be connected to the same I2C bus and operate concurrently. By constantly monitoring SDA and SCL for start and stop conditions, they can determine whether the bus is currently idle or not. If the bus is busy, masters delay pending I2C transfers until a stop condition indicates that the bus is free again.

    However, it may happen that two masters start a transfer at the same time. During the transfer, the masters constantly monitor SDA and SCL. If one of them detects that SDA is low when it should actually be high, it assumes that another master is active and immediately stops its transfer. This process is called arbitration.

    http://www.i2c-bus.org/clock-generation-stretching-arbitration/

    To me, this implies that the bus would run off the master clock that is left after arbitration.

    Thanks,

    John