16个CAN从站,每个从站50MS间隔

[复制链接]
 楼主| liuoulyy 发表于 2011-10-25 19:54 | 显示全部楼层 |阅读模式
16个CAN从站(波特率20K),从站50MS间隔时间(同时发),发一组数据A,间隔50MS发一组数据B,循环地50MS,发数据A ,50MS发数据B.....主站能否承受得了?(主站用的是周产功的CAN转232(CAN232MB)
chunyang 发表于 2011-10-25 23:58 | 显示全部楼层
同时发是不行的,要错开时间,错开的时间间隔要使主机能够处理完毕且不影响主机的其它功能。
 楼主| liuoulyy 发表于 2011-10-26 14:18 | 显示全部楼层
16个从机只要在50MS内发完,就是同时发也没关系吧。
chunyang 发表于 2011-10-27 01:04 | 显示全部楼层
同时发会产生电平竞争,数据将是错误的,只能靠提高通讯速率来实现。
airwill 发表于 2011-10-28 19:24 | 显示全部楼层
可以同时发, 按照 CAN 协议,会自动仲裁,由最优先的先发。仲裁失败的数据等优先的发完后重新启动。
由于这些都是硬件完成的,软件无需干预和处理。
所以,从软件看,是同时发的了。
另外:这个时间间隔,总线负载并不重, 没有什么问题的。
chunyang 发表于 2011-10-28 19:28 | 显示全部楼层
仲裁是靠内部机制避免同时发送,没有从软件看同时发送的说法。
 楼主| liuoulyy 发表于 2011-10-28 21:12 | 显示全部楼层
在实时过程中,总会碰到同时发的,那不是不行?
chunyang 发表于 2011-10-29 23:45 | 显示全部楼层
在同一条线路上同时发送除非采用载波技术,否则信号会发生电平竞争导致出错,当然不可以了。
airwill 发表于 2011-10-30 09:20 | 显示全部楼层
楼主不需要考虑同时发的问题。值需要考虑允许数据传输的时间。
由于仲裁,你的实时数据会被延时后发出,你计算一下最大允许的延时时间吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

134

主题

472

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部