[TriEmbed] I2C range extension

Charles McClelland chip at mcclellands.org
Thu Oct 1 13:07:55 CDT 2015


Fred, 

Thanks for the history and tip on RS-485.  As with all things engineering there are tradeoffs.  Do you think I captured them correctly below:

For an i2c sensor, communicating with a micro controller, using:

An i2c extender / redriver:
	- Such as theTI P82B715DR <http://www.ti.com/lit/ds/symlink/p82b715.pdf>
	- Can go up to 5m at 5V but 3.3V operation works - just at reduced range
	- Costs $2 a chip SOIC 8 <https://www.digikey.com/product-detail/en/P82B715DR/296-24729-1-ND/2092551>
	- Can use CAT5 UTP
	- Uses open-drain lines - noise can be an issue and longer length takes lower pull-up values sucking juice


An Dual UART i2c to RS-485 transceiver:
	- Such as the NXP SC16IS752 <http://www.nxp.com/documents/data_sheet/SC16IS752_SC16IS762.pdf> 
	- Can take 100kHz to 1000’ (rule of thumb - range = 100kHz / 10^8)
	- Costs $4 a chip - 28-TSSOP <http://www.digikey.com/product-detail/en/SC16IS752IPW,128/568-11944-1-ND/5221977>
	- Can use CAT5 UTP
	- Differential signaling - more tolerant of noise
	- Runs at 2.5 or 3.3V without degradation of performance

Looking at this list, I think I will try the RS-485 solution as well - thanks for pointing this out Fred and I hope this comparison is helpful to folks.

Thanks,

Chip



