I2C-in-I2C tunneling

helge wrote 07/06/2018 at 09:35 0 points

I've been looking for I2C multiplexers but all I seem to find are TCA9544 and the likes which are basically analog switches / level translators merged with an 8 bit GPIO expander. Since these parts insist on receiving a stop condition after selecting downstream slave ports, devices on both sides are afterwards equally connected to SCL / SDA lines, sharing the same address space.

What I'm looking for is a device that does the opposite: accept an I2C frame with 7bit device address, 8 bit configuration, then a repeated start condition which locks the device for this transaction and gets passed through as the first start condition to the downstream slaves.

If I'm not mistaken this would be perfectly sane in terms of I2C protocol and allow tunneling of I2C transactions.

As it stands now, the simple devices on the market just act as interconnects and slaves must use their own address selection bits to achieve a unique position in the chain, limiting the number to 4 or 8 devices at most.

Is it just me or was I2C never intended to be easily reconfigurable? :D