虹科技术 | 保障数据传输稳定性:BabyLIN产品的CRC算法实现

来源:虹科汽车智能互联虹科技术| 保障数据传输稳定性:babylin产品的crc算法实现
欢迎关注虹科,为您提供最新资讯!
导读crc校验(循环冗余校验)是数据通讯中最常采用的校验方式。can协议中, 总线通信节点也常采用crc算法对各种总线传输的数据进行校验**** 。crc8校验在整车通信系统中应用比较广泛,鉴于此,本篇文章将以crc8校验为例,介绍在babylin产品中如何使用crc校验算法。
01crc校验原理在can报文中, 增加checksum校验,能够用来检测和校验数据传输或保存后可能出现的错误**** 。它是利用除法及余数的原理来作错误侦测的。crc8校验算法,就是对一帧报文进行校验和计算的算法。
其主要原理是:在发送节点,根据要传送的数据序列,以一定的规则产生一个校验用的校验码(crc码),附在原始报文中,构成一个新的数据序列,然后发送出去。在接收节点,根据报文信息和crc码之间遵循的规则进行检验,校验采用计算机的模二除法(即生成多项式)做异或运算,进行异或运算时除数和被除数最高位对齐,进行按位异或运算,若最终的数据能被除尽,则传输正确;否则,传输错误。
02crc算法实现
在自定义crc算法中,crc算法在线计算工具中需要填写以下六项参数。(具体的crc算法代码实现这里不做展示)
1、宽度位数:crc校验结果的比特数。支持 8 位,16 位,32 位和 64 位。
2、多项式poly:生成公式的简写,以16进制表示。忽略最高位的1。
3、初始值init:算法初始预置值,以16进制表示。
4、输入数据反转refin:输入数据的每个字节是否按位反转。
5、输出数据反转refout:在计算后之后,结果输出之前,整个数据是否按位反转。
6、结果异或值xorout:计算结果与此参数异或后得到最终的crc值。
03babylin应用与验证
babylin产品的sdf程序编写中,在sessionconf软件的signalfunctios中定义了crc算法的实现。具体的crc算法实现所要设置的参数值[*4][*5][*6][*11]和crc算法在线计算工具基本一致。
如下图crc8算法实现所示,实际中选择具体的报文帧[*0]进行crc校验即可,报文中进行crc校验的数据序列[*1][*2][*7][*8][*9][*10],以及crc校验值存放位置[*3]均可根据实际情况设置。
signalfunctios中crc-8 bit实现具体需要设置的参数项的含义解释如图:
导入含有crc算法的sdf程序,在babylin产品中建立与ecu的通信,得到crc算法实现结果,可以看出,得到的校验值与crc算法在线计算工具中的计算结果一致。
结语通过在babylin产品中实现crc算法,我们可以确保数据传输的准确性和可靠性。通过合理设置crc算法的参数,以及正确应用在数据传输过程中,我们可以大大提高数据传输的稳定性,从而为各种通信系统的正常运行提供重要保障。未来,我们还将在总线通信中继续探索和应用更先进的校验算法和技术,并在babylin产品中进行实际应用。如有任何疑问,欢迎咨询虹科工作人员。
虹科是一家在通讯领域,尤其是汽车电子和智能自动化领域拥有超过15年经验的高科技公司,致力于为客户提供can/can fd、lin、车载以太网、tsn等全方位的一站式智能互联解决方案。


从芯片商到OEM厂商,从BAT到中小创业者围绕智能音箱的战争已经开启
Intel将从NVIDIA中抢夺云和数据中心市场份额
一次消谐器在电压互感器上的作用
自研的regression脚本yrun都有哪些东西呢?
奇瑞与华为合作,共同研发智能汽车
虹科技术 | 保障数据传输稳定性:BabyLIN产品的CRC算法实现
LED升压工作灯方案FP7209X+FP6195转模拟调光应用展示
频率合成技术发展浅析
三星新专利曝光 开发屏幕指纹扫描技术或用于新机
选择数字和字母显示配置的MAX6954和MAX6955的SP
基于RA4W1 32位MCU的物联网冷链监控方案
单相电机的工作原理及分类
存储硬盘多协议支持
51单片机模拟IIC以及引脚模式
多款高端旗舰齐发,小米高端之路愈行愈稳
分析企业将如何看待人工智能
MySQL索引失效有哪些场景
博泰车联网携擎感整车智能化平台入选高工智能汽车金球奖两大榜单
“碳中和”期间,智慧城市该如何发展
蒸箱市场前景可期 微蒸烤一体机有望成为打开市场的敲门砖