CAN组网问题

2019-10-14 22:11发布

80个CAN进行组网,控制芯片是用的STM32,第一个节点和最后一个节点延时好大,有没有做过这个的,原子哥在么
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
远方
2019-10-16 00:51
jsgyzj 发表于 2016-3-18 14:44
HI,感谢你详细的解答,我的问题看来没描述清楚,我的电脑主机通过CAN适配器用上位机给下面的80个节点依 ...

没有做过那么大的规模。根据你描述的情况我考虑了一下,我的结论是仅仅依靠CAN通讯来实现如此多的节点同步操作,很困难。原因如下:1、如此规模的网络,线路肯定很长,线路上的损耗和延迟是避免不了的并且难以量化;2、使用环境不同,线路受到的干扰也是不一样的,所以无法通过延时补偿去同步;3、CAN总线是一种基于总线竞争的通讯方式,先收到信息的节点未必能先将信息发送出去,就导致了适配器发送->节点、节点应答->适配器成了一个随机的过程,所以无法确保所有的节点同步。如果让我来解决这个问题,我会在所有节点上加上一个比较精准的时钟源(外部时钟或者内部RTC),适配器周期性同步各个节点的时钟,需要节点动作时,只要发送“某某某个时刻干什么”,那么只要各节点的时钟同步,操作也必然同步。当然,这是以损失整个系统的实时性为代价的,以你的系统为例,发送“0.5s以后操作”那肯定是无效的。以上只是我个人的思考,有些地方可能比较片面。你还可以查询一些CAN在汽车上的应用,因为汽车的刹车系统,防抱死系统等等彼此之间也是严格要求同步的,可以参考一下。

一周热门 更多>