之前测试电阻对CAN通信的影响:
https://blog.csdn.net/2301_78942143/article/details/133250774?spm=1001.2014.3001.5501
下面测试一些其他影响因素:
在终端电阻60Ω时(6个节点均未焊接120Ω,只是将CAN盒上的电阻拨上去两个)进行以下测试:
1、测试低波特率(250kbps)和高波特率(1Mbps)对CAN通信的影响
- 电阻60Ω,低波特率(250kbps)
会出现某个节点不在上传信息的情况,但是过段时间会自己恢复,或者下电再次上电,能够正常通信;
- 电阻60Ω,高波特率(1Mbps)
6个节点均通信正常;
2、部分节点为低波特率,部分节点为高波特率(其中设置的1、2、3节点为500kbps,4、5、6节点为1Mbps)
- 使用USB_CAN_TOOL软件观测时,当初始波特率设置为500kbps,只有节点1、2可以正常通信,但是节点3不可以(已排除节点3是否能够正常使用以及通信线路是否正常的问题),单独给单片机3重新上电若干次(上电次数随机),节点3能够正常通信;
- 使用USB_CAN_TOOL软件观测时,当初始波特率设置为1Mbps,节点4、5、6依旧不能正常通信,将节点1、2、3拔掉后,节点4、5、6恢复,继续上报信息;
3、提高单片机上发频率对CAN通信的影响
又焊接了一个120Ω电阻,此时终端电阻为40Ω,在PC端观测到CAN总线上的通信已经受到影响,有部分节点不能继续上报:
通过更改代码,提高单片机上发的频率(原来是一秒向PC端上报2次,更改后一秒上报4次左右),重新上电观测CAN总线的上报情况,发现CAN总线节点上报情况有所改善;
使用示波器观测CANH和CANL:
4、CANH和CANL上加入TVS
分别在CANH和GND,CANL和GND之间各加一个TVS,总共加入两个TVS
加入TVS之前的波形使用示波器观测CANH和CANL:
接入TVS之后,使用示波器观测CANH和CANL:
5、CAN通信线路双绞对实验的影响
在3的基础上又焊接了一个终端电阻,此时CAN总线上总电阻为30欧姆左右,此时观测到部分节点已经不能正常上报,等待一段时间时候,依旧不能恢复正常上报;
将CAN总线进行双绞,重新上电,再次观测CAN线路的上报情况,发现情况有所改善,虽然依旧存在部分节点不在上报,但是过段时间之后可以自行恢复;
使用示波器再次观测此时的CAN总线波形:
总结:
1、终端电阻最好在60Ω至120Ω之间,60Ω之下会影响CAN通信的正常使用;
2、当CAN通信总线上节点波特率设置的不一致时,相互之间的通信均会受到影响,使得部分节点不能正常工作,此时将不能正常上报的节点单独重新上电若干次,该节点可以恢复继续上报状态;
3、提高单片机上发的频率,可以改善CAN总线的通信效果;
4、加入TVS可以有效的滤除CAN总线上的尖峰噪声,对CAN通信有改善作用;
5、在CAN总线通信受到影响,部分节点不能正常工作时,将CAN总线进行双绞,可以有效的改善CAN的通信状况。