客户用S32K312,在做CAN的busoff实验测试中发现,在干扰S32K312的CAN发送过程中,有一帧间隔时间比较长,正常情况下发送不成功CAN会重发,直到发送错误计数满255,导致busoff,应用软件间隔50ms再重新初始化CAN。
客户用的RTD 3.0.0 P01,
测试截图如下,这是一次测试过程中,有出现不正常时间间隔的情况,也有正常时间间隔的情况。
请帮忙分析下,谢谢。
您的意思是收发器引起的这个延时吗?这个不应该是CAN控制器控制发信号出来吗?
客户用的是TJA1042,帮忙看下这个收发器有这个功能吗?
车厂要求间隔不能超过1ms,正常情况下都是300us左右。
测试原理就是K312通过CAN发送报文,测试设备就干扰发送,CAN这帧报文发送不成功,发送错误计数器会增加,硬件有自动重发机制,每次重发都进行干扰,当发送错误计数器到255时就发生busoff,在这一帧发送过程中理论上不应该有出现发送间隔增大的(因是硬件自动完成的重发)。
我和同事讨论了下,我们先定位问题,
让客户用逻辑分析仪或者示波器同时捕捉MCU端和收发器输出端,定位这个问题是MCU端的还是收发器端的,如果在MCU端和收发器输出端都测到这个周期异常波形,那么问题可能就是MCU端,我们就要排查软件问题,是不是高优先级的事件中断干扰了重发送过程,如果只有收发器发送端出现了周期异常而MCU发送正常,那么我们可以定位是收发器。