Reply by Paul Keinanen January 17, 20072007-01-17
On Wed, 17 Jan 2007 10:17:59 -0800, "Prescott" <JP@whynot.ciz> wrote:

>I2C uses a wire-or'd bus so you can't use differential drivers. >You are stuck with 0-5v TTL signal.
You might be able to use the CANbus drivers with one load resistor from the line to Vcc and the other load resistor from the other line to Gnd. Differential wire-ORed buses could also be constructed using ordinary RS-485 chips with resistors as above and feeding the data into the Transmit Enable pin and connecting the chip data input to fixed voltage (either "0" or "1", depending on which way the load resistors are connected). Paul
Reply by -jg January 17, 20072007-01-17
Jens Gydesen wrote:
> Hi > > what is your experience with the I2C bus, what is the practical max > distance, > > please specify your pull-up resistor value, I2C clock speed, and distance
Sounds like homework? i2c is a 2 wire open-drain, wired-or BUS, and has many specs : 100Khz/400KHz/1MHz, and ~3.4MHz was talked about. There is also a FM+ variant, that bumps the drive ability, and so improves the Speed-Distance profile. There is no fundamental MAX distance : it depends on the chips used, on the pullup, or loads used, and on the speed you can tolerate. Mostly, Philips specs a capacitance, drive current, and that tends to define a distance based on Cable pF/m values. Older i2c systems were 5V, but you could take a modern CPLD, with Schmitt pins, and drive low value pullups to target almost any voltage/current profile, for maximising distances. Look at the RS232 and RS485 resource out there, for speed/distance profiles, to get some idea of cable limits. You can also use CAN BUS transcievers for the HW layer, as they are OR signal devices, but as you get this specialised, you loose the ability to clip on any-old-i2c device. However, you could deploy a common i2c library in your uC, and have a local stub that was one speed, and another MUX'd remote 'i2c' bus, you tuned for distance : same SW, but different HW drivers -jg
Reply by Prescott January 17, 20072007-01-17
I2C uses a wire-or'd bus so you can't use differential drivers.
You are stuck with 0-5v TTL signal. Typically this type of
signal is good for six feet. There are two things
that will maximize possible distance. Run slower than 100K speed
and terminate the line with maximum current allowed.

Don't think it would be a good idea to run more than 10 feet
and that with shielded cable.


"Emanuele" <emcelettronicaNOSPAM@DELETEgmail.com> wrote in message 
news:eofhem$rqf$1@newsreader1.mclink.it...
> Jens Gydesen ha scritto: >> Hi >> >> what is your experience with the I2C bus, what is the practical max >> distance, >> >> please specify your pull-up resistor value, I2C clock speed, and >> distance >> >> >> thank you, >> >> best regards >> >> Jens >> >> -------------------------------------------------------------------------------- >> Jeg beskyttes af den gratis SPAMfighter til privatbrugere. >> Den har indtil videre sparet mig for at f&#4294967295; 3924 spam-mails >> Betalende brugere f&#4294967295;r ikke denne besked i deres e-mails. >> Hent en gratis SPAMfighter her. >
Reply by werty January 15, 20072007-01-15
 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 !

Reply by werty January 15, 20072007-01-15
 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 ...

Reply by Vladimir Vassilevsky January 15, 20072007-01-15

Emanuele wrote:


>> what is your experience with the I2C bus, what is the practical max >> distance,
From one inch to infinity, depending on the amount of EMI.
>> please specify your pull-up resistor value, I2C clock speed, and >> distance >> > 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) >
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 http://www.abvolt.com
Reply by Emanuele January 15, 20072007-01-15
Jens Gydesen ha scritto:
> Hi > > what is your experience with the I2C bus, what is the practical max > distance, > > please specify your pull-up resistor value, I2C clock speed, and distance > > > thank you, > > best regards > > Jens > > -------------------------------------------------------------------------------- > Jeg beskyttes af den gratis SPAMfighter til privatbrugere. > Den har indtil videre sparet mig for at f&#4294967295; 3924 spam-mails > Betalende brugere f&#4294967295;r ikke denne besked i deres e-mails. > Hent en gratis SPAMfighter her. > >
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) Emanuele -- *** YOUR ELECTRONICS OPEN SOURCE *** http://dev.emcelettronica.com ;--------------------------------------------------------- Progetti Completi e Risorse (Full Projects and resources):
Reply by Roland Zitzke January 11, 20072007-01-11
"Jens Gydesen" <jegyREMOVE@THISget2net.dk> schrieb im Newsbeitrag 
news:45a5585d$0$14005$edfadb0f@dread15.news.tele.dk...
> what is your experience with the I2C bus, what is the practical max > distance, >
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
Reply by January 10, 20072007-01-10
On Thursday, in article
     <m9uaq292569p00hkkvte17uql89m72b643@4ax.com>
     mart_in_medina@ya___.es "martin griffith" wrote:

>On Wed, 10 Jan 2007 22:00:42 +0000 (GMT), in comp.arch.embedded >paul$@pcserviceselectronics.co.uk (Paul Carpenter) wrote: > > >sorry, but I have to ask > >>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. > >Why?
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 | paul@pcserviceselectronics.co.uk <http://www.pcserviceselectronics.co.uk/> PC Services <http://www.gnuh8.org.uk/> GNU H8 & mailing list info <http://www.badweb.org.uk/> For those web sites you hate
Reply by martin griffith January 10, 20072007-01-10
On Wed, 10 Jan 2007 22:00:42 +0000 (GMT), in comp.arch.embedded
paul$@pcserviceselectronics.co.uk (Paul Carpenter) wrote:


sorry, but I have to ask

>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.
Why? martin