can总线busoff(CAN总线BUS OFF)
一、can节点a故障busoff怎么维修
方法如下:
1.可以设置auto bus on的,自动恢复。(有些CAN控制器芯片可以支持)
2.SocketCAN可以设置自动重启时间。
启动CAN通道的时候直接加上“restart-ms xxx”就可以了,SocketCAN层实现的软件重启机制。
导致CAN总线Bus Off的因素
引起错误的原因大多是由物理故障引起的,主要是CAN线路产生的。其中包括:CAN_H开路、CAN_L开路、CAN_H对CAN_L短路/开路、CAN_L对VBAT短路、CAN_H对GND短路、CAN_L对GND短路、终端电阻开路等。
除了物理层线路因素,还有可能因为CAN控制器或收发器等元器件故障导致。同时,也有可能是由于CAN总线信号干扰导致的CAN信号收发不正确,严重时会导致不能正常发送报文,从而更容易导致CAN总线关闭。
新能源汽车通常是指纯电动汽车或者混合动力汽车,其特色是使用电池、电容来存储能力,然后通过逆变的方式变成交流,带动电动机驱动车辆。逆变产生的巨大电流形成强干扰,串扰到CAN总线上,导致控制器死机、损坏或者通讯中断,车辆运行不稳定。
二、Can总线 格式错误与位错误的区别
在CAN总线中存在5种错误类型,它们互相并不排斥,下面简单介绍一下它们的区别、产生的原因及处理方法。
位错误:向总线送出一位的某个节点同时也在监视总线,当监视到总线位的电平和送出的电平不同时,则在该位时刻检测到一个位错误。但是在仲裁区的填充位流期间或应答间隙送出隐性位而检测到显性位时,不认为是错误位。送出认可错误标注的发送器,在检测到显性位时也不认为是错误位。
填充错误:在使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检
测出一个填充错误。
CRC错误:CRC序列是由发送器CRC计算的结果组成的。接收器以和发送器相同的方法计算CRC。如果计算的结果和接收到的CRC序列不同,则检测出一个CRC错误。
形式错误:
当固定形式的位区中出现一个或多个非法位时,则检测到一个形式错误。
应答错误:在应答间隙,发送器未检测到显性位时,则由它检测出一个应答错误。
检测到出错条件的节点通过发送错误标志进行标定。当任何节点检测出位错误、填充错误、形式错误或应答错误时,由该节点在下一位开始发送出错误标志。
当检测到CRC错误时。出错标志在应答界定符后面那一位开始发送.除非其他出错条件的错误标志已经开始发送。
在CAN总线中,任何一个单元可能处于下列3种故障状态之一:错误激活状态(ErrorActive)、错误认可状态(Error
Passitive)和总线关闭状态(Bus
off)。
错误激活单元可以照常参和总线通信,并且当检测到错误时,送出一个活动错误标志。错误
认可节点可参和总线通信,但是不允许送出活动错误标志。当其检测到错误时,只能送出认可错
误标志,并且发送后仍为错误认可状态,直到下一次发送初始化。总线关闭状态不允许单元对总
线有任何影响。
三、汽车CAN总线的Bus-Off要如何处理
如果出现了Bus Off,总线上的节点需要做一些动作,例如重启CAN控制器或是重新上电,但是这些都只是一些补救措施,最根本的还是需要找到引起Bus Off的根源。
当发生CAN总线关闭时,我们可以检查Bus Off寄存器的值,对CAN控制器的驱动及相关寄存器进行初始化操作。初始化完成后,CAN总线关闭故障就会立即解除。为了避免该节点在CAN网络中频繁发生总线关闭问题,建议在初始化后,不要立即对外发送CAN报文。
汽车CAN总线注意事项
不要触摸动力系统接口模块线束连接器端子或动力系统接口模块电路板上的锡焊元件,以防静电放电造成损坏。
为避免损坏线束连接器端子,在对动力系统接口模块线束连接器进行测试时,务必使用合适的线束测试引线,维修数据总线时,必须使用正确规格的导线。数据总线电路中的高阻抗会导致网络发生故障。