CANFD调试(与CANoe调试不通的原因分析)

在使用CANFD调试过程中,遇到与CANoe通信失败的问题。经过两天排查,发现原因是CANFD的CRC场与CANoe不一致。研究后了解到存在ISO CANFD和非ISO CANFD两种标准,而硬件默认设置为ISO标准导致错误。修改寄存器配置后,波形匹配,通信恢复正常。此外,还指出数字光耦的限制可能影响高速波特率的通信。
摘要由CSDN通过智能技术生成

    上周有同事需要支持CANFD的CAN卡出差,本想试试自己做的CANFD盒子,结果CANoe回采回来错误帧,但明明之前两个同样的CANFD盒子是可以通信的,遂上周六借CANoe回家调试。由于没带逻辑分析仪回来,修改了大量CANFD参数,像SEG1、SEG2、SJW,试过官网例程,换过CAN收发器,换过CAN通道,更改供电电源,一连调了两天,仍无法通信。

    今天把逻辑分析仪带回来,采集数据并对比和CANoe的差别,结果发现CRC场不同,如下图所示。

后来查找资料,发现CANFD有两种标准,分别为ISO CANFD和非ISO CANFD,非ISO CANFD就是BOSCH制定的规范,目前主流推ISO CANFD。经过查找手册,发现CANFD寄存器默认是ISO CANFD,因此与CANoe通信时总是会报错误帧(CRC错误)。修改寄存器后对比波形,发现与CANoe的波形一致,应该可以通信了。

至此,折腾了四天的事终于搞定了,由于逻辑分析仪没有针对CANFD的解析,今天早上早早起床编写CANFD的解析协议,看来也没有浪费。以后调试硬件前,需要补充扩展相关背景知识。

上传几张采集的CANFD波形,供以后参考。

波特率:500K,CANFD格式,BRS = 0;

ID=0x455,DLC=8,DATA=55 01

  • 9
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值