Go Down

Topic: I2C bus distance? (Read 1 time) previous topic - next topic

liudr

I was checking how far an I2C bus can extend and found this online:

http://www.edaboard.com/thread80459.html

I am not looking for some long distance in meters or feet, more or less half a foot or 15cm jumper wires length. In the past I've always had I2C devices on PCB or on arduino shield. Just checking with I2C experts that if I run 100MHz I2C (default arduino setting, right?) on a 15cm/0.5ft jumper wire, I'm not going to screw up. I am not using any solder-less breadboards, just jumpers and male/female headers. Thanks!

Onions

Just checking with I2C experts that if I run 100MHz I2C (default arduino setting, right?)


I don't know much about I2C, but the arduino runs at 16MHz, so I would expect the frequency to be 100KHz (or some other frequency. 100KHz was just a guess).

Onions.
My website: http://www.harryrabbit.co.uk/electronics/home.html Up and running now! (Feel free to look round!) :D

florinc

From wikipedia:
http://en.wikipedia.org/wiki/I%C2%B2C
Quote
The maximum number of nodes is limited by the address space, and also by the total bus capacitance of 400 pF, which restricts practical communication distances to a few meters.



liudr

thanks florinc. I guess you can use an EEPROM over I2C for device identification over a cable less than 1 few meters. I'll be operating way shorter wires than that.

For the software side, I have one EEPROM slot on my phi-panel, an arduino-driven user interface panel. I also have a regular arduino. I'd like to use the regular arduino to write info to the EEPROM located on the panel over jumper wires and then have the panel read the messages.

So there are two masters and one slave connected to the I2C and the masters definitely don't talk together. I guess I can just connect the I2C pins together, right?

wayneft

You should be fine.  I would recommend using external pullup resistors instead of relying on the internal pullups.
I2C GPS Shield

Checkout my Open Source GPS Tracker on Kickstarter

liudr


You should be fine.  I would recommend using external pullup resistors instead of relying on the internal pullups.


Thanks wayneft. I will have a 2K pull-up on board with the EEPROM (24LC256).

Graynomad

Quote
100MHz I2C

He he, not in our lifetime :) I'm guessing that was a typo.

There are chips (eg PCA9600, PCA9525, P82B715) that will drive I2C for a long way, the P82B715 states over 50 meters.

They all drive about 10x the line capacitance the standard allows for.
______
Rob
Rob Gray aka the GRAYnomad www.robgray.com

Grumpy_Mike

Quote
So there are two masters and one slave connected to the I2C and the masters definitely don't talk together. I guess I can just connect the I2C pins together, right?

If you do then you will need to ensure that each of the Masters are using multi master driving software in place of the normal single master software. Otherwise there will be a clash when both masters try and talk at the same time. Also note that multi master systems are more susceptible to disruption by noise as any noise can be seen by a master as the other master talking.

liudr


Quote
100MHz I2C

He he, not in our lifetime :) I'm guessing that was a typo.

There are chips (eg PCA9600, PCA9525, P82B715) that will drive I2C for a long way, the P82B715 states over 50 meters.

They all drive about 10x the line capacitance the standard allows for.
______
Rob


Rob,

I can't tell between K, M, G and T since I've lived through all them in computer storage and memory capacities. I keep making mistakes of saying 32MB tablets or 4MB memory ;)

florinc

#9
Dec 08, 2011, 01:38 am Last Edit: Dec 08, 2011, 01:39 am by florinc Reason: 1
Quote
I can't tell between K, M, G and T

I make the same mistake with money :)

Go Up