Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Why I2C support less distance and less speed only?

Status
Not open for further replies.

chsp129

Junior Member level 3
Junior Member level 3
Joined
Mar 29, 2010
Messages
25
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
hyd
Activity points
1,479
Hi all
..Recently i am using I2C protocol for RTC reading and i read maximum about it.My doubt is why I2C support less distances only and is it possible to use I2C between 2 PCBs by wired connection..?

Please answer if anybody know the reasons?

Thanks
siva
 

Because of long wire impedance and other stuff thats related to wire capacity and resistance. I use SPI connection up to 3 metres, clock speed about 1MHz and it works fine, however long ranges requires differential lines, such as RS485 or CAN. Even when the wire isn't long, but the speed is 50MHz or more, there are also used differential wires, for example PCIe, SATA, USB.
 

Hi all
..Recently i am using I2C protocol for RTC reading and i read maximum about it.My doubt is why I2C support less distances only and is it possible to use I2C between 2 PCBs by wired connection..?

Please answer if anybody know the reasons?

Thanks
siva

The total bus capacitance supported by I2C devices is 400pF (according to the standard definition). Any I/O device has a capacitance of about 8 to 10pF and you have to add to it the capacitance of your cable. That´s the limitation. Being not differential signals, I2C lines are very prone to suffer interference. That´s why cable lenght should also be reduced. Respecting these limitations there is no problem interconnecting two boards.
 
Thanks
To all for Ur replies..according to these replies differential voltages support more capacitance or what is the reason that rs-485 support more distance?


Thanks'
siva
 
Actually no, but in RS485 the signal skew can be high. For true non-differential signal it has to be like this: __| |__, differential signal can have like this: __/ \__, because transition between high and low values are between crossing of S+ and S- signals. Check Wiki for EYE DIAGRAM.
 
Thanks
To all for Ur replies..according to these replies differential voltages support more capacitance or what is the reason that rs-485 support more distance?


Thanks'
siva

In I2C the bus capacitance becomes one of the speed limitation factors because you don´t have active circuits to pull-up the signal. So, the Rpullup x Cbus time constant limits the speed. Just see using an oscilloscope how distorted the signal becomes. SPI and RS232 have active drivers to both ends, so their reach is greater.
I2C, SPI and RS232 are unbalanced systems, so they suffer from ground potential differences (including ground bounce) even with quite short distances. Balanced, differential mode systems, such as RS-422/485, CAN etc. will tolerate ground potential problems within the common mode voltage
range. Also, their impedance levels match with the transmission line
(twisted pair) impedance (means a matching resistor is required at both ends). The number of nodes is basically limited by the fan-in of the receivers.
 

Attachments

  • Ten Ways to Bulletproof RS485.pdf
    155.2 KB · Views: 169

Thanksq

For all replies..i understand the point..
 

Communication can be classified two types based on the clock..
1) Synchronous, 2) Asynchronous

1) Synchronous Communication:
=> uses a physical clock
=> Receiving and transmitting of data in synchronization with physical clock pulses..
=> Physical Clock decides the speed of the communication [Master produces a clock]..
=> Eg. I2C, SPI
A) I2C:
=> 2 line Communication [named SDA and SCL]
=> Half Duplex Communication because only one line for data [At a time only one can communicate For example Master is sending some data slave should not
interfere, After completion of sending slave has to respond]
=> Speed of the I2C i) Standard Mode [100kbits/sec], ii) Fast Mode [400kbits/sec], iii) Fast-Mode Plus [1Mbit/sec]
B) SPI:
=> Requires 4 lines.. [MOSI, MISO, CLK, CS]
=> Full Duplex [Separate Line for sending and Separate line for receiving]
=> Speed upto 40Mbps.. [More faster than I2C due to full duplex]

2) Asynchronous Communication:
=> Receiving & Transmitting of data takes place in accordance with the a virtual clock called baud rate [bits/sec].. Baud Rate is nothing but communication speed.
=> Baud Rate has to be fixed on both side of the system to be communicated with the same value.
=> Lower the Baud Rate then the distance can be larger..
=> Eg: RS-232, RS-485.
A) RS-232:
=> Differential Voltage Communication.
=> Full Duplex Communication.
=> It uses three wires namely TXD, RXD, COM.
=> Being a voltage communication limited to short distance only. [A maximum of 5 feet]
=> Being a voltage signal it is very much prone to noise like EMI, ESD.
=> Can be used with HandShaking mode [Optional]
B) RS-485:
=> Differential ended current communication.
=> Half Duplex & it requires only two wires namely DATA+, DATA- (or) A,B.
=> Being current communication can be used for longer distance 1.5km.
=> Being current communication very much immune to noise like ESD, EMI.
=> Being differential ended and twisted pair we have very high CMRR.
=> Baud rate is limited to 9600bps up to 1.2 km or 19200 baud rate with limited distance.
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top