SparkFun Forums 

Where electronics enthusiasts find answers.

General project discussion / help
Did you make a robotic coffee pot which implements HTCPCP and decafs unauthorized users? Show it off here!
By pmcuser
#167892
Hello
I am trying to get 100M cominication between 3.3V I2C chip to Aruduino.
See bottom for current connection.
I placed logic shifter between 3.3v I2C chip and P82b715 as 5V. (3.3V as separate supply)
Right now, I am using 2.2k pull down for both side of FET.
placed Dual 10K pot at exit side of P82b715 so I can adjust.
The reciver side of P82b715 also has dual 10K pot and placed 10k for Sx/Lx side (arduino pin SDA/SCL)
I downloaded AN 444, 452, 97055 from NXP, but still can't get it.
Some web saying that you should use 485, but I would like to stay minimum as I2C.
NXP saying you can achieve 100M even 300M in AN444, but I don't find any actual example schematic that succeeded for this kind of distance with Category 5 cable.
I2C chip - 2.2k - FET - 2.2K - P82B715 - 10k pot ~~~Cat5e cable 100M~~~10Kpot - P82B715 - 10k - Arduino

Would you please provide me better value or circuit?
Thanks
By waltr
#167895
100M cominication
100 meters between devices? Or do you mean an I2C clock speed of 100MHz?
Neither is possible with I2C. It is possible with RS485 but this is a very different protocol in almost every way than I2C.
I2C is good for maybe 1/4 meter at 100kHz.
using 2.2k pull down for both side of FET.
I2C requires pull-ups on the SDA & SCL lines not pull-downs. This is because each I2C device (master and slave) use Open-drain outputs (google this and read).

Google" RS485". There is lots of info, driver/receiver chips, application notes and example code on doing this.
By Mee_n_Mac
#167896
I would note that the P82b715 is a bus extender but lists this ...
http://www.nxp.com/documents/data_sheet/P82B715.pdf
*Increase the total connected capacitance of an I2C-bus system to around 3000 pF
* Drive I2C-bus signals over long cables to approximately 50 meters or 3000 pF
* Drives x10 lower impedance bus wiring for improved noise immunity
* Multi-drop distribution of I2C-bus signals using low cost twisted-pair cables
* AdvancedTCA radial IPMB architecture
* Driving 30 mA Fm+ devices from standard 3 mA parts


A very quick look at AN10216 (I didn't find AN444) reveals this tidbit ...
http://www.nxp.com/documents/applicatio ... N10216.pdf
An I2C bus extender can be used
Possible distances range from 50 meters at 85 kHz to 1km at 31 kHz overtwisted-pair phone cables. Up to 400 kHz over short distances.
... but w/little info on the transmission line(s).
Unless your clock speed is low and line well terminated, 100 m seems to be a stretch. Other than that, I can't say much having never used the device. What clock speeds were tried ?
By pmcuser
#167899
Thank you
It is meter. not MHz. I tried lower the rate, but did not go thru.
AN 452 is taking about ONE mile possible.
AN 444 shows 5 kinds of cable they tested .
Belden 8723 45 ohm audio cable 300M long, 48nPF ,11.5 ohm did not have problem with 100kHz data they say.
telphone cable made 95M okay. Old flat ribbon made 400M okay. (per chart)
So Cat5 should be able to do 100M.
Don't you think?
I saw somewhere person said "I had success with cat5" but didn't say detail at all.
I am sure that shift to 5V is right thing to do. I sent email to NXP, but they don't return so far.
By Mee_n_Mac
#167909
pmcuser wrote: I tried lower the rate, but did not go thru.
That doesn't exactly answer my question does it.

My point being is that you lower the rate to where cable length and line capacitance can't be the problem. You then shift into debug mode and start checking and measuring things; making sure connections are proper, supply voltages are really good, line terminations are correct, etc, etc. At some absurdly low rate you could even verify the line states change w/a DVM.
By markaren1
#168170
As waltr says, 100M is **really** pushing your luck trying to use I2C, and expect to get reliable results.

By dropping your rates, yes, you might manage to get a 1000 bps link running, but you then need to add error protection and a retry mechanism in software.

RS485 really isn't that difficult to understand, but even using the correct drivers, you will still need some decent twisted pair cable (CAT5 etc.)

Might be worth taking a look at the Sparkfun RS485 Shield DEV-11959 - also RS-485 Breakout BOB-10124.

Anyway, just a thought.

-mark
By Valen
#168172
pmcuser wrote:I did test with 1 foot cable first to verify the connection.
Can you elaborate on this? (I mean "didn't work" doesn't say much) Did you check for continuity in the long cable. I know it's an obvious thing to check, but not always done. Clock frequency or pulse period? Used pull-ups? Did you check the end of the cable with an oscilloscope. Pulses probably degenerated into ramps or triangles or something.
By pmcuser
#168572
Boys. like president said "Yes we can"
I got it with B96. very easy. I don't have 100M, but I am testing with 75M cat5 without any problem so far.
at this point, 10M or 75M doesn't make difference. nice sharp corner waves.
Thanks all. :D