对于CAN网络的通信:
CAN通信受波特率、传输最大距离、使用的传输线、终端电阻匹配、CAN网络的节点数量等因素影响,现在我想请教一下,具体这些因素是如何互相制约影响的,特别是在大系统(CAN网络节点多的情况)下终端电阻匹配电阻的大小选择如何定义?
这里说一下我遇到的问题:
1.我这边有一个系统,有一个作为CAN主机,另外有60台CAN从机设备,现在60台设备,我分别装载3个箱子里,主机和第一组20台装在箱子1号(内部CAN走线很短),然后通过大概2米的距离连接到2号箱子(20台设备),然后再通过2米距离连接到3号箱子,其中主机CAN口有一个120欧姆电阻,2号箱子末端有一个120欧姆电阻,3号箱子末端也有一个120欧姆电阻,我们通过实验验证,只有都加这3个120欧姆电阻,整个系统通信才正常,只要去除中间的120欧姆电阻,系统全无通信,这时我们查看CANH-L的差分电压为1.8V,但是只给第一个箱子上电,一号箱子通信正常,其他的都不行!求解,为什么需要在中间加一个匹配电阻,是因为节点多了,需要加这个电阻么?
2.我在用STM32F105系列芯片时,他有两路CAN,当我在设置两路CAN的接收中断优先级一样,发送直接调用CANtrsmit()发送,但是两路CAN两端都接有15个CAN设备,而且两端的CAN设备会不停的主动发送数据,当我15个设备电流增大时,STM32F105芯片CAN通信断了,而且不可恢复,必须重启,但是程序没有跑飞,CAN底层在数据量大的时候手干扰会死机,而且不可恢复? |