1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

I2C - distance between master and slave?

Discussion in 'Embedded' started by Jens Gydesen, Jan 10, 2007.

  1. Jens Gydesen

    Jens Gydesen Guest


    what is your experience with the I2C bus, what is the practical max

    please specify your pull-up resistor value, I2C clock speed, and distance

    thank you,

    best regards

    Jens Gydesen, Jan 10, 2007
    1. Advertisements

  2. Jens Gydesen

    Arlet Guest

    Arlet, Jan 10, 2007
    1. Advertisements

  3. On Wednesday, in article
    Your wording sounds more like a 'homework' question. Distance, speed
    and rise times are noted in the I2C spec that is publicly available.
    Max distance also depends on repeaters and things like ACK turnaround
    Pull-up resistor value depends on many factors, speed, capacitance of signal
    run, voltage drop down signal run. How you work this out depends on many
    aspects of your application.

    I have done 8m at 80KHz and cannot remember what the pullup value was. The
    cable was chosen for low loss, low capacitance and screening.

    Most full DDC compliant VESA monitors have greater than 1m of I2C signal
    run to read the monitor details.

    See the I2C spec and many, many references on how to do this.
    Paul Carpenter, Jan 10, 2007
  4. One limiting factor with any unbalanced TTL level system is the ground
    potential difference between devices.

    Paul Keinanen, Jan 10, 2007
  5. sorry, but I have to ask

    martin griffith, Jan 10, 2007
  6. On Thursday, in article
    I am not sure what bit(s) the why refers to?

    Low was a relative term compared to what I had to start with, and was
    expected to use. Still standard multi-core cable.

    One end was powered from the main battery powered handheld device.

    Overall screening was to stop the main unit's RF transmitters from getting
    in the cable! Especially as one user liked to hold the cable near the
    aerials of the main unit.
    Paul Carpenter, Jan 11, 2007
  7. I have seen people using a 10 m i2c connection at about 10 hbit/s in a
    factory environment. Not sure what the pullup was but probably something
    below 4k7.

    Roland Zitzke, Jan 11, 2007
  8. Jens Gydesen

    Emanuele Guest

    Jens Gydesen ha scritto:
    In my BLOG You can see a schematic project (IPERKEY)
    that control a remote key (eeprom inside) with I2C bus.

    I tested it at 100 meters with standard alarm cable (0.22)




    Progetti Completi e Risorse (Full Projects and resources):
    Emanuele, Jan 15, 2007
  9. Emanuele wrote:

    From one inch to infinity, depending on the amount of EMI.
    Regardless of the max. distance in the ideal conditions, using I2C for
    communication outside a device is bad idea.

    Vladimir Vassilevsky

    DSP and Mixed Signal Design Consultant

    Vladimir Vassilevsky, Jan 15, 2007
  10. Jens Gydesen

    werty Guest

    I think to work with this , you must first learn the general
    rules of transmission lines . Its not difficult .

    Slow methods violate all the rules , so RS232 and many others
    will not teach you anything .

    Notice USB has balanced , opposed signals and termination
    resistors for Hi-Speed USB .

    the 2 wires are a parallel transmission line and the currents in
    the wires will push each other away .
    In EE , all work is done by pushing , not pulling .
    Voltage pushes electrons onto capacitors , and electrons
    thru resistors .
    magnetic flds push electrons in the secondary winding ..
    The minute area of each wire can be a capacitor but there
    is inductance along the wire "isolating" the capacitance , so
    you cant see the cap ....
    dont expect a capacitive effect at the ends of the xmission line .
    Instead , C is stored and given back at odd times .
    If you see this give back at the ends of the wire ,
    the resistance of the wire , compared to the capacitance
    is low , allowing the charge to reach the ends , undiminished .

    The capacitor can send his charge to the ends of the wire
    with low loss . if its out of phase , it causes unwanted noise as
    you try
    to transmit .
    It could raise the signal or worse , null it !
    PC "PCI" buss uses this to increase its signals and
    thus lower the power needed to "drive" the bus .
    We call it a
    Tuned buss or
    Tuned transmission line .
    Its Tuned , and will not work if distances are not exact .

    an IBM PC MoBo data/address has lines , weaving and
    this can create 10 times higher inductance , but it can
    also create a longer xmission line !!

    so , as an engineer , i must assume they did an
    approx of distance , then added inductive zig-zags
    til the "line" was resistive ( alias "matched line " ) .
    Because to first figure how many zigs-zags , then
    how do you change length ? If u luck out and can still
    add zigs , in that place ....

    USB wire spacing is not important unless you are at 480Mbits/sec
    aka "Hi-Speed" .
    The EXT connector on GP2X is spaced too close .
    the spacing must be 100 ohms . 100 Ohms is a ratio
    distance to wire size , but wire size is ussually limited .
    But ! GP2X has not Hi-Speed , so less worry .

    USB and Firewire have short distances , but yet they
    can have many "wavelength" on the cable .

    If your xmission line has 2.5 waves on it , and no resistor
    at each end to damp noise or "terminate" the line ,
    you will get a boost .

    But if proper resistor ( 100 ohms) , no stored charge
    on the "distributed" capacitance of the cable/line
    will be seen anywhere .
    Its modular , at all even 1/2 waves , you get same thing ,
    but for very long lengthe , signal is attenuated .

    A very long and poor line ( RG58 at 450 mhz ) the signal
    is killed as it tries to return , no problem , no need to
    put 50 ohm resistor at end .

    Suppose you used CATV 75 ohms cable on ethernet ?
    you could xmit 5 times further , because Cat5e is trash !

    1) resistors at both ends for bidirectional comm'
    but you can remove one as you transmit , only destination
    needs a 100 ohm . ( USB )

    2) twisted pair is 'twisted" , it dont work , it has interference
    where ever it goes and worse it fights adjacent signals as
    in Cat5e !!
    3) coax works if you attenuate the "2nd" signal on outside
    of the cable , using stubs .
    this increases the Z , seen on outside , to make it look infinite .
    Digital data rates must be above 50 mega bits / sec to be
    needing your attention .

    Thus 1000' is a matter of signal strength .
    .. drive 2 vac peak to peak and you can go LONG !
    RS232c must be millivolts PP !!

    OOOpppps door bell rang .... next time ...
    werty, Jan 15, 2007
  11. Jens Gydesen

    werty Guest

    But you did not lay the line next to metal objects !

    I can completely kill any useful data at destination , by
    simply laying the cable next to common objects .

    Only Coax ( CATV ) gets thru , under these annoyances .

    Cat5e sucks . It works marginally if there were only 1 pair !
    werty, Jan 15, 2007
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.