首页 理论教育现场总线与工业以太网:错误类型解析

现场总线与工业以太网:错误类型解析

【摘要】:如果计算结果与接收到的CRC序列不相同,则检出一个CRC错误。当检测到CRC错误时,出错标志在应答界定符后面那一位开始发送,除非其他出错条件的错误标志已经开始发送。在以上两种例外情况下,发送器错误计数不改变。4)发送器送出一个活动错误标志或超载标志时,它检测到位错误,则发送器错误计数加8。6)在送出活动错误标志、认可错误标志或超载标志后,任何节点都允许多至7个连续的显性位。

1.错误类型

CAN总线有5种错误类型。

(1)位错误

向总线送出一位的某个单元同时也在监视总线,当监视到总线位数值与送出的位数值不同时,则在该位时刻检测到一个位错误。例外情况是,在仲裁场的填充位流期间或应答间隙送出隐性位而检测到显性位时,不视为位错误。送出认可错误标注的发送器在检测到显性位时,也不视为位错误。

(2)填充错误

在使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检出一个位填充错误。

(3)CRC错误

CRC序列是由发送器CRC计算的结果组成的。接收器以与发送器相同的方法计算CRC。如果计算结果与接收到的CRC序列不相同,则检出一个CRC错误。

(4)形式错误

当固定形式的位场中出现一个或多个非法位时,则检出一个形式错误。

(5)应答错误

在应答间隙,发送器未检测到显性位时,则由它检出一个应答错误。

检测到出错条件的站通过发送错误标志进行标定。当任何站检出位错误、填充错误、形式错误或应答错误时,由该站在下一位开始发送出错标志。

当检测到CRC错误时,出错标志在应答界定符后面那一位开始发送,除非其他出错条件的错误标志已经开始发送。

在CAN总线中,任何一个单元都可能处于下列3种故障状态之一:错误激活(Error Active)、错误认可(Error Passive)和总线关闭。

检测到出错条件的站通过发送出错标志进行标定。对于错误激活节点,其为活动错误标志;而对于错误认可节点,其为认可错误标志。

错误激活单元可以照常参与总线通信,并且当检测到错误时,送出一个活动错误标志。不允许错误认可节点送出活动错误标志,它可参与总线通信,但当检测到错误时,只能送出认可错误标志,并且发送后仍被错误认可,直到下一次发送初始化。总线关闭状态不允许单元对总线有任何影响(如输出驱动器关闭)。

2.错误界定(www.chuimin.cn)

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

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

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

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

在以上两种例外情况下,发送器错误计数不改变。

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

5)接收器送出一个活动错误标志或超载标志时,它检测到位错误,则接收器错误计数加8。

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

7)报文成功发送后(得到应答,并且直到帧结束未出现错误),则发送错误计数减1,除非它已经为0。

8)报文成功接收后(直到应答间隙无错误接收,并且成功地送出应答位),接收错误计数如果处于1和127之间,则接收错误计数减1;如果接收错误计数为0,则仍保持为0;如果接收错误计数大于127,则将其值计为119和127之间的某个数值。

9)当发送错误计数大于或等于128或接收错误计数大于或等于128时,节点为错误认可。导致节点变为错误认可的错误条件使节点送出一个活动错误标志。

10)当发送错误计数大于或等于256时,节点为总线关闭状态。

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

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

当错误计数数值大于96时,说明总线被严重干扰。它提供测试此状态的一种手段。

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