0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

虹科汽车电子 来源:虹科汽车电子 作者:虹科汽车电子 2024-01-02 10:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

导读: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]均可根据实际情况设置。

wKgaomWTeByAWAWCAAFkLQlMt8k479.png

Signalfunctios中CRC-8 Bit实现具体需要设置的参数项的含义解释如图:

wKgaomWTeGKATMEcAADW0DiFcqI426.pngwKgaomWTeGyAWIujAAIxGQeZL4s257.png

导入含有CRC算法的SDF程序,在BabyLIN产品中建立与ECU的通信,得到CRC算法实现结果,可以看出,得到的校验值与CRC算法在线计算工具中的计算结果一致。

wKgaomWTeHiAY7kOAAHUQquxY5Q692.png

结语

通过在BabyLIN产品中实现CRC算法,我们可以确保数据传输的准确性和可靠性。通过合理设置CRC算法的参数,以及正确应用在数据传输过程中,我们可以大大提高数据传输的稳定性,从而为各种通信系统的正常运行提供重要保障。未来,我们还将在总线通信中继续探索和应用更先进的校验算法和技术,并在BabyLIN产品中进行实际应用。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 总线
    +关注

    关注

    10

    文章

    3014

    浏览量

    91307
  • LIN
    LIN
    +关注

    关注

    4

    文章

    232

    浏览量

    41818
  • CRC算法
    +关注

    关注

    0

    文章

    15

    浏览量

    9005
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    科PSI5传感器编程应用:汽车可靠数据传输实现方案

    科PSI5传感器编程应用汽车可靠数据传输实现方案在汽车发动机舱的高温振动、工程机械的复杂工况等场景中,压力、转速、温度等关键数据的精准传输
    的头像 发表于 12-04 17:03 67次阅读
    <b class='flag-5'>虹</b>科PSI5传感器编程应用:汽车可靠<b class='flag-5'>数据传输</b>的<b class='flag-5'>实现</b>方案

    基于CW32 MCU的I2C接口优化稳定读写EEPROM关键技术

    问题,实现多个EEPROM设备的稳定读写操作。 通过这些优化技术,能够有效提升CW32 MCU在I2C通信中的稳定性和可靠性,确保在复杂环境下的
    发表于 12-03 07:29

    外接备用电源时,如何保证数据传输稳定性

    外接备用电源时保证数据传输稳定性,核心是“供电无缝衔接 + 链路冗余备份 + 数据完整性防护”三层保障,同时规避电源切换带来的干扰与中断风险,具体可落地措施如下: 一、供电切换:
    的头像 发表于 11-12 14:50 291次阅读
    外接备用电源时,如何保证<b class='flag-5'>数据传输</b>的<b class='flag-5'>稳定性</b>?

    网线抗干扰:守护数据传输的隐形卫

    在数字化浪潮席卷的今天,网线作为连接网络设备、实现数据传输的“高速公路”,其性能的稳定性至关重要。而在这条“高速公路”上,干扰就如同路上的障碍物,会严重影响数据传输的速度与质量。网线抗
    的头像 发表于 11-12 09:53 274次阅读

    【道生物联TKB-623评估板试用】-3.数据传输

    优秀,数据传输的可靠性、效率都有较好保障。 适合以下物联网场景: 低速率本地采集:如串口连接传感器,实现温湿度、开关量数据的本地传输(推荐波
    发表于 11-01 00:22

    多通道数据传输终端 LoRa/LTE双模通信终端

    数据传输
    稳控自动化
    发布于 :2025年10月24日 13:57:21

    像这样一款体积小巧的DTU数据传输终端你见过吗?

    数据传输
    才茂通信
    发布于 :2025年06月04日 14:33:29

    检漏仪通信革命:Modbus转Profinet让数据传输“快人一步”

    多种物理接口,采用主从通信模式,主设备发起请求,从设备进行响应 。通过功能码,VING微硬创新Modbus可以实现对寄存器数据的读写等操作,适用于对实时性要求不苛刻的低速数据传输场景,这使得众多检漏仪
    发表于 05-19 15:55

    SPI数据传输缓慢问题求解

    我遇到了 SPI 数据传输速率问题。 尽管将 SPI 时钟频率设置为 20 MHz,但我只获得了 2 Kbps 的数据传输速率。 我正在以 115200 的波特率通过 UART 监控数据。 我正在 cyfxusbspidmamo
    发表于 05-15 08:29

    捷多邦的IoT PCB:数据传输的未来

    在物联网(IoT)技术迅猛发展的背景下,数据传输稳定性成为智能设备运行的关键。专用PCB(印制电路板)的设计和制造对于确保这一稳定性至关重要。以下探讨的是,一家领先的PCB制造商如何
    的头像 发表于 04-07 10:23 580次阅读

    基于Verilog语言实现CRC校验

    CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对
    的头像 发表于 03-24 10:36 2185次阅读
    基于Verilog语言<b class='flag-5'>实现</b><b class='flag-5'>CRC</b>校验

    MPU数据传输协议详解

    在现代电子系统中,微控制器(MPU)扮演着核心角色,负责处理各种任务和数据。为了实现这些功能,MPU需要与其他设备进行数据交换。数据传输协议就是规定这些
    的头像 发表于 01-08 09:37 1423次阅读

    ptp对实时数据传输的影响

    在现代通信技术中,点对点(P2P)网络已经成为数据传输的一种重要方式。P2P网络允许网络中的每个节点既可以作为客户端也可以作为服务器,直接进行数据交换。这种去中心化的网络结构对于实时数据传输
    的头像 发表于 12-29 09:53 1047次阅读

    如何提高中继器的传输稳定性

    在现代通信网络中,中继器扮演着至关重要的角色。它们负责将信号从一个网络段传输到另一个网络段,确保数据传输的连续性和稳定性。然而,由于多种因素,如信号衰减、电磁干扰和设备老化,中继器的传输
    的头像 发表于 12-26 16:43 1629次阅读

    RS232接口数据传输稳定性

    RS232接口数据传输稳定性是多个因素综合作用的结果。以下是对RS232接口数据传输稳定性的分析: 一、RS232接口的基本特性 RS232接口是一种标准的串行通信接口,广泛应用于计
    的头像 发表于 12-18 17:56 1900次阅读