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,这个我没有实际使用过,但是之前有写过这方面的文章,我觉得可以一试。
如果不修改硬件,在原来的基础上,对每个模块编号,在协议上加上串口模块的ID编号,或者使用mobus协议,应该也能完成需求。
大家有什么好办法,欢迎评论出来。
评论
Vue3的七种组件通信方式
来自: 一碗周https://juejin.cn/post/7062740057018335245写在前面本篇文章是全部采用的 <script setup> 这种组合式API写法,相对于选项式来说,组合式API这种写法更加自由,具体可以参考Vue文档[1]对两种方式...
编程微刊
0
怎么进行项目管理?
题主莫慌~
基于国内领先的项目管理工具 ONES ,给题主几个项目管理的小建议
如何保证任务在规定的时间内做完?
1.制定项目计划,规划项目进度
在确定了项目目标、项目范围以及工作分解粒度后,项目经理需要在 ONES Project 中,使用「项目计划」组件来创建工作分解结构(WBS),将项目目标拆解为计划和工作。
以「计划」作为 WBS 分解的中间层,表示项目目标、项目阶段或工作包;以「工作」作为 WBS 分解的最底层,代表可分配、可执行的工作,并标记各个工作的起止时间,规划项目进度。
2.创建里程碑,监控项目进度
在甘特图中设置里程碑,通过里程碑将项目进度分解为不同阶段的目标,用以度量项目进度,确保项目总目
Mia Tang
0