在我当前的项目中,我需要通过I2C在微控制器和一些传感器之间进行通信。其中之一是温度传感器,需要将其放置在距离微控制器约2米的位置。我无法选择其他协议(传感器在具有给定连接器/引脚/协议的模块上)。
您认为可以在这种配置下进行通讯吗?我应该查询哪些信息以确保它不可能或不可能?你有什么建议吗?
这是我第一次与PCB外部的IC通信。
在我当前的项目中,我需要通过I2C在微控制器和一些传感器之间进行通信。其中之一是温度传感器,需要将其放置在距离微控制器约2米的位置。我无法选择其他协议(传感器在具有给定连接器/引脚/协议的模块上)。
您认为可以在这种配置下进行通讯吗?我应该查询哪些信息以确保它不可能或不可能?你有什么建议吗?
这是我第一次与PCB外部的IC通信。
Answers:
I2C并非设计用于长距离使用,但我知道有几种应用实际上在大约2米的距离内使用。我也知道一个案例,他们对此有疑问,最终我通过修复接地回路来解决了。
为了确保它能正常工作,您应该使用I2C总线扩展器,例如P82B715。
对于用于电话或以太网(Cat5e)布线的典型双绞线或扁平电缆,其电容约为50 pF至70 pF /米,因此,理论上该电缆的最长可达50 m。根据实际经验,已证明30 m的电缆长度很安全,可以用这种简单的方式进行驱动,最高可达100 kHz,并显示了数值。更长的距离和更高的速度是可能的,但需要更仔细的设计。
因此,专家们(NXP是I2C的发明者,前飞利浦)说,已证明30米是可行的距离。我的经验是2米是可行的距离,据我报告的经验表明,没有任何扩展器的I2C总线负载也可能更大。
长距离工作I2C总线的关键点是:
德州仪器(TI)具有关于上拉计算的出色应用笔记(SLVA689)。
我喜欢filo和Caleb的答案。
另一种选择是在单个传感器上使用一个或多个DS28E17 1-Wire至I2C主桥,并以Onewire的形式连接总线。这对于大于100m的总线非常有用,非常适合于分布式温度和电池管理等低通量传感器阵列应用。