搜索
bottom↓
回复: 5

CAN总线通信中,主动错误和被动错误的通俗解释

[复制链接]

出0入0汤圆

发表于 2017-7-4 19:20:58 | 显示全部楼层 |阅读模式
最近在看CAN相关的东西,找了很多资料,对于错误帧这一块都说的不是太透彻,直到我发现了一篇网上的文章。。。

现在上传上来,大家讨论讨论。


----------------------------------------------------------------------------------------------------------------------------------------------
CAN 总线中主动错误和被动错误的通俗解释
首先建议把广泛使用的“主动错误”和“被动错误”概念换成“主动报错”和“被动报错”。
1. 主动报错站点
    只要检查到错误,它立即“主动地”发出错标识。所谓“出错标识“,它本身就是一个“错误的位序列”(连续的6个显性位,不满足CAN协议的“最多5个连续的同性位”要求),
目的是“主动地”告诉大家:即使你们没有发现“刚才我已发现”的错误,现在我“以身作则”出错啦!你们该看到这个错误了吧!

2. 被动报错站点
    如果检查到错误,它只能干瞪眼“被动地”等别人(主动报错站点)报错,等待的时候它可不能去动总线(发了的隐性错误标志,也不能被总线上其他节点察觉到),
直到识别出由主动报错站点发出 的“错误的位序列”,它才松了一口气:有人正式报错了!然后他就可以去竞争总线,该干啥干啥。

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

4. 对于通过竞争得到总线使用权的发送站点来说,它在一边发一边听,有可能出现以下几种情况:
(a) 它自己就发现错误,它就干脆哗啦哗啦,乱发一气(连续的发六个同性位)。
目的就是告诉别人(别的站点):出错了!

(b) 它自己没有发现错误,但作为主动报错的接收站点发现了错误(比如因为线路长,干扰大引起的错误),
这个发现错误的站点就会立即哗啦哗啦往总线上乱发一气(连续的发六个显性位)。
目的就是告诉你自己以及告诉别人(发送站点和别的站点):出错了!

(c) 它自己没有发现错误,但作为被动报错的接收站点发现了错误(比如因为线路长,干扰大引起的错误),
这个发现错误的站点只能慢慢的等待,等待别的主动报错站点报错。
如果别的主动报错站点没发现错误,那就继续等,
一直等到该发ACK的时候不给发送站发这个显性的ACK信号,当然了其他站点可能会发这个ACK,那说明其他站点没有发生错误,没办法,别人能正常通信,你不能!
然后积攒到一定的时候,你就脱离总线吧!
再继续等待一段时间,脱胎换骨,重新回到总线上(这个时候错误记录都清0了,你变成了主动报错站!)。

就象你在学校课堂黑板上写字,写错一个笔画你自己没发现,但被别的经常写错字的同学(被动报错站点)发现了,但他不能说,非常尬(老师同学们早不信他了,他自己经常写错字),
他就只能等,等老师来发现你的错误(等待主动报错站点报错),
但有时候老师没眼力,那他就只能等到老师问大家“他写的对不对”的时候,他不说话表示抗议(不发ACK)(他的抗议没人吊他的),不过老师却主动说你写的对(给你发ACK)!
那位同学没办法,只能含着泪默默的在心里记一刀(错误计数+1)继续等,
等到他也当老师了(脱胎换骨了)终于看到别人错误的时候,能跳出来叫一声!你丫写错了傻比!...








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2017-7-5 08:59:16 | 显示全部楼层
通俗易懂!

出0入0汤圆

发表于 2017-7-5 11:24:05 | 显示全部楼层
哈哈哈  有意思,其实协议很多时候就这样的

看代码文字好像觉得摸不着头脑,其实来历就是这么简单通俗

出0入0汤圆

发表于 2017-7-5 11:52:22 | 显示全部楼层
出错了怎么处理?

出0入0汤圆

 楼主| 发表于 2017-7-5 14:35:18 | 显示全部楼层
再补上关于过载帧方面的介绍文档






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2017-7-5 14:35:55 | 显示全部楼层

刚开始看协议,,,一脸懵
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-26 03:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表