Shi_Tou 发表于 2012-3-28 15:31:06

IIC的最远传输距离是多远?

IIC的最远传输距离是多远?比如单片机操作24C02,支持最长引多远距离的线通信不会失败。或者失败率不高。

llanero 发表于 2012-3-29 13:47:35

看传输速率,频率底,就远一点儿.
好像也就几米.再远就要受干扰的.

jcrorxp 发表于 2012-3-29 15:50:37

这个东西主要是压降的问题吧, 3.3V肯定就传不了多远

Shi_Tou 发表于 2012-3-30 17:18:26

我感觉一米的线和1.5米的线差别好大,估计是这个距离长了。

Receiver 发表于 2012-3-30 17:50:06

压降是个问题,但是更重要的应该是总线上的容值吧,I2C规范有定义上限的。
或者说,压降很可能是因为线长以后容值上升引起的。

.titrwh 发表于 2012-3-30 17:54:03

IIC本来就是板间通讯的,最好不要扯线了。                                                         

nomsg 发表于 2012-3-30 18:17:16

最好不要拉线,不稳定

rclong 发表于 2012-3-30 18:44:52

要远就加中继
或者转成差分信号

szxszx 发表于 2012-3-30 19:24:39

I2C就是IC和IC之间通讯,距离很近,曾经试过2m没问题,速率不要太高。
距离主要由线间电容决定,可以用中继延长。

kdtcf 发表于 2012-3-30 19:29:11

想远就加大上拉电流,降低频率,要是用470R电阻,几十米肯定没问题的,再就是用屏蔽线会好很多。

ahuang227 发表于 2012-3-30 19:39:00

远距离的还是CAN通信,IIC只能同一个板子上的。

format 发表于 2012-3-30 19:47:03

楼上正解

为神马要用IIC呢

4线双工 戏把无 ,也是不错的选择啊

pengchhui 发表于 2012-3-31 09:07:30

好像要转差分信号,而且要用质量好的带屏蔽的线会好点

USACH 发表于 2012-3-31 09:13:19

看IIC的协议可知,IIC的速度和上拉电阻成反比(非线性),和电容大小成反比,距离和电容有关。


只要控制好上拉电阻,10M的速度不是问题,如果不需要速度,2-3米不是问题。

Jigsaw 发表于 2012-3-31 09:15:54

USACH 发表于 2012-3-31 09:13 static/image/common/back.gif
看IIC的协议可知,IIC的速度和上拉电阻成反比(非线性),和电容大小成反比,距离和电容有关。




IIC啥时候出了10M速度的协议?

USACH 发表于 2012-3-31 09:41:39

Jigsaw 发表于 2012-3-31 09:15 static/image/common/back.gif
IIC啥时候出了10M速度的协议?

引用下飞思卡尔MAG3110 datasheet里面的话吧:

4.3.2 Pullup
The SCL and SDA signals are driven by open-drain buffers and a pullup resistor is required to make the signals rise to the
high state. The value of the pullup resistors depends on the system I2C clock rate and the capacitance load on the I2C bus.
Higher resistance value pullup resistors consume less power, but have a slower the rise time (due to the RC time constant
between the bus capacitance and the pullup resistor) and will limit the I2C clock frequency.
Lower resistance value pullup resistors consume more power, but enable higher I2C clock operating frequencies.
High bus capacitance is due to long bus lines or a high number of I2C devices connected to the bus. A lower value resistance
pullup resistor is required in higher bus capacitance systems.
For standard 100 kHz clock I2C, pullup resistors typically are between 5k and 10 kΩ. For a heavily loaded bus, the pullup
resistor value may need to be reduced. For higher speed 400 kHz or 800 kHz clock I2C, bus capacitance will need to be kept low,
in addition to selecting a lower value resistance pullup resistor. Pullup resistors for high speed buses typically are about 1 KΩ.
In a well designed system with a microprocessor and one I2C device on the bus, with good board layout and routing, the I2C
bus capacitance can be kept under 20 pF. With a 1K pullup resistor, the I2C clock rates can be well in excess of a few megahertz.

Jigsaw 发表于 2012-3-31 09:56:36

USACH 发表于 2012-3-31 09:41 static/image/common/back.gif
引用下飞思卡尔MAG3110 datasheet里面的话吧:

4.3.2 Pullup


谢谢,原来还有这一出,

很多单片机对IIC的总线都只给出100K和400K的说明

USACH 发表于 2012-3-31 09:58:35

Jigsaw 发表于 2012-3-31 09:56 static/image/common/back.gif
谢谢,原来还有这一出,

很多单片机对IIC的总线都只给出100K和400K的说明 ...

IIC的协议里面只是说速度和上下拉、电容有关,并没有限定速度。

其实我用430跑IIC的时候,可以轻松过1M的速度,10M的话我还没去试过。

黑暗深处 发表于 2012-3-31 10:08:29

kdtcf 发表于 2012-3-30 19:29 static/image/common/back.gif
想远就加大上拉电流,降低频率,要是用470R电阻,几十米肯定没问题的,再就是用屏蔽线会好很多。 ...

用5V/1A的电源 SDA/SCL 上拉33R电阻,用屏蔽网线做过实验,能到50厘米,再远就不行了是什么原因?

smithding 发表于 2012-3-31 11:14:59

我用IIC读取板上芯片时,可以达到1M的速度;
用并行线0.3m时1M速度错误增加,用400K可以正常通讯
IIC传输的距离和你线的电气指标有关

Shi_Tou 发表于 2012-4-4 10:50:48

真是谢谢各位的指点了,这次又学到了不少啊!

Shi_Tou 发表于 2012-4-4 10:56:02

其实关于拉长线的IIC方式我看到不少,因为不少公司的产品(如传感器)等是需要标定的,而且不同的传感器参数又不一样,所以一般都会在探测器前端放一个24C02之类的存储器来存储参数的。
页: [1]
查看完整版本: IIC的最远传输距离是多远?