CAN的错误状态类型

CAN的错误状态类型 

单元始终处于 3 种状态之一。
(1) 主动错误状态    
主动错误状态是可以正常参加总线通信的状态。    
处于主动错误状态的单元检测出错误时,输出主动错误标志。
(2) 被动错误状态    
被动错误状态是易引起错误的状态。    
处于被动错误状态的单元虽能参加总线通信,但为不妨碍其它单元通信,接收时不能积极地发送错误通知。    
处于被动错误状态的单元即使检测出错误,而其它处于主动错误状态的单元如果没发现错误,整个总线也被认为是没有错误的。    
处于被动错误状态的单元检测出错误时,输出被动错误标志。 
另外,处于被动错误状态的单元在发送结束后不能马上再次开始发送。在开始下次发送前,在间隔帧期间内必须插入“延迟传送”(8 个位的隐性位)。
(3) 总线关闭态    
总线关闭态是不能参加总线上通信的状态。    
信息的接收和发送均被禁止。   
这些状态依靠发送错误计数和接收错误计数来管理,根据计数值决定进入何种状态。错误状态和计数值的关系如表1 及图所示。
图:单元的错误状态

错误计数值


发送错误计数值和接收错误计数值根据一定的条件发生变化。    
错误计数值的变动条件如表 2 所示。    
一次数据的接收和发送可能同时满足多个条件。
错误计数器在错误标志的第一个位出现的时间点上开始计数。