[TriEmbed] I2C range extension

Charles West crwest at ncsu.edu
Thu Oct 1 18:26:13 CDT 2015


I would love it if we could just use off the shelf ethernet.  It doesn't
really have really have a real time capability though and the cheapest
combination I could find was about $5 (STM32F107 with a KSZ8081 for PHY).

Cost is the really attractive thing about I2C.  I can get a STM32 chip with
I2C for $.65 and there are even cheaper chips (as John mentioned).  It
wouldn't be hard to imagine a world where the bulk of robotics components
had an MCU with I2C capability.

On Thu, Oct 1, 2015 at 3:33 PM, John Vaughters via TriEmbed <
triembed at triembed.org> wrote:

> Other contraints include cost and space. Obviously if we could just build
> an ip network, none of this discussion would be interesting. It would be
> rather dull. Just buy the parts and be done with it. The suggestion for the
> communication sub-system is really just a recycled idea of a switch/router.
> Multiple serial comms and a processor. The interesting part is doing it
> with low cost and making it fit the needs of your project. I am looking
> into the ATTINY 841 (~$0.089) as a low cost UART to i2c interface for a
> comm sub system. It is not nearly as fancy as Chip's chip, but I am also
> not looking to go long distances. The program space is kind of small too.
>
> John Vaughters
>
>
>
>
>
> On Thursday, October 1, 2015 3:14 PM, Charles McClelland via TriEmbed <
> triembed at triembed.org> wrote:
>
>
> Fred,
>
> Yes, but even more interesting is the constraint - it has to run for days
> or weeks on a battery.
>
> Chip
>
> On Oct 1, 2015, at 2:49 PM, Fred Ebeling <FEbeling at ECPDesigns.com> wrote:
>
> This is an interesting problem, how do you create a network that has
> multiple nodes that run all over the place and still maintain some
> type of interaction.   How about the “WEB”.
>
> Fred
>
> *From:* Charles McClelland via TriEmbed <triembed at triembed.org>
> *Sent:* Thursday, October 01, 2015 2:07 PM
> *To:* triembed at triembed.org
> *Subject:* [TriEmbed] I2C range extension
>
> 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
> ****************************************
>
>
>
> ------------------------------
> _______________________________________________
> 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
>
>
> _______________________________________________
> 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 <http://triembed.org/>
>
>
>
> _______________________________________________
> 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/20151001/b9844323/attachment.htm>


More information about the TriEmbed mailing list