datasheet

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

2019-07-11来源: EEWORLD关键字:CAN  FD

摘要:数据校验是为保证数据的完整性进行的一种验证操作。CAN通信采用CRC校验作为一种重要的错误检测手段,是节点判断CAN帧信息的完整性并产生确认应答的依据。

 

在现场总线通信和控制的实际应用中,工业应用环境往往是极端的温度以及电磁噪声或是其他的恶劣环境,系统在这种条件下能否正常工作至关重要,试想一下倘若生产线设备发送的位置信息在传输过程出现了错误,轻则可能造成生产瘫痪,重则可能导致设备损坏甚至人员伤害。

 

在CAN总线通信过程中CAN控制器具备完整的错误检测能力,其中包含:位错误检测、格式错误检测、填充错误检测、应答错误检测和CRC错误检测。作为一种重要的错误检测手段,CRC错误检测是接收节点判断CAN帧信息的完整性并向总线确认应答的依据。

 

一、 常见的校验方法

 

  1. 最简单的校验是数据发送后进行主动回读,结果一致才确认传输成功,很显然这种传输沟通的方式很直观并非常精准,但是由于回读的操作使得数据传输量翻倍,也就是传输对带宽要求高且效率低下;

 

  1. 奇偶校验,就是传输中使用额外1个位来记录传输数据二进制数中1的个数是奇数还是偶数,这个方案适合绝大多数硬件,传输开销适中,因此被广泛使用,例如常见的串口通信;

 

  1. 累加和校验,该算法原理是对数据逐一进行累加后得到一个数值,接收方在接收数据同时也进行数据的累加并最终与发送过来的累加和进行比较,该算法计算简单,无论在硬件或是软件实现都能保证较高的效率,常用于低速串行数据通信校验和芯片代码的完整性判断;

 

  1. CRC检验,该算法是基于一个多项式除法取余的结果,其根据位数需求和多项式变化有数十种版本,凭借其硬件实现简单,位反转侦错能力较强及运算开销适中的优点被广泛应用与数字网络传输以及数据存储领域,如磁盘数据校验、USB、GSM/CDMA通信,在计算机应用中经常接触到的RAR和ZIP文件的压缩/解压数据完整性检查也采用了该算法;

 

  1. MD5、SHA为代表的信息摘要校验,数据摘要算法也被称为哈希(Hash)算法、散列算法,摘要算法用于数据量比较大的场合。它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密,如软件注册授权文件的内容保护,还有经常遇到的互联网下载大文件(例如大小到GB级别的ISO镜像)通常会带有MD5、SHA1等信息方便用户检查传输数据的完整性。

 

二、 CAN帧中的CRC检验

 

  1. CRC域在CAN帧中的位置

 

 

图1

 

如图1橙色块方框所示,一个传统CAN帧结构中,CRC域放置在数据结束后应答检测之前,对于CAN FD也是相同的位置,该信息对于用户应用界面来说是不可见的,可以通过CANscope总线分析仪解码窗口或者带有CAN协议解码能力的示波器从总线模拟波形上得到对应的CRC数据展示,见图2。

 

 

图2

 

  1. CRC的在CAN帧中的生成

 





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

 

表1

image.png


CRC是如何完成校验工作的
 

 

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

 

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

 

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


关键字:CAN  FD

编辑:muyan 引用地址:http://news.eeworld.com.cn/qcdz/ic467419.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:智能网联汽车和同步双频Wi-Fi存在的微秒关系
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Vector推出面向IEEE802.11p和基于CANFD的网络接口方案

Vector推出了面向IEEE802.11p和基于CAN(FD)的应用的VN4610网络接口解决方案,旨在帮助将基于802.11p的ECU加速生产。Vector VN4610将:帮助用户轻松接收和发送IEEE802.11p消息,并实现Car2x- / V2X应用程序满足通过IEEE-802.11p无线电信道安全测试专用短距离通信(DSRC)应用的所有技术硬件要求两个无线电收发信道,可将所有消息发送到测试工具分析由于消息的时间戳与总线通道同步,因此执行延迟测量提供经过调整的解决方案,用于创建用于测试Car2x / V2X应用程序的仿真环境指示传输消息并为各种测试安排通信边界。
发表于 2019-07-15
Vector推出面向IEEE802.11p和基于CANFD的网络接口方案

