下一代汽车制造产品的CAN和LIN

CAN和LIN组合,具有超低的功率设计和高度的集成,在降低成本和解决方案同时,最小化系统的复杂性。

i.MX RT 系列跨界处理器

其功能包括先进的2D显卡加速引擎、LCD显示控制器、摄像头传感器接口以及用于高性能多通道音频流的音频接口。

TE 250系列母端的解决方案

适用于缺乏传统的全尺寸母端所需空间的应用,此款小型镀锡黄铜母端与标准的0.250 x 0.032插片插接。

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

2016-11-11 [责任编辑:susan]
分享到:
0分
【导读】CAN-bus的可靠性很高,但是在某些情况下还是发生错误,为了使数据能够在总线上可靠传输,CAN-bus规范对各类帧的格式、用途及发送时机都进行了详细的规定。

CAN-bus规范对各类帧的格式、用途及发送时机都进行了详细的规定。并实现在CAN控制器中自动完成帧格式处理及校验等工作,一旦错误被检测,正在传送的数据帧将会立即停止而待总线空闲时再次重发直至发送成功,该过程并不需要CPU的干涉除非错误累计该发送器退隐(Bus off)。
 
CAN-bus的可靠性很高,但是在某些情况下还是发生错误,为了使数据能够在总线上可靠传输,CAN-bus规范对各类帧的格式、用途及发送时机都进行了详细的规定。下面我们来总结下在CAN通讯中会出现哪些错误。
 
图一
 
位错误:发送节点在发送数据的同时也会对发出的比特流采样回收,如果监测到总线电平与正在发送的电平不符,将会发生位错误(Bit Check Error);
 
位填充错误:为解决异步串行通讯中共有的缺点——各节点通讯时钟不同步,CAN-bus采用了一种同步的方式,规定每隔5个位的时间长度进行一次同步,当传输信号连续5个位是相同的,就要插入一个点评相反的位(称为“填充位”),如果电缆上传输的信号不满足这一规则,则会出现填充位错误(Bit Stuff Error);
 
CRC错误:发送端发送的CRC值由发送器计算得出,接收器采用同样的CRC算法,计算出接收端CRC值,若接收器计算的CRC值与接收到的CRC值不符,将会产生该类错误(CRC Error);
 
格式错误:当传输的数据帧格式与任何一种合法的帧格式不符时会发生该类格式错误(Frame Check Error);
 
应答错误:如果在ACK段发送节点没有接收到接收节点发出的应答(显性位),将发生应答错误(Acknowledgment Error),所以当单个节点发送数据帧时会发生该类错误。
 
错误帧在总线信号传输中起着信号灯的作用,接收和发送过程中如果检测到通信出错,便会发送错误帧,错误帧由错误标识符以及错误界定符构成。其中错误标识符分为两种:“主动错误”和“被动错误”。
 
主动错误状态下,只要检查到错误,它立即“主动地”发出错标识。所谓“出错标识“,它本身就是一个“错误的位序列”(连续的6个显性位,不满足CAN协议的“最多5个连续的同性位”要求),目的是“主动地”告诉大家:即使你们没有发现“刚才我已发现”的错误,现在我“以身作则”出错啦!你们该看到这个错误了吧!
 
如果处于被动状态下,检查到错误,它只能干瞪眼“被动地”等别人(主动报错站点)报错,等待的时候它可不能去动总线,直到识别出由主动报错站点发出 的“错误的位序列”,它才松了一口气:有人正式报错了!然后他就可以去竞争总线,该干啥干啥。
 
为了避免某个设备因为自身原因(例如硬件损坏)导致无法正常收发数据而不断地破坏数据帧,从而影响其他正常节点通讯,CAN-bus规范中规定每个CAN控制器都有一个发送错误计数器和一个接收计数器。根据计数值不同CAN节点会处于不同的设备状态,状态之间的转换关系见下图:
 
关键字:CAN-bus 总线传输 
本文链接:http://www.cntronics.com/gptech-art/80031701
分享到:
推荐给同仁
0
0
查看全部评论
有人回复时发邮件通知我

相关阅读

关于我们 | About Us | 联系我们 | 隐私政策 | 版权申明 | 投稿信箱

反馈建议:editor@eecnt.com     客服电话:0755-26727371

Copyright © WWW.CNTRONICS.COM  All Rights Reserved 深圳市中电网络技术有限公司 版权所有   粤ICP备10202284号-1 未经书面许可,不得转载本网站内容。