200个模块,怎么用有线的方式进行组网通信

嵌入式Linux

共 711字,需浏览 2分钟

 ·

2021-05-25 12:16

这是一个读者私聊我的问题,我觉得比较有意思,发出来大家一起讨论,我相信在讨论后,会有更加好的的方案。


问题


有200个模块,这200个模块需要和主CPU进行通信,每个模块的距离大概在30~50cm之间,用怎么方式进行处理会比较好?


硬件目前给出的方案如下:





这个方案有个缺陷就是,如果中间有一个模块有问题通信不上了,跟他级联的模块就不能正常通信了。


然后,我们在群里讨论这个问题,得出了几个解决方案


1、用cpld ,cpld 类似一个fpga中转芯片,对串口数据做中转发送。

2、用I2C,20cm我觉得应该没有问题,但是i2c的话会有一个问题,就是升级的时候不好搞。

3、用can总线,这个和485一样,组200个也有点难度。

4、无线通信zigbee组网,mesh组网,但是无线受干扰也比较大。

5、PLC



还有一种,就是用I3C,这个我没有实际使用过,但是之前有写过这方面的文章,我觉得可以一试。


有人知道 I3C 吗?



如果不修改硬件,在原来的基础上,对每个模块编号,在协议上加上串口模块的ID编号,或者使用mobus协议,应该也能完成需求。


Modbus协议概念最详细介绍


大家有什么好办法,欢迎评论出来。






推荐阅读:

专辑|Linux文章汇总
专辑|程序人生
专辑|C语言
我的知识小密圈

关注公众号,后台回复「1024」获取学习资料网盘链接。

欢迎点赞,关注,转发,在看,您的每一次鼓励,我都将铭记于心~

浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报