Jump to content

Bus capacity and cable length of I2C Bus


Screaming_Rabbit

Recommended Posts

THX stryd. - Your answer gave me some imput for googling (... and I finally found some time to do so).

I was surfing a bit... for your interest (I put the links to the wiki too):

From: http://www.esacademy.com/faq/i2c/q_and_a/i2cqena.htm

Question: What is the maximum distance of the I2C bus?

This depends on the load of the bus and the speed you run at. In typical applications, the length is a few meters (9-12ft). The maximum capacitive load has been specified (see also the electrical Spec's in the I2C FAQ). Another thing to be taken into account is the amount of noise picked up by long cabling. This noise can disturb the signal transmitted over the bus so badly that it becomes unreadable.

The length can be increased significantly by running at a lower clock frequency. One particular application - clocked at about 500Hz - had a bus length of about 100m (300ft). If you are careful in routing your PCB's and use proper cabling (twisted pair and/or shielded cable), you can also gain some length.

If you need to go far at high speed, you can use an active current source instead of a simple pull-up resistor. Philips has a standalone product for this purpose. Using a charge pump also reduces "ghost signals" caused by reflections at the end of the bus lines.

From the Spec:

17.3 Wiring pattern of the bus lines

In general, the wiring must be so chosen that crosstalk and

interference to/from the bus lines is minimized. The bus

lines are most susceptible to crosstalk and interference at

the HIGH level because of the relatively high impedance of

the pull-up devices.

If the length of the bus lines on a PCB or ribbon cable

exceeds 10 cm and includes the VDD and VSS lines, the

wiring pattern must be:

--SDA

--VDD

--VSS

--SCL

If only the VSS line is included, the wiring pattern must be:

--SDA

--VSS

--SCL

These wiring patterns also result in identical capacitive

loads for the SDA and SCL lines. The VSS and VDD lines

can be omitted if a PCB with a VSS and/or VDD layer is

used.

If the bus lines are twisted-pairs, each bus line must be

twisted with a VSS return. Alternatively, the SCL line can be

twisted with a VSS return, and the SDA line twisted with a

VDD return. In the latter case, capacitors must be used to

decouple the VDD line to the VSS line at both ends of the

twisted pairs.

If the bus lines are shielded (shield connected to VSS),

interference will be minimized. However, the shielded

cable must have low capacitive coupling between the SDA

and SCL lines to minimize crosstalk.

Greets, Roger

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...