CAN中主动错误和被动错误的通俗解释.docx

上传人:小飞机 文档编号:3154258 上传时间:2023-03-11 格式:DOCX 页数:4 大小:38.78KB
返回 下载 相关 举报
CAN中主动错误和被动错误的通俗解释.docx_第1页
第1页 / 共4页
CAN中主动错误和被动错误的通俗解释.docx_第2页
第2页 / 共4页
CAN中主动错误和被动错误的通俗解释.docx_第3页
第3页 / 共4页
CAN中主动错误和被动错误的通俗解释.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《CAN中主动错误和被动错误的通俗解释.docx》由会员分享,可在线阅读,更多相关《CAN中主动错误和被动错误的通俗解释.docx(4页珍藏版)》请在三一办公上搜索。

1、CAN中主动错误和被动错误的通俗解释CAN 总线中主动错误和被动错误的通俗解释 首先建议把广泛使用的“主动错误”和“被动错误”概念换成“主动报错”和“被动报错”。 1. 主动报错站点 只要检查到错误,它立即“主动地”发出错标识。所谓“出错标识”,它本身就是一个“错误的位序列”,目的是“主动地”告诉大家:即使你们没有发现“刚才我已发现”的错误,现在我“以身作则”出错啦!你们该看到这个错误了吧! 2. 被动报错站点 如果检查到错误,它只能干瞪眼“被动地”等别人报错,等待的时候它可不能去动总线,直到识别出由主动报错站点发出的“错误的位序列”,它才松了一口气:有人正式报错了!然后他就可以去竞争总线,该

2、干啥干啥。 3. 出错标识本身没有什么优先级的问题。 4. 对于通过竞争得到总线使用权的发送站点来说,它在一边发一边听,有可能出现以下几种情况: 它自己就发现错误,它就干脆哗啦哗啦,乱发一气。就象你小时候在幼儿园练习写字,写错一个笔画你自己就不耐烦了,在纸上哗啦哗啦乱画一气。目的就是告诉别人:出错了! 它自己没有发现错误,但作为主动报错的接收站点发现了错误,这个发现错误的站点就会立即哗啦哗啦往总线上乱发一气,就象你小时候在幼儿园练习写字,写错一个笔画你自己没发现,可老师发现了就不耐烦了,在你的纸上哗啦哗啦乱画一气。目的就是告诉你自己以及告诉别人:出错了! 它自己没有发现错误,但作为被动报错的接

3、收站点发现了错误,这个发现错误的站点只能慢慢的等待,等待别的主动报错站点报错。如果别的主动报错站点没发现错误,那就继续等,一直等到该发ACK的时候不给发送站发这个显性的ACK信号,当然了其他站点可能会发这个ACK,那说明其他站点没有发生 1 / 4 错误,没办法,别人能通信,你不能!然后积攒到一定的时候,你就脱离总线吧!再继续等待一段时间,脱胎换骨,重新回到总线上。就象你小时候在幼儿园练习写字,写错一个笔画你自己没发现,但被别的同学发现了,但他不能说,嘿嘿,他就只能等,等老师来发现你的错误,或者老师没眼力,那就等到收作业的时候,不收你的,不过老师可能主动来收的,那你可没办法,继续等吧,等到你也

4、当老师了. DeviceNet协议中关于CAN 的出错管理的规范 一、 错误类型 CAN 提供了检测下列错误类型的机制: 1. 位错误 当发送器将自己发送的电平与总线上的电平相比较,发现两者不相等时产生。隐性位传输时, 显性位的检测在仲裁区,ACK 时间段或被动故障标志传输期间不会导致位错误。 2. 应答错误 当发送器确定信息没有得到应答时发生。在数据帧及远程帧之间存在一个应答时间段。该时间段内,所有接收的节点,无论是否是预定的接收者都必须对接收的信息作出应答。 3. 填充错误 当节点检测到6个相同电平值的连续位时发生。在正常工作情况下,当发送器检测到它已经发送了5个数值相同的连续位时,那么它

5、将在第六位上插入一个取反值。所有接收器在 CRC 计算之前将除去填充位。这样,当节点检测到6个连续的具有相同值的位时,即产生一个填充位错误。 4. CRC 错误 当CRC值与发送器生成值不匹配时发生。每一帧包含一个由发送器初始化的循环冗余检查域。接收器计算出CRC值,并与发送器产生的值相比较。 2 / 4 如果两个值不相等,即产生CRC错误。 5. 格式错误 当在一必须发送预定值的区内检测到非法位时发生。确定的预定义的位值必须在 CAN 帧内的一个确定点发送,如果在这些区域中的一个内检测到非法位值,即产生格式错误。 二、节点错误状态 为了尽量减小网络上故障节点的负面影响,进而提供故障界定,CA

6、N 定义了一个故障界定状态机制。一个节点可能处于下列三种错误状态之一: 1. 错误主动 当一个错误主动节点检测到错误时,它将发送一个错误主动帧,该帧由6个连续的显性位组成。这一发送将覆盖其他任何同时生成的发送,并导致其他所有节点都检测到一个填充错误,并依次放弃当前帧。 当处于错误主动状态的节点检测到一个发送问题时,它将发出一个活动错误帧,以避免所有其他节点接收信息包。无论检测到错误的节点是否要接收这个数据都要执行这个过程。 2. 错误被动 (Error Passive) 当一个错误被动节点检测到错误时,它将发出一个错误被动帧。该帧由6个连续的隐性位组成,这个帧可能会被同时出现的其他发送所覆盖,

7、如果其它站点没有检测到这一错误将不会引起丢弃当前帧。 3. 离线 (Bus Off) 处于离线状态下的节点不允许对总线有任何影响它在逻辑上与网络断开。 故障界定状态机制中所含过程简述如下: 1. 节点保持对发送和接收错误计数器的跟踪; 2. 节点在开始错误主动状态时错误计数器的值等于0。该状态下的节点假设所有检测到的错误非该节点所为; 3. 错误类型以及检出错误的结点被赋予不同的计数值,这些计数值将根据是发送还是接收 3 / 4 错误进行累加。有效的接收及发送使这些计数器递减,直至最小值0; 4. 当这些计数器中的任何一个超出CAN定义的阈值时,该节点进入错误被动状态。在此状态下该节点将被认为是导致错误的原因; 5. 当发送错误计数值超出CAN定义的另一个阈值时,节点进入离线状态。本规范定义了从离线到错误主动之间的状态转换机制; 6. 当错误被动的节点的发送及接收错误计数器值都减小至CAN 定义的阈值以下时,节点重新进入错误主动状态。 Figure 1 CAN错误状态 4 / 4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号