[TriEmbed] I2C range extension

John Vaughters jvaughters04 at yahoo.com
Wed Sep 30 07:54:03 CDT 2015


Charlie,

The biggest problem I would be concerned about on i2c over a long distance is noise susceptibility that could affect reliability. So the importance of reliable communication is at question. I guess the first question would be, do you have an environment that is noisey? Then, Do you care if you have interruptions? If your environment is fairly clean of noise and you can live with communication interruptions, then long i2c may be a good low cost solution for long runs. 

Here is what you may want to consider. 

1. Take control of the pull up resistors by disabling them on the chip.
2. Tune the pull up resistors by starting at a safe low level and then increase them until you stop getting communication at the length you are running. Then back down. Keep in mind that you will gain more reliability as you reduce the pull ups.
3. Twisted pair cables would be your first attack on noise.
4. If you still encounter noise, consider ferrite beads to supress. This is best done if you have an idea of the noise frequency. 

The alternative is if you truly desire reliable communications, then 485/CAN is the way to go. CAN being the most expensive, but gives you the similar capability to i2c with the ad hoc interruption communication capability. Or better stated an adhoc like network with a priority assignment.

I personally never ran i2c that long and cannot answer those questions. I generally have used 485 the most. The TI chips are usually the lowest cost for communication. For some reason people love the half duplex, but I prefer the full duplex.

I would be curious to know how far you make i2c run if you go that route.

John Vaughters



On Tuesday, September 29, 2015 10:03 PM, Charles West via TriEmbed <triembed at triembed.org> wrote:



Hello,

Thanks again for all the good discussion on electrical connectors. 

We're still debating some of the specifics for the CANInstall and/or I2CPotential protocols.  One of the big things up in the air is how reliable I2C is and how long the range can be.

My impression is that having a I2C bus of more than a meter or two is considered pushing your luck.  However, there seem to be range extender/repeater chips available that promise rather drastically improved range (such as the P82B715).  

If I may ask, what is the longest I2C bus you have built/seen?

How has your experience been in terms of reliability?

What sort of bus speeds do you tend to use?

The bus speed is driven by the master, so theoretically you could have a sub-hertz baud rate?  Does this mean that you could get a really long range with a super slow baud rate or are the edges not sharp enough to be detected?

Thanks,
Charlie

_______________________________________________
Triangle, NC Embedded Computing mailing list
TriEmbed at triembed.org
http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
TriEmbed web site: http://TriEmbed.org




More information about the TriEmbed mailing list