加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • CRC校验原理
    • CRC算法实现
    • BabyLIN应用与验证
    • 结语
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

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

2023/12/29
2835
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

导读:CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。CAN协议中,总线通信节点也常采用CRC算法对各种总线传输的数据进行校验。CRC8校验在整车通信系统中应用比较广泛,鉴于此,本篇文章将以CRC8校验为例,介绍在BabyLIN产品中如何使用CRC校验算法。

CRC校验原理

在CAN报文中,增加Checksum校验,能够用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。CRC8校验算法,就是对一帧报文进行校验和计算的算法。

其主要原理是:在发送节点,根据要传送的数据序列,以一定的规则产生一个校验用的校验码(CRC码),附在原始报文中,构成一个新的数据序列,然后发送出去。在接收节点,根据报文信息和CRC码之间遵循的规则进行检验,校验采用计算机的模二除法(即生成多项式)做异或运算,进行异或运算时除数和被除数最高位对齐,进行按位异或运算,若最终的数据能被除尽,则传输正确;否则,传输错误。

CRC算法实现

在自定义CRC算法中,CRC算法在线计算工具中需要填写以下六项参数。(具体的CRC算法代码实现这里不做展示)

1.宽度位数:CRC校验结果的比特数。支持 8 位,16 位,32 位和 64 位。

2.多项式POLY:生成公式的简写,以16进制表示。忽略最高位的"1"。

3.初始值INIT:算法初始预置值,以16进制表示。

4.输入数据反转REFIN:输入数据的每个字节是否按位反转。

5.输出数据反转REFOUT:在计算后之后,结果输出之前,整个数据是否按位反转。

6.结果异或值XOROUT:计算结果与此参数异或后得到最终的CRC值。

BabyLIN应用与验证

在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产品中进行实际应用。如有任何疑问,欢迎咨询虹科工作人员。

了解虹科BabyLIN产品更多应用案例,欢迎前往【虹科智能互联】官方网站:https://www.intelnect.com/products/linbus/

联系虹科工程师:https://tl-tx.dustess.com/OHRgtontq3

TEL:18138758797

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
KSZ8864CNXIA-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC64
暂无数据 查看
KSZ8863FLLI 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT, PQFP48
$4.95 查看
KSZ8863MLLI 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT, PQFP48
$5.09 查看

相关推荐

电子产业图谱

虹科是一家资源整合及技术服务落地供应商,与全球顶尖公司深度技术合作,专注于制造业、汽车、生物、医药、测试与测量、广播电视与媒体、通信、网络安全、光电等领域,为客户提供:智能自动化、工业物联网、智能感知、数字化+AR、光电、网络安全、测试测量、卫星与无线通信、医药环境监测与验证、生命科学、汽车电子、汽车维修诊断、云科技等解决方案。虹科始终致力于为行业客户提供创新及前端的产品和技术解决方案,为科技社会发展助力加码。