canfd收不到数据_详解CAN及CAN FD通信中的循环冗余校验(CRC)方法

本文详细介绍了CAN及CAN FD通信中的CRC校验方法,强调了CRC在数据完整性检测中的关键作用。CRC通过多项式除法取余确保数据传输的准确性,应用于CAN帧的数据校验,以避免在恶劣环境下传输错误导致的设备故障或安全事故。同时,文章讨论了CAN FD的CRC校验实现过程,以及ISO和non-ISO CAN FD的兼容性问题。
摘要由CSDN通过智能技术生成

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

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

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

一、 常见的校验方法

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

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

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

CRC检验,该算法是基于一个多项式除法取余的结果,其根据位数需求和多项式变化有数十种版本,凭借其硬件实现简单,位反转侦错能力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值