|
本帖最后由 SNOWA 于 2021-9-9 14:33 编辑
现在手上有正点原子的IMX6ULL开发板,在用正点原子官方出厂系统测CAN通讯时出现一个奇怪的问题,和手上另一块用了STM32的板子做CAN通讯(基于SOCKETCAN编写的测试程序,波特率50k,IMX6ULL单向往STM32发送数据,每隔50毫秒发送1帧扩展帧)时,会不时(大概十来秒就有1次)报出CAN控制器的错误,内容:"Controller problem:\n reached warning level for TX errors",然后没多久CAN BUS会因为累积错误复位。
但IMX6ULL和网上买的CAN分析仪进行通讯,则一切正常。
后来用示波器对比了两者的波形,发现和STM32通讯时,IMX6ULL的波形有时候会连续发送2帧、甚至3帧的CAN数据(这个应该是发送方的CAN控制器的ACK错误后的自动重发功能)。而和CAN分析仪通讯时,同样的程序,是正常的以每50ms一帧发送的。 两者波形幅值上也没明显差异。帧率也都是基本准确的。
IMX6ULL的CAN芯片TJA1050, 换成sn65hvd230,问题仍未解决。
STM32的CAN芯片ISO1050,, 换成SIT65HVD230DR,问题仍未解决。
---------------------------------------------------------------------------------
后面发现CAN分析仪和我那STM32的板子通讯也会同样出现发送错误较多的情况,通讯线长1米,两边的终端电阻已接,CAN分析仪发送,STM32板子接收。波形如下图:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|