STM32常用通信——USART,IIC,SPI,CAN

STM32常用通信CAN通信CAN根据两根线上电位差来判断总线电平,总线电平分为显性电平和隐形电平,两者必居其一,发送方通过控制总线电平发送信息给接收方。显性电平对应逻辑0,两根线压差2.5V左右,隐形电平对应逻辑1,压差为0。总线上可以挂很多单元,显性电平具有优先权,一个单元显性电平,则总线为显性。CAN总线起止断有120R的电阻,用于做阻抗匹配,减少回波反射。CAN的位时序:<同步段SS>SS<传播时间段PTS相位缓冲段1   PBS1>BS1<相位缓冲段2   PBS2>BS21位分为四段,每段由若干Tq组成,波特率=1/(Tq+TBS1+TBS2
发表于 2019-07-11
STM32常用通信——USART,IIC,SPI,CAN

Canalys:2023年5G智能手机出货量超50% 将首超4G

中国是如此快速增长率的重要推动力,2023年中国将占据5G智能手机出货总量的34%,相比之下北美占19%,亚太(其他地区)占17%。中国已经于上个月提前发布5G商用牌照,旨在更好地与全球其他市场进行竞争。“中国政府的角色以及运营商和设备供应商的积极投资,对于此次提前发布商用牌照至关重要。”Canalys移动业务副总裁Nicole Peng表示。Canalys预测,最早到明年,向中国市场出货的智能手机中17.5%将支持5G功能,到2023年这一比例将上升至62.7%,并指出强大的政府技术路线图和中国电信运营商的财务能力,将会推动中国市场5G渗透率的迅速提升。Nicole Peng说:“中国也是许多主要5G设备供应商和智能手机厂商
发表于 2019-07-08

为何CAN FD不容错过呢?

集微网消息,在“走红”数年、在总线领域应用广泛的CAN(控制器局域网络)终要回归“幕后”——随着新能源汽车、自动驾驶技术的快速发展,以及对于ADAS和人机交互需求的增加,CAN总线在传输速率和带宽等方面越来越显得“力不从心”,其升级版——CAN FD(可变速率应运而生。它继承了传统CAN总线主要特性,同时支持高达5 Mbps的数据传输率,并改善了错误帧漏检率,被视为是下一代主流汽车总线系统。此外,CAN总线在工业自动化等领域的应用也面临同样的诉求。但从CAN走向CAN FD的升级路上,仍需攻克多重关卡。需求起飞在博世2011年提出CAN FD之后,虽然应用一直波澜不惊,但近些年已然发生了变化。德州仪器(TI)接口产品部门产品线经理
发表于 2019-07-02

大红大紫的CAN FD

在“走红”数年、在总线领域应用广泛的CAN(控制器局域网络)终要回归“幕后”——随着新能源汽车、自动驾驶技术的快速发展,以及对于ADAS和人机交互需求的增加,CAN总线在传输速率和带宽等方面越来越显得“力不从心”,其升级版——CAN FD(可变速率应运而生。它继承了传统CAN总线主要特性,同时支持高达5 Mbps的数据传输率,并改善了错误帧漏检率,被视为是下一代主流汽车总线系统。此外,CAN总线在工业自动化等领域的应用也面临同样的诉求。但从CAN走向CAN FD的升级路上,仍需攻克多重关卡。                  
发表于 2019-07-01
大红大紫的CAN FD

新能源汽车的下一个风口,超全面解析(技术篇)

,因此充电器必须要有直流转换器。车载充电器电压范围一般在85V-265V,这样使得车辆可以在世界任何地方充电。在车载充电器中有大量的功率三极管作为功率开关器件使用。功率三极管包括了双极型管,MOS管以及大红大紫的IGBT。 [page]FD-SOI赋能自动驾驶 当半导体工艺制程发展到22纳米时,为了满足性能、成本和功耗要求,延伸发展出FinFET和FD-SOI两种技术。由于半导体龙头英特尔主导推广FinFET技术,并得到晶圆代工大厂台积电的支持,使得FinFET技术大行其道。FinFET工艺和FD-SOI工艺均由胡正明教授发明,其实这两个工艺真的是互补的,如果用汽车发动机来比喻的话,FinFET像是通过某种方法拓展
发表于 2019-07-03
新能源汽车的下一个风口,超全面解析(技术篇)

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved