搜索
bottom↓
回复: 21

请教一个主机与从机的通信方案

[复制链接]

出0入4汤圆

发表于 2020-6-26 22:44:25 | 显示全部楼层 |阅读模式
各位大神:

如上图所示,如果多台从机同时给主机发送数据时,用什么总线通信方式能保护不丢数据?
RS485/CAN貌似都是不行的。
谢谢大家!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2020-6-26 22:52:14 来自手机 | 显示全部楼层
有吗?我怎么觉得没有。

出0入0汤圆

发表于 2020-6-26 23:31:59 | 显示全部楼层
走网络就好了

出0入4汤圆

 楼主| 发表于 2020-6-26 23:35:29 | 显示全部楼层

用网口是可行,但是成本太高,有木有成本低些的方案?

出0入0汤圆

发表于 2020-6-26 23:57:00 | 显示全部楼层
可考虑CAN总线

出0入24汤圆

发表于 2020-6-27 01:22:59 | 显示全部楼层
CAN总线没问题的,用不同的ID,加上自动重传,试过6个一样的设备同时上电,各发送一帧数据,主机能够全部收到

出0入0汤圆

发表于 2020-6-27 01:29:27 | 显示全部楼层
485怎么不可以,发数据之前看总线是否空闲的,不是空闲就等待,485是半双工的,要全双工的,可以用422就是两个485

出500入203汤圆

发表于 2020-6-27 01:39:47 来自手机 | 显示全部楼层
严格意义上同时发送不丢数据的总线是不存在的,要么以太网,交换机处理并发,要么can,自己处理冲突重发

出0入0汤圆

发表于 2020-6-27 02:22:51 | 显示全部楼层
这个只能用CAN了,485只能主->从,从->主,还得防备霸占总线的情况;(编辑符号画错!)

出715入1076汤圆

发表于 2020-6-27 10:00:39 来自手机 | 显示全部楼层
CAN 和 485(CDBUS) 都可以。。。

出0入4汤圆

 楼主| 发表于 2020-6-27 10:55:26 | 显示全部楼层
dukelec 发表于 2020-6-27 10:00
CAN 和 485(CDBUS) 都可以。。。

多从机给主机一起发数据时,如何处理冲突?

出0入0汤圆

发表于 2020-6-27 10:56:33 | 显示全部楼层
chen_ym 发表于 2020-6-27 10:55
多从机给主机一起发数据时,如何处理冲突?

CAN有总线仲裁机制,低优先级的节点会自动放弃通信,等待总线空闲之后重新发送

出90入0汤圆

发表于 2020-6-27 11:12:46 | 显示全部楼层
CAN总线,肯定可以。

出0入10汤圆

发表于 2020-6-27 11:42:32 | 显示全部楼层
CAN和485都用过可以,长距离就用双绞线,都很稳定

出0入0汤圆

发表于 2020-6-27 12:10:52 | 显示全部楼层
为什么485不可以,《时间触发》书中曾提到时分多址。

出0入4汤圆

 楼主| 发表于 2020-6-27 12:45:50 | 显示全部楼层
secreteer 发表于 2020-6-27 11:42
CAN和485都用过可以,长距离就用双绞线,都很稳定

用485的多个从机同时给主机发送数据时,485如何解决同时发送时的数据冲突问题? 或者说如何来判断当时总线是否空闲?

出1330入193汤圆

发表于 2020-6-27 13:18:40 | 显示全部楼层
多年前就讨论的问题   485根据不同站号id分时进行  理论上面是可以  不过效应很低  一旦某一个从机出现通讯故障 往往整个链路打乱了

出0入10汤圆

发表于 2020-6-28 10:21:49 | 显示全部楼层
chen_ym 发表于 2020-6-27 12:45
用485的多个从机同时给主机发送数据时,485如何解决同时发送时的数据冲突问题? 或者说如何来 ...

每个设备都有自己的ID,数据怎么会冲突呢?

出0入42汤圆

发表于 2020-6-28 12:08:06 | 显示全部楼层
can,knx应该可以防止冲突吧

出0入4汤圆

 楼主| 发表于 2020-6-28 13:43:30 | 显示全部楼层
CAN是可以的,有冲突检测,有重发机制

出0入0汤圆

发表于 2020-6-28 17:41:56 | 显示全部楼层
我们现在用的485,有判忙和重发机制,判忙是依赖自身ID超时等待时间和字符间隔超时两个条件

出0入4汤圆

 楼主| 发表于 2020-6-28 21:50:03 | 显示全部楼层
梨花 发表于 2020-6-28 17:41
我们现在用的485,有判忙和重发机制,判忙是依赖自身ID超时等待时间和字符间隔超时两个条件 ...

大神,能否详细指导下,485在多个从机一起给主机发数据时如何判忙和重发?多谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-9-28 11:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表