can总线错误检测机制.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CAN总线错误检测机制 导语:?CAN总线是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。 CAN总线是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,CAN总线应运而生,图1为CAN总线在汽车中的应用图。 图1汽车中CAN总线的应用 CAN的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。图2为CAN总线网路图,它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强而有力的技术支持。 图2 CAN总线网路图 CAN总线作为可靠性非常高的总线,出错概率非常小,这也是它被广泛应用的原因之一。在CAN总线的实际研发中,相较于CAN总线的正确帧,工程师更关注CAN总线的错误帧,下面将为大家展现CANscope波形常见的几类错误,图3为干扰导致的CAN通讯错误。 图3错误波形图 图4为终端电阻并联过多,差分电平幅值太小导致接收节点识别失败的错误。 图4错误波形图 图5为总线支线过长,电平下降沿台阶过高,导致位宽度失调的错误。 图5错误波形图 图6为卡车打开/关闭大灯时,耦合到CAN总线上的干扰,导致的错误。 图6错误波形图 图7为波特率异常(位宽度从2us突然变成1.6us),导致位错误。 图7错误波形图 CAN总线的错误都有哪些形式,相互之间有什么样的关系,以及总线的检测与校验的原理是什么? CAN总线的错误帧可分为位错误、位填充错误、CRC错误、格式错误、应答错误五大类,每类错误的具体解释如图8所示,此图简洁明了的展现了各种错误。 图8CAN总线错误类型 CAN报文传输过程中出现通讯错误,会发送错误帧,以上所述的错误帧类型中根据其错误标识符不同,可分为“主动错误”和“被动错误”。 主动错误:检测错误主动报错,发出错误标识符(连续6个显性位)和错误界定符(连续8个隐形位);目的在于“主动”通知错误,即使别的节点没有发现此错误; 被动错误:检测错误,被动等待其他节点报错后发送错误标识符(连续6个隐形位)和错误标识符(连续8个隐形位);目的在于识别错误,回应主动错误; 总线关闭:节点不参与总线通讯; 为了避免某个设备因为自身原因(例如硬件损坏)导致无法正常收发数据而不断地破坏数据帧,从而影响其他正常节点通讯,CAN-bus规范中规定每个CAN控制器都有一个发送错误计数器和一个接收错误计数器。根据计数值不同CAN节点会处于不同的设备状态,状态之间的转换关系如图9所示: 图9错误转换图 接收、发送错误计数器对应的变动条件及数值变动情况: 接收单元检测出错误时,检测到错误标识符或过载标志的“位错误”除外,此时REC+1、TEC不变; 接收单元在发送完错误标志后检测到第一位为显性电平,此时REC+8、TEC不变; 发送单元输出错误标志,此时REC不变、TEC+8; 发送单元发送主动错误标志或过载标志,检测出位错误,REC不变、TEC+8; 接收单元发送主动错误标志或过载标志,检测出位错误,REC+8、TEC不变; 各单元从主动错误标志、过载标志的开始检测出连续14个显性位,之后每检测出连续8个显性位,发送时REC+8、接收时TEC+8; 检测出被动错误标志后追加连续8个位的显性位,发送时REC+8、接收时TEC+8; 发送单元正常接收数据结束时(返回ACK且到帧结束位检测到错误),REC不变、TEC-1; 接收单元正常接收数据结束时(到CRC未检测出错误且正常返回ACK),REC127时,REC-1,REC127时,REC=127;TEC不变; 处于总线关闭的单元,检测到128次连续11个位的隐形位,错误计数器归零,REC、TEC=0; CAN总线错误处理功能属于是链路层功能,此功能由CAN控制器决定,如图10所示CAN控制介绍图,其中详细介绍与错误处理有关的部分:位流处理器、位逻辑控制、错误管理逻辑。 位流处理器(BSP)是一个控制发送缓冲器、接收FIFO和CAN总线之间数据流的程序装置,它还执行总线上的错误检测、仲载、总线填充和错误处理。 位时序逻辑(BTL)监视串行的

文档评论(0)

137****0427 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档