网易首页 > 网易号 > 正文 申请入驻

CAPL编程的进阶应用——Checksum算法的实现

0
分享至

CRC与Checksum区别:

相信大家在CAN Msg或者ETH PDU中经常会看到Checksum这种信号。提到Checksum,就必须要说明一下CRC校验,很多工程师会概念混淆,认为两者是同一个东西,实则它们有很大的区别。

第一、两者存放位置不同。

CRC校验:循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。

通过CRC概念可以得知,CRC存放在CRC场,而Checksum存放在数据场之中,一般在数据场的第一个字节或者最后一个字节。

图1 标准数据帧格式

第二、两者应用场景不同。

在CAN报文帧中,CRC校验是发送器根据发送的bit进行多项式计算校验,结果放在15bit长度的CRC位。接收器也是用相同的多项式计算总线上的数据,与接收到的校验值进行比较,相同则表示帧正确接收,并在ACK时隙中发送显性状态,覆盖发送器的隐性位;如果不同接收节点在ACK界定符之后发送错误帧。

发送节点

根据接收的序列,计算一个CRC

接收节点

根据发送的序列,计算一个CRC

接收到的CRC

判断数据帧是否有效

图2 CRC校验原理

CRC校验是为了保证数据从一个CAN收发器发送到另外一个收发器的信号完整性,而数据场中Checksum校验算法是为了校验数据被正确的打包与解包,并且Checksum算法是可以自行制定的,计算规则的灵活度高。

Checksum的应用场景:

对于Checksum而言,它的应用场景有以下三点:

1.确保数据正确打包

有些ECU内部的变量在传递到CAN收发器之前就有可能发生错误,这种类型的错误CAN收发器是无法检测到的。报文中的信号和Checksum校验是在应用层完成的,将报文中的各个字节进行校验,报文和Checksum一起发送,并且在接收节点进行解析,从而确保数据链路完整和数据正确打包。

2.实现数据加密

CAN网络是开放性的,CAN节点可以随时加入到总线当中,为了保证通信的安全性,ECU传输的关键控制信号需要进行加密,报文的发送方和接收方使用相同的Checksum算法作为数据加密的密钥。接收方对比密钥,如果不同,此条报文的数据不被使用,从而避免被其他节点的数据影响。Checksum算法不在DBC等数据库文件中说明,可以单独保密,从而确保了数据的加密。

3.提高数据的可信度

一帧报文在多个字节中可能出现位错误,一般情况下CRC8校验的错误率为1/256,crc16校验的错误率为1/65536,crc32校验的错误率为1/(65536*65536)。通过Checksum校验可以提高数据的可信度。

由于Checksum的作用,其也常应用在车载以太网当中。

在CAPL中Checksum信号实现:

通常情况下,Checksum和LiveCounter信号是成对出现的。在CANoe中使用仿真节点与真实控制器交互,需要将LiveCounter和Checksum信号仿真,这样才能成功通信。LiveCounter长度为4bit,它是用于报文发送计数的生命信号,每发送一帧报文后就对该LiveCounter位加1,会在0~15之间循环增加。在报文其他信号没有改变时,LiveCounter实时更新使得Checksum信号跟着更新,提高校验的准确性。那么LiveCounter信号该如何仿真呢?

下面以CAN总线DBC为例,介绍在CAPL中实现LiveCounter和Checksum校验仿真。

CAPL是CANoe和CANalyzer中可用的类C的编程语言。CAPL中程序块的执行由事件控制,在专用的编译器中开发和编译,这样可以访问数据库中的所有对象以及系统变量,被汽车电子工程师们广泛使用。

下图为LiveCounter计算的代码,为了保证数据的准确性,进行一次Checksum计算,这样就可以实现LiveCounter信号的仿真。

下图为示例报文中各个信号位置排布关系,在此报文中,Checksum校验方式为前七个字节异或运算,将运算结果存放到最后一个字节。排布图中共有8个信号,它们的格式为Motorola格式,也就是俗称的大端模式。

CAPL只能访问到报文中的信号,无法访问到报文中的每个字节,要进行Checksum计算,需要根据信号排布把前七个字节的真实值重新组合存放在一个byte类型的数组当中,然后对这个数组异或运算获取的结果为该报文中Checksum信号值。

对于不同长度的信号,需要声明不同类型的数组来存放不同的信号。byte类型长度为1字节,声明两个byte *[8]类型的数组(*为省略的数组名称)分别存放长度小于一字节的信号和重组后每个字节的真实值;int类型长度为2字节,声明int *[8]类型的数组存放长度为1-2字节的信号;long类型长度为4字节,声明long *[8]类型的数组存放长度为2-4字节的信号。下图为Checksum中信号长度小于1字节的字节重组示例代码。

另外,参与Checksum计算的是信号的真实值而不是物理值,如果信号中有偏移量和比例因子,在赋值时需要将信号加上偏移量,并除以比例因子以获得真实值。

为了保证和真实控制器通信正常,Checksum数据必须准确,Checksum计算步骤一般写成无返回值函数(void),在LiveCounter信号改变或者其他信号改变时调用计算。

正确计算的LiveCounter和Checksum信号曲线如下图所示。

总结:

本文重点描述了CRC和Checksum信号的区别以及Checksum信号在CAPL中实现的方法。CAPL编程作为CANoe的灵魂,使CANoe满足仿真、分析、测试和诊断的各种复杂的要求,同时使CANoe的功能得以不断扩展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
童年女神宣布怀孕了!

