CAN通信错误处理机制及Bus Off

一、CAN总线具有严格的错误诊断功能,该功能已经固化在芯片中,一旦错误被检测,正在传送的数据帧将会立即停止而待总线空闲时再次重发直至发送成功,该过程并不需要CPU的干涉,除非错误累计该发送器进入总线关闭(Bus Off)。


二、CAN总线bus off一般发生于外部干扰,比如汽车逆变器交流参数的干扰。处于总线关闭状态的节点不允许发送和接收任何形式的帧报文。且只能通过用户请求进行恢复。方案如下:

1. 软件上,复位CPU或CAN控制器是最简单的处理方式,但是为了让系统恢复,一般当发生CAN总线关闭时,可以检查BUS OFF寄存器的值,对CAN控制器的驱动及相关寄存器进行初始化操作。初始化完成后,CAN总线关闭故障就会立即解除。为了避免该节点在CAN网络中频繁发生总线关闭问题,建议在初始化后,不要立即对外发送CAN报文。

2. 硬件上

(1)由于汽车内部存在强电流产生的空间磁干扰,应该将CAN线缆双绞程度加大;

(2)CAN接口设计采用CTM1051隔离收发器、隔离限幅,防止ECU死机;

(3)CAN接口增加磁环、共模电感等效果好的感性防护器件;

(4)外接专用的信号保护器消除干扰;

(5)使用网桥中继设备CANBridge对部分强干扰源进行隔离。

3. 加CAN 黑盒子,存储can报文,便于后期分析。

你可能感兴趣的:(通信协议)