当前位置: 首页 » 政策法规 » 工程师园地 » 正文

如何确保数据传输正确完整?

详解CAN/CAN FD通信中的循环冗余校验(CRC)方法


  来源: ZLG立功科技 时间:2019-07-09 编辑:伊敏
分享到:



在经典CAN中,使用15位CRC,在硬件可使用移位和异或运算完成CRC的计算,而CAN FD规范中对帧数据长度进行了扩展,对于数据长度小于等于16字节的CAN FD帧,采用17位CRC,对于数据长度大于16字节的CAN FD帧采用21位CRC。CAN总线中使用的若干版本CRC生成多项式g整理如表1所示。

1

3、CRC是如何完成校验工作的

CAN帧基于CRC多项式的安全校验是发送器根据发送的比特计算校验值,并在CAN帧结构CRC字段中提供该结果。接收器使用相同的多项式来计算总线上所见位的校验值,将自我计算的校验值与接收的校准值进行比较,如果匹配,则认为帧被正确接收,接收节点在ACK时隙位中发送显性状态,从而覆盖发送器的隐性状态。在不匹配的情况下,接收节点在ACK定界符之后发送错误帧。

目前CAN FD的控制器CRC校验实现过程会相对复杂一点,在一个CAN总线网络中,帧起始被检测到后所有的节点开始使用三组多项式g15、g17和g21同步计算CRC序列,其中也包含发送节点,由于CRC的计算受CAN帧类型和DLC长度影响,直到CAN帧的控制域以及DLC确认后才选择采用对应的CRC生成序列,确定的CRC序列会在帧结构中CRC字段被采纳用于发送或者用于接收比较。

4、有关CRC的ISO CAN FD、non-ISO CAN FD兼容性问题

当前CAN FD协议有两个版本,为提高故障(错误)检测能力,新版本特别引入了一个3位填充位计数器和一个额外的奇偶校验位。此外,CRC计算方法也发生了变化。这些改进使最新的CAN FD协议与博世(BOSCH)开发的原始CAN FD协议不兼容。负责ISO的工作组已完成其文件,并已将其提交给DIS(国际标准草案)在进行投票程序。

为了避免误解,CiA建议使用术语“ISO CAN FD”和“non-ISO CAN FD”。所有符合ISO 11898-2:2015的产品都应称为“ISO CAN FD”。执行博世(BOSCH)原始CAN FD协议的产品应命名为“non-ISO CAN FD”,在这个过度阶段的产品主要目的是用于前期评估和开发,将来所有产品都将符合ISO标准。

请注意,早前一些供应商提供的组件或者工具是针对non-ISO CAN FD协议的,包括目前在售的部分CAN FD产品,CiA建议仅使用ISO CAN FD产品进行设计和开发,不过你可继续使用non-ISO CAN FD做评估和前期开发,因为协议的改变对于用户界面是不可见,但注意的是不能同一个网络混用non-ISO CAN FD和ISO CAN FD接口设备,这样会造成CAN总线错误无法完成发送和接收,如果仅仅是发送或接收传统的CAN帧将不会受到任何影响,幸运的是部分设备供应商提供的组件或者工具允许用户选择支持ISO或者non-ISO模式,这样能很好地在过渡时期帮助你完成工作。

 总结

传统CAN以及目前CAN FD采取的校验机制,保证传输过程中遭受破坏的帧数据几乎不会被接收以及应答成功,能有效防止物理层传输错误,让用户界面不需要额外关注帧传输数据的正确性。

关键词:通信 检测 控制器    浏览量:5626

声明:凡本网注明"来源:仪商网"的所有作品,版权均属于仪商网,未经本网授权不得转载、摘编使用。
经本网授权使用,并注明"来源:仪商网"。违反上述声明者,本网将追究其相关法律责任。
本网转载并注明自其它来源的作品,归原版权所有人所有。目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如有作品的内容、版权以及其它问题的,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
本网转载自其它媒体或授权刊载,如有作品内容、版权以及其它问题的,请联系我们。相关合作、投稿、转载授权等事宜,请联系本网。
QQ:2268148259、3050252122。


让制造业不缺测试测量工程师

最新发布
行业动态
政策法规
国际资讯
仪商专题
按分类浏览
Copyright © 2023- 861718.com All rights reserved 版权所有 ©广州德禄讯信息科技有限公司
本站转载或引用文章涉及版权问题请与我们联系。电话:020-34224268 传真: 020-34113782

粤公网安备 44010502000033号

粤ICP备16022018号-4