CAN总线局部错误及全局通知分析

电子说

1.2w人已加入

描述

局部错误,全局通知是CAN总线错误类型中较为典型的一种,如何通过错误报文及波形快速定位错误原因呢?本文结合现场实测案例简要分析。

一、CAN总线错误简介

在CAN总线中存在5种错误类型,如图1所示:它们互相并不排斥,下面简单介绍一下它们的区别、产生的原因。

CAN

图1  5种错误类型

位错误:向总线送出一位的某个节点同时也在监视总线,当监视到总线位的电平和送出的电平不同时,则在该位时刻检测到一个位错误。但是在仲裁区的填充位流期间或应答间隙送出隐性位而检测到显性位时,不认为是错误位。

填充错误:在使用位填充方法进行编码的报文中(帧起始到CR序列),出现了第6个连续相同的位电平时,将检 测出一个填充错误。

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

格式错误: 当固定格式的位区中(如CRC认可位、ACK认可位、帧结束位)出现一个或多个非法位时,则检测到一个形式错误。

应答错误:在应答间隙,每一个接收端都会向总线回一个显性位,如果发送端在ACK场检测不到显性位应答,将产生应答错误。

当出现5种错误类型之一时,发送或接收节点将发送错误帧。其中错误帧 又分主动错误帧和被动错误帧。

主动错误帧由处于主动错误状态的节点发送 ,帧格式由主动错误标志(6个连续显性位)+错误标志叠加(0~6个连续显性位)+错误界定符(8个连续的隐性位)组成。

被动错误帧由被动错误状态的节点发送,帧格式由被动错误标志(6个连续隐性位)+错误标志叠加(0~6个连续显性位)+错误界定符(8个连续的隐性位)组成。被动错误标志能够部分或全部被其它节点的显性位覆盖。

二、什么是局部错误?

在整个CAN网络中,由于干扰等原因引起总线局部错误(即某一个CAN节点出错,其他节点正常),CAN总线上的主动报错站点首先检测到错误,并立即主动向总线上发出错误标识,通知其他未发现错误的节点,如图4所示:

CAN

图4 错误帧的发送(局部错误)

检测错误---发送错误帧---通知报文错误:首先,发送节点检测到总线错误,发出错误标识——六个连续的显性电平位,总线接收到错误标识后进行全局通知——0~6个连续的显性电平位+8个连续的隐性电平位,告知其他节点总线错误。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分