新手知识:讲解CAN总线的通信错误以及处理

2014-04-04 16:46 来源:电子信息网 作者:云际

为了界定故障,在每个总线单元中都设有2个计数:发送出错计数和接收出错计数。这些计数按照下列规则进行。

(1)接收器在送出错误标志后的第一位检查出显性位时,错误计数器加8。

(2)接收器检查出错误时,接收器错误计数器加1,除非所有检测错误是发送活动错误标志或超载标志期间的位错误。

(3)发送器送出一个错误标志时,发送器错误计数器加8。有两种情况例外:其一是如果发送器为错误认可,由于未检测到显性位应答或检测到应答错误,并且在送出其认可错误标志时,未检测到显性位;另外一种情况是如果仲裁器件产生填充错误,发送器送出一个隐性位错误标志,而检测到的是显性位。除以上两种情况外,发送器错误计数器计数不改变。

(4)发送器送出一个活动错误标志或超载标志时,检测到位错误,则发送器错误计数器加8。

(5)在送出活动镨误标志、认可错误标志或超载错误标志后,任何节点都最多允许连续7个显性位。在检测到第11个连续显性位后,或紧随认可错误标志检测到第8个连续的显性位,以及附加的8个连续的显性位的每个序列后,每个发送器的发送错误计数都加8,并且每个接收器的接收错误计数也加8。

(6)报文成功发送后,发送错误计数减1,除非计数值已经为0。

(7)报文成功发送后,如果接收错误计数处于1~197之间,则其值减1;如果接收错误计数为0,则仍保持为0;如果大于127,则将其值记为119~127之间的某个数值。

(8)当发送错误计数等于或大于128,或接收错误汁数等于或大于128时,节点进人错误认可状态,节点送出一个活动错误标志。

(9)当发送错误计数器大于或等于256时,节点进人总线关闭状态。

(1O)当发送错误计数和接收错误计数均小于或等于127时,错误认可节点再次变为错误激活节点。

(11)在检测到总线上11个连续的隐性位发送128次后,总线关闭节点将变为2个错误计数器均为0的错误激活节点。

(12)当错误计数器数值大于96时,说明总线被严重干扰。

如果系统启动期间仅有1个节点挂在总线上,此节点发出报文后,将得不到应答,检查出错误并重复该报文,此时该节点可以变为错误认可节点,但不会因此关闭总线。

< 1 2 
CAN总线

一周热门