童年女神宣布怀孕了!

奋斗在韩国
2026-05-21 10:14:01
刚果禁钴、印尼卡镍、津国断锂,回头一看,宁德时代早就写好答案

刚果禁钴、印尼卡镍、津国断锂,回头一看,宁德时代早就写好答案

杰丝聊古今
2026-05-22 20:25:32
“杀他全家也不解恨”,讨薪1560元20次遭拒,农民工怒杀老板全家

“杀他全家也不解恨”,讨薪1560元20次遭拒,农民工怒杀老板全家

易玄
2026-05-12 18:58:46
有料又劲爆!私飞+同框!这关系太顶了!

有料又劲爆!私飞+同框!这关系太顶了!

柚子说球
2026-05-21 23:00:00
小宝与王某雷,谁探访花的数量更多?

小宝与王某雷,谁探访花的数量更多?

挪威森林
2026-01-31 12:15:26
最凶小三,把原配制作成烧肉出售,当时办案人员至今不敢吃肉

最凶小三,把原配制作成烧肉出售,当时办案人员至今不敢吃肉

莫地方
2026-05-21 02:00:03
法国两幼童被弃葡萄牙荒凉国道,蒙眼玩捉迷藏,一睁眼爸妈不见了?!

法国两幼童被弃葡萄牙荒凉国道,蒙眼玩捉迷藏,一睁眼爸妈不见了?!

新欧洲
2026-05-22 20:34:20
决赛破门!董路:万项是我第一个干儿子 U17国足4个主力叫我干爹

决赛破门!董路:万项是我第一个干儿子 U17国足4个主力叫我干爹

念洲
2026-05-23 11:22:01
武汉这家酒店把饭店做成超市,现炒热菜随便挑,街坊:“不想做饭就来这”

武汉这家酒店把饭店做成超市,现炒热菜随便挑,街坊:“不想做饭就来这”

极目新闻
2026-05-23 10:04:26
冯德莱恩没想到,先等来的不是加税50%,中国用欧盟的方式反制欧

冯德莱恩没想到,先等来的不是加税50%,中国用欧盟的方式反制欧

共工之锚
2026-05-23 00:12:49
徐威:袁立拒求婚,12年长跑后终娶张怡宁

徐威:袁立拒求婚,12年长跑后终娶张怡宁

大眼妹妹
2026-05-23 03:51:05
1991年,河南母子惨死麦田,25年后真凶落网,凶手让人难以置信

1991年,河南母子惨死麦田,25年后真凶落网,凶手让人难以置信

莫地方
2026-04-23 00:30:03
哇塞!欧文+杜兰特!火箭4换1交易方案曝光

哇塞!欧文+杜兰特!火箭4换1交易方案曝光

篮球实战宝典
2026-05-22 21:48:32
说真的,庾澄庆被《歌手2026》“一轮游”,不冤

说真的,庾澄庆被《歌手2026》“一轮游”,不冤

娱乐圈笔娱君
2026-05-23 16:41:01
曼联倒霉鬼无缘冲超决赛,两次出租三次重伤!拉什福德自绝回归路

曼联倒霉鬼无缘冲超决赛,两次出租三次重伤!拉什福德自绝回归路

罗米的曼联博客
2026-05-23 11:21:59
《主角》流出片酬单太讽刺!张嘉益500万秦海璐400万相声名角15万

《主角》流出片酬单太讽刺!张嘉益500万秦海璐400万相声名角15万

乐悠悠娱乐
2026-05-21 10:06:56
板桥水库溃坝:24万人一夜消逝,尘封28年,真相远比天灾残酷

板桥水库溃坝:24万人一夜消逝,尘封28年,真相远比天灾残酷

小玡说故事
2026-05-15 20:07:35
“根不正,苗不红”,塔吉克斯坦是中亚5国最另类的国家?

“根不正,苗不红”,塔吉克斯坦是中亚5国最另类的国家?

趣文说娱
2026-05-22 22:01:26
河南一家三口被灭门惨案再起风波,没想到结局竟然是这样……

河南一家三口被灭门惨案再起风波,没想到结局竟然是这样……

脆皮先生
2026-03-24 19:58:30
赔了夫人又折兵!以为能拉踩樊振东,没成想,自己先被扒个底朝天

赔了夫人又折兵!以为能拉踩樊振东,没成想,自己先被扒个底朝天

小椰的奶奶
2026-05-23 15:17:44
2026-05-23 18:19:00
北汇信息
北汇信息
专注汽车电子领域
612文章数 31关注度
往期回顾 全部

科技要闻

爆炸声中又迈一步!拆解马斯克“十二飞”

头条要闻

车辆时速不到60km监控抓拍时速却达121km 交警回应

头条要闻

车辆时速不到60km监控抓拍时速却达121km 交警回应

体育要闻

少年意气,正在改变中国足球

娱乐要闻

歌手2026首播:胡彦斌破音 张碧晨跑调

财经要闻

股价暴跌!富途老虎是什么来头?

汽车要闻

与众07上市限时权益价10.99万起 首搭CEA架构

态度原创

房产
家居
数码
手机
艺术

房产要闻

疯抢511轮!今年海南最魔幻的地块,被福建能源企业抢了!

家居要闻

低调传承 温润沉静

数码要闻

苹果/Beats头戴耳机新型号现身FCC数据库

手机要闻

重大变革:fpt.渲染展示苹果iPhone 20

艺术要闻

明代高僧写出最美《春江花月夜》,无比惊艳

无障碍浏览 进入关怀版