工作遇到的问题记录
无人机CAN2整个进不了中断,通过查看寄存器判定出CAN节点进入了bus off mode
为何进入bus off ,最后通过示波器看到整个CAN2总线波形就不对,总线出现了错误
Busoff的产生是一定是因为节点自身识别到自己发送错误,TEC(Transmit Error Counter)>255导致的。
通过监测CAN相关寄存器的值,记录一个正常的和一组不正常的,找到两组数据的差异点,再对比芯片数据手册,一个个对,就知道大概哪里出现了问题。
最终尝试恢复总线,但是对于本次遇到的问题,通过软件恢复总线没有意义,因为硬件异常导致的busoff,最终的现象就是你开他关,没卵用,最终解决方案是把导致这个问题的硬件先暂时嘎了。
busoff恢复机制,见下述博文
busoff恢复机制
busoff问题知多少
疑似STM32CAN进入bus off 模式
CAN总线Bus Off原理及CAN总线Bus Off恢复的解决方案
关于STM8CAN产生bus-off如何自动恢复