CAN错误分类

1.bit error

CAN总线上的节点在发送数据的同时也在检测总线上的电平。如果在仲裁域之外,所发送的数据与节点监测到的数据不一致,则CAN总线产生了一次位错误。

但是,如果在发送ACK段或者被动错误标志时,节点检测到总线上电平与发送值不一致,并不判定产生了位错误。

2.stuff error

在CAN总线传输中,报文的侦起始、仲裁域、控制域、数据域以及CRC校验部分只要连续出现五个相同的位就需要额外插入一个相反的位,

这是CAN总线位填充的机制。在CAN总线通信中,如果一个节点检测到六个连续相同的电平就判断总线出现了位填充错误。

3.CRC error

CAN总线的数据帧自带了CRC校验,在发送数据的同时也计算这一帧的CRC校验码,将校验码在数据帧的末尾部分发送。

接收节点接收到数据帧后计算接收到的数据帧中数据域的CRC码,并与接收到的CRC校验码比较以确定接收到的数据是否准确,

如果不正确,则出现了 一次CRC校验错误。

4.Form error

在固定格式的位场中出现了非法位,比如,在本该是隐性位的CRC界定符中出现了显性电平,则监控节点判断出现了一次格式错误。

5.Ack error

在CAN总线传输中,发送节点发送的应答场为隐性位,接收节点需要在应答场中向总线发送显性位覆盖隐性位以表示接受完成。

如果发送节点监测到帧的应答场仍然是隐性位,则表明出现了一次应答错误,没有节点接收到数据,发送失败。

 

posted on 2021-02-18 13:58  让代码改变世界ha  阅读(1326)  评论(0编辑  收藏  举报

导航