I2C wiring configurations

Is it possible / wise to use a "star" configuration when setting up a small I2C network? In other words with the various I2C devices each connected to a central clock and data point, rather than the standard linear bus topology with each device passing the bus onto the next device. What would the ramifications be for length and capacitance etc? Would it even work?

Neil

Reply to
Neil
Loading thread data ...

An I2C bus is a wire. Slave devices don't 'pass the bus on'. They listen to the same wires, and sometimes pull them down to ack and flow control. The master pulls the clock and data wires down to signal. There is a single pullup resistor for all devices. Thus, devices do not interfere with one another, except by possibly adding capacitance and load, which can slow down the recovery time when the bus is released.

If you were to do a 'star', you would have, in effect, a separate I2C bus for each device, which kinda defeats the whole purpose.

--
Regards,
  Bob Monsen
Reply to
Bob Monsen

You can lay out your pcb that way if you like. Won't affect how I2C works though.

I2C is simply 2 traces, one for clk and one for data. They go to every device. End of story.

Read up how it works. Philips originated it so their website is likely to be your best source of info.

Graham

Reply to
Pooh Bear

For low-speed I2C on a PCB it shouldn't make a difference unless you're talking about a pretty big PCB, though if you're really feeling queasy about it you can SPICE the whole thing with a few transmission lines with capacitive loads on the ends. If you're talking about actually connecting cable runs across multiple seperate devices over I2C (which I wouldn't recommend), then you definitely want to invest some time in SPICEing it.

That funky high-speed version, 3.4 Mbps I think, might get a little iffier, but since I've never seen it in silicon it seems like less of an issue.

Reply to
Rob Gaddi

Surely not, as each device's clock and data lines are commoned together, just as they are in the more familiar linear "bus" arrangement. Topologically they're the same - I was really enquiring about capacitive effects etc.

Neil

Reply to
Neil

I am actually connecting multiple separate PCBs with I2C, although only over distances of 10-20cm, and at slow speeds. You're right, I should see what SPICE brings up when modelling my specific arrangements/components.

Thanks,

Neil

Reply to
Neil

on low speeds it is not even an issue i made star connections on pcb and the speed was 100 kHz and worked fine. it even got lloyds just clock it higher and higher until the errors are to much. you will get check on it as you must check acknowledge. a scoop on it or in software is best way.

Reply to
polleke

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.