这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 通讯及无线技术 » CAN总线学习-错误检测机制

共1条 1/1 1 跳转至

CAN总线学习-错误检测机制

高工
2023-06-15 21:06:14     打赏

错误检测机制

CAN协议定义了五种以上不同的方法来检测错误。其中两种工作在位层次,另外三种工作在报文层次。

位监视

位填充

帧检查

应答检查

循环冗余检查

1. 位监视

CAN总线上的每个传送器都会监视(也就是回读)传送的信号电平。如果真正读到的位电平与传送的位电平不同,会发出信号指示位错误(仲裁过程中不会发出位错误)。

2. 位填充

节点连续发送五个具有相同电平的位后,将在发送出去的位流中加上第六个相反电平的位。接收方将删除这个额外的位。这样做是为了避免总线上出现过度的直流电成分,但它同时也给予了接收方检测错误的额外机会:如果总线上出现五个以上相同电平的连续位,会发出信号指示填充错误。

3. 帧检查

CAN报文的一些部分具有固定的格式,也就是说,标准明确定义了何种电平和何时出现这种电平(CRC定界符、ACK定界符、帧结束以及间歇,但是间歇还有一些另外的特殊错误检查规则)。如果一个CAN控制器在这些固定字段中的一个中检测到无效值,将发出组成错误。

4. 应答检查

总线上正确接收报文的所有节点(不管这些节点是否对报文内容“感兴趣”)预期将在报文中所谓的应答时隙中发送一个显性电平。这是,发送方将发送一个隐性电平。如果发送方无法在应答时隙中检测到显性电平,会发出应答错误的信号。

5. 循环冗余检查

每个报文都包含一个15位的循环冗余校验和(CRC)。节点如果在报文中检测到与自己计算所得不同的CRC,将发出CRC错误的信号。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]