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

发布时间:2022-01-13 阅读量:3014 来源: 我爱方案网 作者: 我爱方案网整理

在现场总线通信和控制的实际应用中,工业应用环境往往是极端的温度以及电磁噪声或是其他的恶劣环境,系统在这种条件下能否正常工作至关重要,试想一下倘若生产线设备发送的位置信息在传输过程出现了错误,轻则可能造成生产瘫痪,重则可能导致设备损坏甚至人员伤害。在CAN总线通信过程中CAN控制器具备完整的错误检测能力,其中包含:位错误检测、格式错误检测、填充错误检测、应答错误检测和CRC错误检测。作为一种重要的错误检测手段,CRC错误检测是接收节点判断CAN帧信息的完整性并向总线确认应答的依据。


一、常见的校验方法


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

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

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

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

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


二、CAN帧中的CRC检验1.CRC域在CAN帧中的位置


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

图1


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


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

图2


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


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


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

表1



推荐阅读:

怎么配置现场总线PROFIBUS系统

现场总线PROFIBUS通信功能的软件设计

现场总线PROFIBUS通信功能硬件设计

现场总线PROFIBUS通信功能的接口设计

测量位移图像识别测量技术简介

相关资讯
无源晶振YSX321SL应用于高精度HUD平视显示系统YXC3225

在现代汽车行业中,HUD平视显示系统正日益成为驾驶员的得力助手,为驾驶员提供实时导航、车辆信息和警示等功能,使驾驶更加安全和便捷。在HUD平视显示系统中,高精度的晶振是确保系统稳定运行的关键要素。YSX321SL是一款优质的3225无源晶振,拥有多项卓越特性,使其成为HUD平视显示系统的首选。

拥有卓越性能的高精度超薄低功耗心电贴—YSX211SL

随着医疗技术的进步,心电监护设备在日常生活和医疗领域中起到了至关重要的作用。而无源晶振 YSX211SL 作为一种先进的心电贴产品,以其独特的优势在市场上备受瞩目。

可编程晶振选型应该注意事项

对于可编程晶振选型的话,需要根据企业的需求选择。在选择可编程晶振的时候注重晶振外观、晶振的频率、晶振的输出模式、晶振的型号等等,这些都是要注意的,尤其是晶振的频率和晶振输出模式以及晶振的型号都是需要注意的。

性能高的服务器—宽电压有源晶振YSO110TR 25MHZ,多种精度选择支持±10PPM—±30PPM

在现代科技发展中,服务器扮演着越来越重要的角色,为各种应用提供强大的计算和数据存储能力。而高品质的服务器组件是确保服务器稳定运行的关键。YSO110TR宽电压有源晶振,作为服务器的重要组成部分,具备多项优势,成为业界必备的可靠之选。

差分晶振怎么测量

其实对于差分晶振怎么测量方式有很多种,主要还是要看自己选择什么样的方式了,因为选择不同的测量方式步骤和操作方式是不同的。关于差分晶振怎么测量的方式,小扬给大家详细的分享一些吧!