您的位置 首页 芯闻

CAN总线中自动过错和被迫过错的浅显解说

首先建议把广泛使用的主动错误和被动错误概念换成主动报错和被动报错。1主动报错站点只要检查到错误,它立即主动地发出错标识。所谓出错

首要主张把广泛运用的“自动过错”和“被迫过错”概念换成“自动报错”和“被迫报错”。

1. 自动报错站点

只需查看到过错,它当即“自动地”发犯错标识。所谓“犯错标识“,它自身便是一个“过错的位序列”(接连的6个显性位,不满足CAN协议的“最多5个接连的同性位”要求),意图是“自动地”告知我们:即便你们没有发现“方才我已发现”的过错,现在我“一马当先”犯错啦!你们该看到这个过错了吧!

2. 被迫报错站点

假如查看到过错,它只能干瞪眼“被迫地”等他人(自动报错站点)报错,等候的时分它可不能去动总线,直到识别出由自动报错站点宣布 的“过错的位序列”,它才松了一口气:有人正式报错了!然后他就可以去竞赛总线,该干啥干啥。

3. 犯错标识自身没有什么优先级的问题。

4. 关于经过竞赛得到总线运用权的发送站点来说,它在一边发一边听,有或许呈现以下几种状况:

(a) 它自己就发现过错,它就爽性哗啦哗啦,乱发一气(接连的发六个同性位)。就象你小时分在幼儿园操练写字,写错一个笔画你自己就不耐烦了,在纸上哗啦哗啦乱画一气。意图便是告知他人(其他站点):犯错了!

(b) 它自己没有发现过错,但作为自动报错的接纳站点发现了过错(比方由于线路长,搅扰大引起的过错),这个发现过错的站点就会当即哗啦哗啦往总线上乱发一气(接连的发六个显性位),就象你小时分在幼儿园操练写字,写错一个笔画你自己没发现,可教师(自动报错站点)发现了就不耐烦了,在你的纸上哗啦哗啦乱画一气。意图便是告知你自己以及告知他人(发送站点和其他站点):犯错了!

(c) 它自己没有发现过错,但作为被迫报错的接纳站点发现了过错(比方由于线路长,搅扰大引起的过错),这个发现过错的站点只能渐渐的等候,等候其他自动报错站点报错。假如其他自动报错站点没发现过错,那就持续等,一向比及该发ACK的时分不给发送站发这个显性的ACK信号,当然了其他站点或许会发这个ACK,那阐明其他站点没有发生过错,没方法,他人能通讯,你不能!然后积累到必定的时分,你就脱离总线吧!再持续等候一段时间,面貌一新,从头回到总线上(这个时分过错记载都清0了,你肯定是自动报错站了)。就象你小时分在幼儿园操练写字,写错一个笔画你自己没发现,但被其他同学(被迫报错站点)发现了,但他不能说,嘿嘿(乱说话,教师要打屁股的),他就只能等,等教师来发现你的过错(等候自动报错站点报错),或许教师没眼力,那就比及收作业的时分,不收你的(不发ACK),不过教师或许自动来收的(给你发ACK),那你可没方法,持续等吧,比及你也当教师了(面貌一新了)…

devicenet协议中关于CAN 的犯错办理的标准

一、过错类型

CAN 供给了检测下列过错类型的机制:

l. 位过错

当发送器将自己发送的电平与总线上的电平相比较,发现两者不相等时发生。隐性位传输时, 显形位的检测在裁定区, ACK 时间段或被迫毛病标志传输期间不会导致位过错。

2. 应对过错

当发送器确认信息没有得到应对时发生。在数据帧及长途帧之间存在一个应对时间段。该时间段内,一切接纳的节点,不管是否是预订的接纳者都有必要对接纳的信息作出应对。

3. 填充过错

当节点检测到 6 个相同电平值的接连位时发生。在正常作业状况下,当发送器检测到它现已发送了 5 个数值相同的接连位时,那么它将在第六位上刺进一个取反值(称之为位填充)。一切接纳器在 CRC (循环冗余查看)核算之前将除掉填充位。 这样,当节点检测到 6 个接连的具有相同值的位时,即发生一个填充位过错。

4. CRC 过错

当 CRC (循环冗余查看)值与发送器生成值不匹配时发生。每一帧包括一个由发送器初始化的循环冗余查看 (CRC) 域。接纳器核算出 CRC值,并与发送器发生的值相比较。假如两个值不相等,即发生 CRC 过错。

5. 格局过错

当在一有必要发送预订值的区内检测到不合法位时发生。确认的预订义的位值有必要在 CAN 帧内的一个确认点发送,假如在这些区域中的一个内检测到不合法位值,即发生格局过错。

二、节点过错状况

为了尽量减小网络上毛病节点的负面影响,从而供给毛病界定, CAN 界说了一个毛病界定状况机制。一个节点或许处于下列三种过错状况之一:

1. 过错自动(Error Active)

当一个过错自动节点检测到过错时,它将发送一个过错自动帧,该帧由 6 个接连的显性位组成。这一发送将掩盖其他任何一起生成的发送,并导致其他一切节点都检测到一个填充过错,并顺次抛弃当时帧。

当处于过错自动状况的节点检测到一个发送问题时,它将宣布一个活动过错帧,以防止一切其他节点接纳信息包。不管检测到过错的节点是否要接纳这个数据都要履行这个进程。

2. 过错被迫 (Error Passive)

当一个过错被迫节点检测到过错时,它将宣布一个过错被迫帧。该帧由 6 个接连的隐性位组成,这个帧或许会被一起呈现的其他发送所掩盖,假如其它站点没有检测到这一过错将不会引起丢掉当时帧。

3. 离线 (Bus Off)

处于离线状况下的节点不允许对总线有任何影响它在逻辑上与网络断开。

毛病界定状况机制中所含进程简述如下:

1. 节点坚持对发送和接纳过错计数器的盯梢;
2. 节点在开端过错自动状况时过错计数器的值等于0。该状况下的节点假定一切检测到的过错非该节点所为;

3. 过错类型以及检出过错的结点被赋予不同的计数值,这些计数值将依据是发送仍是接纳过错进行累加。有用的接纳及发送使这些计数器递减,直至最小值0;

4. 当这些计数器中的任何一个超出 CAN 界说的阈值时,该节点进入过错被迫状况。在此状况下该节点将被认为是导致过错的原因;

5. 当发送过错计数值超出 CAN 界说的另一个阈值时,节点进入离线状况。本标准界说了从离线到过错自动之间的状况转换机制;

6. 当过错被迫的节点的发送及接纳过错计数器值都减小至CAN 界说的阈值以下时,节点从头进入过错自动状况。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/233087.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部