eric2013 发表于 2023-7-3 01:15:22

通过H7-TOOL的CANFD Trace功能记录常见的CAN组网错误汇总(2023-07-03)

【测试条件】

两个CANFD节点外 + H7-TOO你的CANFD节点

【常见问题】

1、两个CAN节点正常通信,TOOL节点可以随时加入和退出,测试效果:

https://img.alicdn.com/imgextra/i2/299314119/O1CN01RIFa2k1gIYFYAC0FZ_!!299314119.gif

此时节点1的错误状态记录:




节点2的错误状态记录:



2、CANFD节点1的仲裁波特率1M,通信波特率2M,节点2的仲裁波特率500K,通信波特率2M,TOOL的波特率和节点1速度一样。

节点1错误状态:



节点2错误状态:



此时如果退出上位机助手的接听,仅CANFD节点1发送

(1)CANFD1开启了自动重复,如果有一次发送失败,将直接触发TEC错误计数器到一个比较大的值,此TOOL重新进来CANFD助手,CANFD1将无法再重新恢复发送,需要重新配置CANFD1节点才可恢复。
(2)CANFD1没有开启自动触发,不管TOOL有没有退出CANFD助手,都无法正常使用,并且每次发送失败,TEC将+8。

注意,这种情况下,无法再继续发送,只有节点1重新设置才可以恢复发送。

节点1错误状态:



节点2错误状态:



3、CANFD1节点正常配置,CANFD2节点未配置,H7-TOOL正常的监听状态

如果三个节点都正常连接到一起,此时由于未配置节点的存在,CANFD1无法正常发消息给TOOL。

4、CANFD1节点正常配置,直接和TOOL连接,不再将CANFD节点2接入网络

(1)CANFD1开启了自动重复,如果有一次发送失败,将直接触发TEC错误计数器到128,此TOOL重新进来CANFD助手,CANFD1可以重新恢复发送,并每发送成功程序一次,TEC会减1
(2)CANFD1没有开启自动触发,每次发送失败,TEC将+8, 再还没有达到比较大的值时,TOOL重新进来CANFD助手,CANFD1节点可以重新重新恢复发送,并每发送成功程序一次,TEC会减1.




其它情况待补充。

【总结】
1、不同波特率的节点不可组网
2、还没有正常配置CAN通信的节点,不要接入到网络。


【参考资料】

1、【原创】H7-TOOL的CANFD Trace操作说明,不需要目标板额外做任何代码,支持在线和脱机玩法
https://www.armbbs.cn/forum.php?mod=viewthread&tid=118999

2、BSP视频教程第25期:CAN/CANFD/CANopen专题,CAN知识点干货分享, 收发执行过程和错误帧处理(2023-01-03)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=117387

3、BSP视频教程第26期:CAN/CANFD/CANopen专题,CANFD整个运行机制精讲,图文并茂,配合综合实战演练(2023-05-15)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=119189







eric2013 发表于 2023-7-3 10:24:53

加入使能自动重复和禁止自动触发的测试。

nnqtdf 发表于 2023-7-3 16:57:07

标准CAN也可以吧?

eric2013 发表于 2023-7-3 17:20:01

nnqtdf 发表于 2023-7-3 16:57
标准CAN也可以吧?

CANFD的标准库CAN模式可以。仅CAN2.0的那种,还没有做Trace,过段时间弄。
页: [1]
查看完整版本: 通过H7-TOOL的CANFD Trace功能记录常见的CAN组网错误汇总(2023-07-03)