快速读懂CAN-bus节点的错误处理规则.doc

上传人:白大夫 文档编号:3439085 上传时间:2019-08-26 格式:DOC 页数:2 大小:14KB
返回 下载 相关 举报
快速读懂CAN-bus节点的错误处理规则.doc_第1页
第1页 / 共2页
亲,该文档总共2页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《快速读懂CAN-bus节点的错误处理规则.doc》由会员分享,可在线阅读,更多相关《快速读懂CAN-bus节点的错误处理规则.doc(2页珍藏版)》请在三一文库上搜索。

1、快速读懂CAN-bus节点的错误处理规则CAN-bus的可靠性很高,但是在某些情况下还是发生错误,为了使数据能够在总线上可靠传输,CAN-bus规范对各类帧的格式、用途及发送时机都进行了详细的规定。CAN-bus规范对各类帧的格式、用途及发送时机都进行了详细的规定。并实现在CAN控制器中自动完成帧格式处理及校验等工作,一旦错误被检测,正在传送的数据帧将会立即停止而待总线空闲时再次重发直至发送成功,该过程并不需要CPU的干涉除非错误累计该发送器退隐(Bus off)。CAN-bus的可靠性很高,但是在某些情况下还是发生错误,为了使数据能够在总线上可靠传输,CAN-bus规范对各类帧的格式、用途及

2、发送时机都进行了详细的规定。下面我们来总结下在CAN通讯中会出现哪些错误。图一位错误:发送节点在发送数据的同时也会对发出的比特流采样回收,如果监测到总线电平与正在发送的电平不符,将会发生位错误(Bit Check Error);位填充错误:为解决异步串行通讯中共有的缺点各节点通讯时钟不同步,CAN-bus采用了一种同步的方式,规定每隔5个位的时间长度进行一次同步,当传输信号连续5个位是相同的,就要插入一个点评相反的位(称为填充位),如果电缆上传输的信号不满足这一规则,则会出现填充位错误(Bit Stuff Error);CRC错误:发送端发送的CRC值由发送器计算得出,接收器采用同样的CRC算

3、法,计算出接收端CRC值,若接收器计算的CRC值与接收到的CRC值不符,将会产生该类错误(CRC Error);格式错误:当传输的数据帧格式与任何一种合法的帧格式不符时会发生该类格式错误(Frame Check Error);应答错误:如果在ACK段发送节点没有接收到接收节点发出的应答(显性位),将发生应答错误(Acknowledgment Error),所以当单个节点发送数据帧时会发生该类错误。错误帧在总线信号传输中起着信号灯的作用,接收和发送过程中如果检测到通信出错,便会发送错误帧,错误帧由错误标识符以及错误界定符构成。其中错误标识符分为两种:主动错误和被动错误。主动错误状态下,只要检查到

4、错误,它立即主动地发出错标识。所谓出错标识,它本身就是一个错误的位序列(连续的6个显性位,不满足CAN协议的最多5个连续的同性位要求),目的是主动地告诉大家:即使你们没有发现刚才我已发现的错误,现在我以身作则出错啦!你们该看到这个错误了吧!如果处于被动状态下,检查到错误,它只能干瞪眼被动地等别人(主动报错站点)报错,等待的时候它可不能去动总线,直到识别出由主动报错站点发出 的错误的位序列,它才松了一口气:有人正式报错了!然后他就可以去竞争总线,该干啥干啥。为了避免某个设备因为自身原因(例如硬件损坏)导致无法正常收发数据而不断地破坏数据帧,从而影响其他正常节点通讯,CAN-bus规范中规定每个CAN控制器都有一个发送错误计数器和一个接收计数器。根据计数值不同CAN节点会处于不同的设备状态,状态之间的转换关系见下图:

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1