Help setting up an I2C network

Take a load off and chat!

Moderators: Henry, Mods

Post Reply
tom.ryan@fivesgroup.com
LCD?
Posts: 2
Joined: Fri Apr 03, 2009 11:27 am

Help setting up an I2C network

Post by tom.ryan@fivesgroup.com » Fri Apr 03, 2009 11:31 am

I have a project where we are going to be multi-plexing up to 80 4-line alphanumeric displays with RS-232 or I2C interfaces. The displays are to be fed from a 400 ft trunk drop-line with 80 drops of approximately 30-40 feet each.

I am familiar with RS232,RS422,RS485 but have never heard of I2C.

Do I just buy a RS232 to I2C converter for my computer's serial port and then daisy chain all the terminals from there?

Is I2C good for that many terminals or do I need to segment the network?

Is there a sample drawing somewhere that I can use as a basis for my configuration?

Thanks
Tom Ryan

Paradigm
Matrix Orbital
Matrix Orbital
Posts: 255
Joined: Thu Sep 13, 2001 6:00 pm
Location: Calgary, Alberta, Canada

Post by Paradigm » Fri Apr 03, 2009 12:09 pm

Wow, that is a serious network. To be quite honest, this is not going to be an easy task. I2C was never really designed for that large of a network. After all it is named Inter-Integrated-Circuit bus (hence I2C). It was really only designed to be used on a single PCB or perhaps between multiple PCBs. However a lot of people have used it for local communications within the same housing, hence why we offer it on our displays.

Some background, I2C is a standard for a multi-drop communications bus developed by Philips (now NXP). You can read more about it here:

http://en.wikipedia.org/wiki/I%C2%B2C
http://www.nxp.com/acrobat_download/app ... 0216_1.pdf

While RS422 and RS485 are differential and suitable for long distances due to their noise immunity, I2C is a wired-OR bus that relies on resistors pulling it back up to the high state. With that much cable, you not only have a large amount of capacitance, your topography will lend itself to issues with reflections running up and down the bus.

On the capacitance front, I2C specifications says that there can be no more than 400pF of capacitive loading on the bus. What your describing will most certainly violate that. Ideally I2C would have a single line going from one end being the master through a bunch of slaves to the last slave on the bus having the pull-up resistors. With a trunk/branch topography, that simply is not possible. Your branches are getting close to 10% of the trunk length, which could cause serious signal reflections up and down the bus.

The PDF linked above has some suggestions on using I2C extenders to divide up the bus. With one of those at the junction of every branch along the main trunk, you might be able to get the topography issues straightened out. If your main trunk of 400 feet still violates the 400pF limit, you'll have to look into breaking up the trunk itself with more I2C extenders.

On the cable front, since this isn't a differential signal, you'll need to look into as high quality cable as you can. Properly grounded shielding would also be a very good idea depending on the EMF in your environment.

Bottom line, it will be possible with careful engineering, however it will be quite a challenging task.
James McTavish, P.Eng
Director of Engineering
Matrix Orbital

tom.ryan@fivesgroup.com
LCD?
Posts: 2
Joined: Fri Apr 03, 2009 11:27 am

Some more fact checking

Post by tom.ryan@fivesgroup.com » Fri Apr 03, 2009 12:57 pm

I went back to verify my lengths.

The conveyor that this is going on is approximately 200 feet in length so the main trunk from the panel to the end of the conveyor would be about 225 to 250. Still long but not 400.

Now from the wireway to each dispaly is about 25 feet. So I am assuming I would have to have one cable down and one cable back which is 50 feet per drop. Do I really need the out and back or can I just trunk drop it?

Also there are 80 chutes but there are only forty on each side, so if I have 50 feet per drop x 40 drops, I have a 2000 foot cable. From your earlier comment it seems that this is still way too much.

How far can you go before you start worrying about line length?

Thanks again
Tom Ryan

Paradigm
Matrix Orbital
Matrix Orbital
Posts: 255
Joined: Thu Sep 13, 2001 6:00 pm
Location: Calgary, Alberta, Canada

Post by Paradigm » Fri Apr 03, 2009 2:19 pm

That is entirely dependent on your cabling. Different cables have different capacitance per unit of length. It all comes down to segmenting and staying within that 400pF limit. Quick googling reveals an average figure of about 16pF / foot for cat5e cable.

For the system you are describing, you might want to first try evaluating having one continuous run of 225 to 250 feet for your main trunk. Then off of that put on an I2C bus divider with a single 25 feet run to the display. This way, your network would be broken up into a single network of 225 to 250 feet and 40 networks of 25 feet in length. Within the PDF I linked to, pay careful attention to the "Capacitive Loading > 400 pF (Buffer)" section.

For any of these sub-networks, you'll need to look into how to break them up with hubs/extenders/repeaters from NXP:

http://www.standardics.nxp.com/products/i2chubs/

One that catches my eye is the P82B96 for its opto-isolation. In an industrial situation with motors or other electromechanical devices around, or even lightning strikes, it might help to electrically break up the network so there is no electrical connection between your sub-networks. It could provide more safety.

As will everything I'm saying though, you'll have to evaluate which factors you need to take into consideration, and work out a solution based on the documentation available.
James McTavish, P.Eng
Director of Engineering
Matrix Orbital

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests