I’m trying to get i2c from an expander chip to an Arduino Mega over a 100ft twisted pair. What would I use to amplify the signal (I have tried with no amp and the signal doesn’t make it). I have a maximum of 12v DC to work with. :think:
I’m not sure of the maximum distances possible but have a look at these: http://www.nxp.com/documents/leaflet/75016081.pdf
Besides dedicated buffer ICs, you can increase the current on the I2C bus as well as reduce the bit rate to get higher speeds longer bus lengths.
-Bill
Reduce the bit rate to get higher speeds? how does that work? 8^)
KeithB:
Reduce the bit rate to get higher speeds? how does that work? 8^)
If it’s not working and you reduce the bit rate until it starts working, your actual throughput is higher than what you had before. That’s my explanation and I’m sticking to it!
I was actually going to add, “do you make it up in volume?” 8^)
I’ll try the amp first because I do hardware better than software, but I’ll look into both. Thanks.
For most digital communications, it’s always a trade-off of speed versus distance. I think RS485 is spec’ed for 4000m but only at 9600bps. Speed it up to 115.2Kbps and the distance goes way down. And that’s ignoring protocol timing for things like a NACK.