打印

如何扩展IIC通信距离和数量

[复制链接]
5762|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
混子黄|  楼主 | 2018-5-31 09:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 混子黄 于 2018-5-31 17:47 编辑

现在有一个项目,需要对24个点进行温度采集,24个点固定,每一个采集点与我MCU之间的距离3-5米。

暂定红外温度传感器MLX90614,这个传感器是SMBUS通信的,请问大家省成本的方案是什么,加中继吗?那是每个点都加一个中继吗?不加的话还有什么办法来扩展?
MCU和采集点的位置都是固定的。

相关帖子

沙发
chunyang| | 2018-5-31 14:11 | 只看该作者
这类应用最便宜的办法是使用多个MCU,每个MCU带一只传感器,然后基于MCU组网。

使用特权

评论回复
板凳
VKwang| | 2018-5-31 14:15 | 只看该作者
采集点之间是通过什么方式传的

使用特权

评论回复
地板
混子黄|  楼主 | 2018-5-31 14:42 | 只看该作者
VKwang 发表于 2018-5-31 14:15
采集点之间是通过什么方式传的

可能是我没有表达清楚,是一个MCU去对24个点进行采集,采集点之间不需要通信,采集点与MCU是SMBUS通信。

使用特权

评论回复
5
gx_huang| | 2018-5-31 15:43 | 只看该作者
是否可行,还是需要验证的,注意:
1、I2C的上拉电阻阻值可以适当减少一些。
2、MCU配置成OD输出,不要推挽输出,以免波形干扰导致读写失败。
3、布线很要紧,减少分布电容。
4、可以考虑分成多组,24组估计太多了,每组2-3m,分布电容太大就不行了。

使用特权

评论回复
6
I2C 拉出去距离2-3米 环境一差  必死无疑

使用特权

评论回复
7
混子黄|  楼主 | 2018-5-31 17:47 | 只看该作者
蒙面男@蒙面女王 发表于 2018-5-31 17:04
I2C 拉出去距离2-3米 环境一差  必死无疑

正常来说是这样子的,所以加中继来扩展距离,就不知道可行不可行。

使用特权

评论回复
8
混子黄|  楼主 | 2018-5-31 17:52 | 只看该作者
本帖最后由 混子黄 于 2018-5-31 17:53 编辑
gx_huang 发表于 2018-5-31 15:43
是否可行,还是需要验证的,注意:
1、I2C的上拉电阻阻值可以适当减少一些。
2、MCU配置成OD输出,不要推挽 ...

是的啊,我现在就在想能不能根据chunyang坛主的思路变一下。

我想这样做,拿一块MCU专门做采集,这样就能离传感器很近了,这样就可以多拉几个总线出来,分布电容的问题应该能解决,然后在用这个MCU和我主控MCU进行CAN通信。
IIC上拉电阻的取值这个应该如何确定呢?这个想请你指点一下。

使用特权

评论回复
9
zyj9490| | 2018-5-31 19:56 | 只看该作者
放慢速 度,1200BIT/S

使用特权

评论回复
10
zyj9490| | 2018-5-31 19:58 | 只看该作者
用常规的400K或100K来读取的话,必死无颖,还有上拉电阻加降低,有可能降到几百欧,以加大电流换取可靠性。

使用特权

评论回复
11
Prry| | 2018-5-31 20:17 | 只看该作者
有I2C的的收发芯片,原理是将i2c信号变成差分信号,可以延长到15米,忘记芯片型号了,是NXP的。百度下,我也找找

使用特权

评论回复
12
混子黄|  楼主 | 2018-6-1 08:27 | 只看该作者
zyj9490 发表于 2018-5-31 19:58
用常规的400K或100K来读取的话,必死无颖,还有上拉电阻加降低,有可能降到几百欧,以加大电流换取可靠性。 ...

我是用25K来读取的。

使用特权

评论回复
13
混子黄|  楼主 | 2018-6-1 08:29 | 只看该作者
Prry 发表于 2018-5-31 20:17
有I2C的的收发芯片,原理是将i2c信号变成差分信号,可以延长到15米,忘记芯片型号了,是NXP的。百度下,我 ...

NXP的P82B96吧,应该就属于我说的中继芯片吧。

使用特权

评论回复
14
gx_huang| | 2018-6-1 08:31 | 只看该作者
用中继芯片还不如用MCU好了,中继芯片价格也不便宜吧。

使用特权

评论回复
15
gujiamao12345| | 2018-6-1 11:27 | 只看该作者
IIC switch不知道可行不行

使用特权

评论回复
16
forthlab| | 2018-6-1 11:42 | 只看该作者
chunyang的方案是最可靠的,相当于用个便宜的CPU搞个协议转换
如果转换为485,扩充就更方便了
成本很低的,体积也很小

使用特权

评论回复
17
henangongda123| | 2018-6-1 14:14 | 只看该作者
“这类应用最便宜的办法是使用多个MCU,每个MCU带一只传感器,然后基于MCU组网。”
比较赞成这个方案,现在流行的STM8S003系列单片机才一元多点,然后485组网,485的抗干扰还是不错的,协议还可以自己定义。

使用特权

评论回复
评论
chongdongchen 2018-6-2 19:58 回复TA
赞成方案是没错,不过你说的这颗价格。。。你可能与社会脱节了,现在大家都是弃城而逃了。。 
18
lyn3210| | 2018-6-1 17:44 | 只看该作者
专用芯片,周立功有。

使用特权

评论回复
19
混子黄 发表于 2018-5-31 17:47
正常来说是这样子的,所以加中继来扩展距离,就不知道可行不可行。

同样的不行

使用特权

评论回复
20
cjseng| | 2018-6-2 12:25 | 只看该作者
加中继,不如加MCU,然后485通讯

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

108

主题

1016

帖子

6

粉丝