Questions:I2C arbitration under special cases

Sep 05, 2006 3 Replies

Does anybody know what does Philips specification on I2C mean when saying:



" Masters must send repeated Start and Stop conditions at the same position in the format frame. In other words, arbitration isn't allowed


between:



  1. A repeated START condition and a data bit.
  2. A STOP condition and a data bit.
  3. A repeated START condition and a STOP condition "


What the hell mean "arbitration isn't allowed"? WHO wins? Is still the wired-and the solution? If there are two masters.one sends repeated START ,another sends STOP conditions.Does it



mean a low level on SDA bus finally?Is it allowed?


Thank you! I need to understand this!!!



Not Sure. But a low always wins since you can not force a logic high.

schrieb

The intention of a repeated start condition is to allow a master to keep talking on the bus without the risk of someon else getting control over the bus between two messages. If one master is talking (whether or not it has previously won an arbitration phase) no other master devices are allowed to send anything on the bus until the bus is free again i.e. a stop was sent. In other words masters have to detect a busy bus and are not allowed to send data at any time regardles of bus activity. A typical application is a "Read-After-Restart" applied on a EEPROM where a master first writes an address and then uses a repeated start condition to read back the requested data. In this case it would be fatal if an arbitration was allowed during this second addressing phase and the atomic communication would be interrupted by another master requesting a different data chunk from the same EEPROM.

Thus, to answer your question, there shouldn't be a stray stop condition coming from another device.

/Roland

I see.Thanks Roland Zitzke =E5=86=99=E9=81=93=EF=BC=9A

he

end

a

by

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required