I2C Distance

This is great information. A couple questions:

  1. How many of these extenders can be used on a single bus? I thought I saw a limit of 30 somewhere.... Would you still be able to have the maximum number of devices on a bus as provided by the I2c spec if each connected to the bus via one of these extenders?

  2. It seems that pull up resistor value is critical with this device. But what if you don't know the total number of devices that will be connecting to the network? Can you design for the max number of devices in terms of pull up resistor calculations and still have everythig work when fewer than the maximum number of devices are on the bus?

  3. How are these extenders different from the mosfet-based level shifting circuit described at the end of the I2c spec? Until reading about the dedicated bus extenders, I had planned on using the level shifting circuit on every one of my slave devices to provide the same type of bus extendability provided by these chips.

  4. If you use these chips, how many wires do you need for the long-range bus? In the diagrams it looks like you could get by with just two wires but then other diagrams also show 4. I have a need to minimize the number of wires on the bus (I can do 3 wires max) while maximizing the number of slave devices supported as well as the total bus length.

Any suggestions would be much appreciated. Thank you!

--Rob