> On Sep 30, 2015, at 6:02 PM, triembed-request at triembed.org wrote:
> 
> Send TriEmbed mailing list submissions to
> 	triembed at triembed.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> or, via email, send a message with subject or body 'help' to
> 	triembed-request at triembed.org
> 
> You can reach the person managing the list at
> 	triembed-owner at triembed.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of TriEmbed digest..."
> 
> 
> Today's Topics:
> 
>   1. Re: Fred Brooks presenting tonight on Centennial Campus
>      (Adam Haile)
>   2. Re: I2C range extension (Rodney Radford)
>   3. Re: Fred Brooks presenting tonight on Centennial Campus
>      (Pete Soper)
>   4. Re: I2C range extension (Chip McClelland) (Fred Ebeling)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Wed, 30 Sep 2015 14:50:06 -0400
> From: Adam Haile <email at adamhaile.net>
> To: Rodney Radford <ncgadgetry at gmail.com>
> Cc: TriEmbed Discussion <triembed at triembed.org>, 	trianglerobotics
> 	<trianglerobotics at yahoogroups.com>, 	Triangle Linux Users Group
> 	General Discussion <trilug at trilug.org>
> Subject: Re: [TriEmbed] Fred Brooks presenting tonight on Centennial
> 	Campus
> Message-ID:
> 	<CAG8g-TYsX+pF7F293jZg37zf_zR=3AV4Y_KBKdDPXV+v2oAtCg at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Oh man... that's really tempting. Thanks!
> 
> On Wed, Sep 30, 2015 at 2:46 PM, Rodney Radford via TriEmbed <
> triembed at triembed.org> wrote:
> 
>> Fred Brooks, author of "Mytical Man Month" and project lead of the IBM/360
>> system, will be presenting tonight on Centennial campus on the history of
>> computing.
>> 
>> If you have never heard of Dr Brooks, you should read a little about his
>> career and show up tonight to hear him speak.
>> 
>> https://en.wikipedia.org/wiki/Fred_Brooks
>> 
>> If you know who he is, you already know why you should attend.
>> 
>> More detail at the link below:
>> 
>> 
>> https://meetings.vtools.ieee.org/m/35685
>> 
>> 
>> 
>> _______________________________________________
>> 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
>> 
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20150930/18e246ab/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 2
> Date: Wed, 30 Sep 2015 15:04:21 -0400
> From: Rodney Radford <ncgadgetry at gmail.com>
> To: TriEmbed Discussion <triembed at triembed.org>
> Subject: Re: [TriEmbed] I2C range extension
> Message-ID:
> 	<CA+kfaxGN56iAhKCSsRDi7VzLZuH71vwxxxZVzZKEoGquUDAgBw at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> I used I2C to control about a dozen salt water aquariums several years ago.
> 
> This involved a single PC bit-banging I2C out a parallel port (so was slow)
> to a temperature sensor in each of the aquariums (some 30' away), sending
> status out to a a couple 2x16 and 4x16 displays (I2C serial -> parallel ->
> LCD parallel interface), and controlling the heaters.
> 
> This was for an outdoor, unheated, uninsulated building where the water in
> the salt water aquariums had to be kept within a fairly narrow range.  We
> monitored the temperature of the tanks and the external temp and would
> start the heaters in the water when we notice the temp dropping.  This
> replaced a mechanical temperature setup where the heaters would turn on
> once the water got too cold, but by that time, the thermal mass of the
> water prevented it from heating fast enough.
> 
> Now all of this would be replaced with a couple Arduinos, one devoted to
> each tank, and a multi-drop serial bus to report back to the PC, but this
> was back about 20 years ago.
> 
> This worked with no problems for the several years i worked with it.
> 
> A few things we did:
> * twisted pair
> * I2C range extenders with 12v pullups
> * was not a noisy environment (outdoor building with only a single power
> drop and no other electrical devices)
> 
> This was far enough back that you couldn't even buy the I2C devices in low
> quantities, so companies like Pure Unobtanium sprung up (Ed Nisley's
> company - previous author in Circuit Cellar Ink, and past Triangle Amateur
> Robotics member) would buy parts in the minimum quantity and sell to
> hobbyists.  Unfortunately by the time he would burn through enough stock to
> break even, they would be available from other suppliers for less.
> 
> Also check out AccessBus - it was based on I2C and was designed to be a
> desktop peripheral interface.  Unfortunately it was not adopted and USB has
> since taken over this market.
> 
> So the short of it - yes, you can use I2C for longer distances in some
> circumstances.
> 
> 
> On Tue, Sep 29, 2015 at 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
>> 
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20150930/7393dd7e/attachment-0001.html>
> 
> ------------------------------
> 
> Message: 3
> Date: Wed, 30 Sep 2015 15:32:55 -0400
> From: Pete Soper <pete at soper.us>
> To: triembed at triembed.org
> Subject: Re: [TriEmbed] Fred Brooks presenting tonight on Centennial
> 	Campus
> Message-ID: <560C38E7.7090105 at soper.us>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> WOW. Thanks very much for the notice, Rod. This is truly one of the 
> grand old men of software engineering (and he's much younger than I 
> thought!)
> 
> -Pete
> 
> 
> 
> 
> ------------------------------
> 
> Message: 4
> Date: Wed, 30 Sep 2015 14:18:13 -0400
> From: "Fred Ebeling" <FEbeling at ECPDesigns.com>
> To: "Charles McClelland" <chip at mcclellands.org>,
> 	<triembed at triembed.org>
> Subject: Re: [TriEmbed] I2C range extension (Chip McClelland)
> Message-ID: <B812360D6960473488D05FE620FFFE2C at ECPDesigns>
> Content-Type: text/plain; charset="utf-8"
> 
> This has been an interesting discussion, but perhaps a bit of history would
> help.   The original I2C protocal was developed by Philips to interconnect
> HIFI equipment together and still be able to use a 3 connector plug.  It was
> designed for short distances, perhaps 10 feet max.
> 
> To go further the normal ?standard? is to use RS 485 (or RS 422) standard.  This
> uses three wires, a ground, and two signal wires that are opposite of each other.
> So when the TX+ sends a ?1?, the TX- sends a ?0?.  The wires are also terminated
> usually with a 120 ohm resistor on both ends.  Thou some ignore this rule.
> 
> RS-485 can go thousands of feet.  I have set up systems with the length of over
> 4000? between the controller and the node. 
> 
> Speed is based on distance, the major limitation is the ?capacitance of the wire?.  This
> will cause the leading and falling edge to degrade and limit the speed to around 10KHz
> for long distances.  Shorter distances (100?) can get up to 1 MHz.
> 
> The problem thou is this is one way communications at a time.  Think of it like the
> old CB radios.  You send a packet to the ?good old boy? at the end node and say ?Over?
> so the end node can respond back.
> 
> RS 422 eliminates this by having separate xmit and rec pairs.  
> 
> In either case, the RS485 IC are reasonable priced and there are even standards for
> the connectors and connections.
> 
> Fred Ebeling
> ECP Designs
> 
> 
> 
> From: Charles McClelland via TriEmbed 
> Sent: Wednesday, September 30, 2015 1:54 PM
> To: triembed at triembed.org 
> Subject: [TriEmbed] I2C range extension (Chip McClelland)
> 
> Charlie, 
> 
> I agree with John?s recommendations but wanted to pass on my experience.   I can reliably go 8? with i2c under the following conditions:
> - Cat5 cable and paying attention to which pairs are used for SDA / SCL
> - Speed set to 100kHz 
> - 4.7k pull-ups to 3.3V
> 
> I need to get to 50? so I have ordered a few P82B715 chips.  These chips advertise to get to 50? but only if you are using 5V logic so we will see if they can go 50? at 3.3V.  I will share my results at the next meeting.
> 
> Hope this helps,
> 
> Chip
> 
> 
> 
>  On Sep 30, 2015, at 1:00 PM, triembed-request at triembed.org wrote:
> 
>  Send TriEmbed mailing list submissions to
>  triembed at triembed.org
> 
>  To subscribe or unsubscribe via the World Wide Web, visit
>  http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
>  or, via email, send a message with subject or body 'help' to
>  triembed-request at triembed.org
> 
>  You can reach the person managing the list at
>  triembed-owner at triembed.org
> 
>  When replying, please edit your Subject line so it is more specific
>  than "Re: Contents of TriEmbed digest..."
> 
> 
>  Today's Topics:
> 
>    1. Re: Bulk LED Order (Adam Haile)
>    2. I2C range extension (Charles West)
>    3. Re: I2C range extension (John Vaughters)
> 
> 
>  ----------------------------------------------------------------------
> 
>  Message: 1
>  Date: Tue, 29 Sep 2015 13:58:17 -0400
>  From: Adam Haile <email at adamhaile.net>
>  To: "triembed at triembed.org" <triembed at triembed.org>
>  Subject: Re: [TriEmbed] Bulk LED Order
>  Message-ID:
>  <CAG8g-TaEQgjJRs4GGKhWiMPj-NTKE_iUxbLXbdqY-6z6Nn0fTQ at mail.gmail.com>
>  Content-Type: text/plain; charset="utf-8"
> 
>  Final call! Putting in quote request tomorrow. Let me know if you want
>  anything.
> 
>  On Fri, Sep 11, 2015 at 11:14 AM, Adam Haile <email at adamhaile.net> wrote:
> 
> 
>    I recently had to tear down my old porch lighting install when we had our
>    house repainted, so I'm going to be ordering a bunch of new lights from my
>    supplier in China.
> 
>    Like last time, if anyone wants to get in on the order, the pricing is a
>    huge discount from normal suppliers like Adafruit, Sparkfun, Amazon, eBay,
>    etc.
> 
>    I don't take a profit, the prices in the pricing lists (GDrive link below)
>    are direct from the manufacturer. The major point here is to save on
>    shipping for everyone. Which I'll divide between all buyers based on the
>    percentage of the overall purchase price which is yours.
> 
>    Pricing lists here:
> 
>    https://drive.google.com/folderview?id=0B7a_WsLpan5-SEl5TjAtTjctZm8&usp=sharing
> 
>    So, if you would like anything, please let me know in the next couple of
>    weeks and give me the exact model number and quantity. Most things come in
>    5m rolls, so you can tell me rolls or meters.
> 
>    Once I get everyone's details I'll will request a final quote (some of the
>    pricing can vary by quantity) and then send everyone their final cost.
> 
>    *PLEASE NOTE*: Since I have to pay the manufacturer via PayPal, you *MUST* pay
>    me via Paypal. That way no money has to go through my own personal bank
>    accounts first. So, sorry, no cash or checks. And payment must go through
>    prior to submitting the final order to the manufacturer. Sorry if this is
>    an inconvenience, but it's the easiest way for me to do it.
> 
>    Let me know.
> 
>    Adam
> 
> 
>  -------------- next part --------------
>  An HTML attachment was scrubbed...
>  URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20150929/48eba6b8/attachment-0001.html>
> 
>  ------------------------------
> 
>  Message: 2
>  Date: Tue, 29 Sep 2015 22:03:01 -0400
>  From: Charles West <crwest at ncsu.edu>
>  To: TriEmbed <triembed at triembed.org>
>  Subject: [TriEmbed] I2C range extension
>  Message-ID:
>  <CAGojqSk0_4x63vjm0EhqRag56fW9y38j9qfJzOF8sRwzW_tfLQ at mail.gmail.com>
>  Content-Type: text/plain; charset="utf-8"
> 
>  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
>  -------------- next part --------------
>  An HTML attachment was scrubbed...
>  URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20150929/064d0dab/attachment-0001.html>
> 
>  ------------------------------
> 
>  Message: 3
>  Date: Wed, 30 Sep 2015 12:54:03 +0000 (UTC)
>  From: John Vaughters <jvaughters04 at yahoo.com>
>  To: Charles West <crwest at ncsu.edu>, TriEmbed <triembed at triembed.org>
>  Subject: Re: [TriEmbed] I2C range extension
>  Message-ID:
>  <1421720024.2476926.1443617643320.JavaMail.yahoo at mail.yahoo.com>
>  Content-Type: text/plain; charset=UTF-8
> 
>  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
> 
> 
> 
>  ------------------------------
> 
>  Subject: Digest Footer
> 
>  _______________________________________________
>  TriEmbed mailing list
>  TriEmbed at triembed.org
>  http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> 
> 
>  ------------------------------
> 
>  End of TriEmbed Digest, Vol 28, Issue 31
>  ****************************************
> 
> 
> 
> 
> 
> --------------------------------------------------------------------------------
> _______________________________________________
> 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
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20150930/3acca29c/attachment.html>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> TriEmbed mailing list
> TriEmbed at triembed.org
> http://mail.triembed.org/mailman/listinfo/triembed_triembed.org
> 
> 
> ------------------------------
> 
> End of TriEmbed Digest, Vol 28, Issue 33
> ****************************************

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.triembed.org/pipermail/triembed_triembed.org/attachments/20151001/0fa927f4/attachment.htm>


More information about the TriEmbed mailing list