Timeline for Why do I2C lines use open drain driver instead of tri-state drivers?
Current License: CC BY-SA 3.0
8 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Feb 15, 2017 at 22:18 | comment | added | supercat | @Asmyldof: A lot of devices have commands that aren't idempotent; "increment counter" is just the simplest to describe (two words). Unless a device's command structure is designed from the bottom up for multi-master use, there are apt to be problems. Further, even single-master-two-slave without clock stretching can get into an unrecoverable state if a slave doesn't see a clock pulse; I would think multi-master would add even more problematic states. | |
Feb 15, 2017 at 21:40 | comment | added | Asmyldof | @supercat in which this "increment counter" is some form of a command someone implemented ontop it. Commands and transactions can quite easily be designed such that these occurrences do not harm the command protocol layer of either master. | |
Feb 15, 2017 at 20:21 | comment | added | supercat | @Asmyldof: Multi-master has some cool features, but has no clean way of handling certain scenarios. For example, if two masters simultaneously issue an "increment counter" request to a slave, each may think its request succeeded but the counter will only be advanced by one rather than two. | |
Feb 15, 2017 at 19:24 | vote | accept | athedcha | ||
Feb 15, 2017 at 18:27 | comment | added | Asmyldof | Way too few. Multi-master is cool. But it is a decent part of the spec, so as a reason of "why not different" it is quite relevant. | |
Feb 15, 2017 at 18:23 | comment | added | The Photon | @Asmyldof, true, but what % of I2C applications do you think actually use multi-master? | |
Feb 15, 2017 at 17:59 | comment | added | Asmyldof | +also multi-master negotiation is quite transparent on wired-OR busses (to @athedcha: which pulled up open collector is one of). | |
Feb 15, 2017 at 17:35 | history | answered | The Photon | CC BY-SA 3.0 |