汽车CAN总线错误状态种类有哪些?一旦进入Busoff,如何快速处理?

由于CAN控制器会根据自身对接收逻辑的判断,进行错误监测与错误帧的发送,用户难以干预,所以导致用户在使用时,经常遇到如下烦扰:

l 节点在现场运行中,偶发进入Busoff,必须人工干预断电上电,甚至复位都没用;

l 一上电,总有几个节点上不去,必须要反复上电;

l 运行中,遇到干扰,由于有错误帧,发送节点持续重发,导致总线阻塞和信号延迟;

l 接收节点遇到干扰后,进入错误被动,时不时的丢帧;

CAN控制器受到干扰或者损坏,而导致自身的错误计数器进行计数累加,并且发出“错误帧”的错误标识,主动错误状态下为6-12位(叠加)的显性电平,接收节点可以让发送节点重新发送。被动错误状态下为6位的隐性电平,接收节点无法让发送节点重发,就有丢帧的可能。发送节点一直错误至255后即进入总线关闭状态,无法接收和发送CAN报文。

答案:

CAN总线的错误状态分为以下3种:

A.主动错误状态:主动错误状态是可以正常参加总线通信的状态。处于主动错误状态的单元检测出错误时,输出主动错误标志

B.被动错误状态:被动错误状态是易引起错误的状态。处于被动错误状态的单元虽能参加总线通信,但为不妨碍其它单元通信,接收时不能积极地发送错误通知。处于被动错误状态的单元即使检测出错误,而其它处于主动错误状态的单元如果没发现错误,整个总线也被认为是没有错误的。处于被动错误状态的单元检测出错误时,输出被动错误标志。另外,处于被动错误状态的单元在发送结束后不能马上再次开始发送。在开始下次发送前,在间隔帧期间内,必须插入“延迟传送”(8个位的隐性位)

C.总线关闭态:总线关闭态是不能参加总线上通信的状态。信息的接收和发送均被禁止。

这些状态依靠发送错误计数和接收错误计数来管理,根据计数值决定进入何种状态。调试网络节点多的CAN网络,常常会遇到处理总线错误的问题,最棘手的就是节点脱离了总线,脱离总线也就是进入了配置模式,那么如果使节点在回到总线,很明显要从复位模式退出一种是软件程序控制,另一种是硬件看门狗芯片复位,重新初始化配置,回到正常模式

处理方案一

发送计数器达255或者接收错误计数器达128时,控制器要进入复位模式,对错误计数器进行恢复处理,先进行快恢复,如果错误持续,将在10次快恢复后执行慢恢复时间。慢恢复20次后,停止恢复,必须人工处理。

处理方案二

关闭自动重发,使用单次发送,无阻塞,使用用户软件重发。比如用户在发送时对控制寄存器写入单次发送命令。

处理方案三

限定发送时间,超时清空发送缓冲。即每个发送报文压入缓冲后,定时32帧时间左右的延时,如果时间到,发送缓冲还不为空,则清空缓冲,丢弃这个发送报文。即每个报文最多重发32帧的时间。

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值