On 5/5/20 2:09 AM, Saku Ytti wrote:
I2C is a pretty terrible bus, particularly if you try to actually hang everything off of a single I2C bus, single misbehaving speaker and you might get your power supplies offline. Hopefully we'll move to I3C or 10SPE Ethernet soon. Or maybe some sort of I2C switch where every connection is on its own bus.
I was of the impression that, due to addressing, I2C bus switches are already typically used between each transceiver port and the system bus (hopefully one of many) that connects the micro to the ports (hopefully relatively dedicated to that purpose). That's certainly been the case in all of the switches I've torn down and, last time I checked at least the SFP specification, there wasn't much of a way around it since there was each transceiver uses the same, fixed addresses for ID and DDM. But yes, I2C, while very useful, is the devil. Clock stretching is particularly annoying along with the requisite use of open-drain drivers to accomplish it. I was not aware of 10SPE, though...looks very useful (for lots of purposes). Physical multi-drop on low-cost cabling is quite useful. -- Brandon Martin