T536 CAN 调试
发现问题
移植 CAN 驱动后,can0 和 can1 连接发现以下错误:
图一
bus-off 错误是致命错误,直接把 can 接口关闭了。
解析问题
阶段一
以下是 CAN 总线的错误状态转换:
图二
REC 是接收错误计数,TEC 是发送错误计数。由图可知 TEC 大于 255 时,进入 bus-off 。回顾图一,得知这是发送数据出现了问题。
查看 can0 的 ECR 寄存器:
此时数值为 f8H ,小于 255 ,但还是触发 bus-off 错误,百思不得其解。
阶段二
然后我把 can0 切换为环回模式去测试:
发现 can0 的环回模式没有问题。
阶段三
用万用表测试 can0 芯片的电压:
发现电压正常。
而且还测试了 CANH 和 CANL 的电压,处于空闲状态时,都是 2.5V ,正常。
解决问题
和硬件工程师沟通后,硬件工程师把 CAN 芯片换了另一个型号,发现能正常使用。
2551

被折叠的 条评论
为什么被折叠?



