Electronic – i2c to i2c bridge (router)

i2c

I'm currently working on a project where something as silly as a i2c to i2c bridge would be perfect. Unfortunately they don't seem to exist. Anyone know of one? Is there any reason why they don't exist besides no one sees the need?

Let me explain the project. I'm making a module Video switch that can have modules for different input types (RGB, Component, HDMI, etc). Each module will stack with a Microcontroller module being able to control everything in the stack. It would be nice if I would only have to use 2 lines in the board interconnects to control all the boards (i2c). The issue is multiple of the same board can be used in the stack so there would be identical i2c chips on the same bus. Sure I could use DIP switches for each IC to address each on but that make design and software development a nightmare. So it would be nice if I could address a i2c slave on each board (1 DIP switch for each board) and then command that slave to be the master of a i2c chips on that board.

One thought is to use a i2c to SPI connected to a SPI to i2c (Not sure if that would work). Any thoughts on all this rambling? Thank you all in advance.

Best Answer

What you are looking for is probably an I2C multiplexer. There is a wide selection of these parts available, but one example is TI's TCA9544A. It's effectively a 1-to-4 switch for I2C signals, which will itself respond to I2C commands at a configurable address. Unlike a normal switch, though, each of the four downstream channels can be switched on or off separately -- so it's possible to enable more than one of those channels at a time, if appropriate, or even to disable them all.

Another option is an I2C address translator. These are less common; one example is Linear's LTC4317. This device can be used to effectively change the address of an I2C device behind the translator.