如何计算E2E Profile 2的CRC

目录

1 E2E Profile 2使用的CRC算法

1.1 8-bit 0x2F polynomial CRC算法的介绍

2 E2E Profile 2计算CRC过程

2.1 主机厂向供应商提供的E2E Profile 2的配置参数信息

2.2 E2E Profile 2的流程图

2.3 推荐:手动计算E2E Profile 2的CRC

结尾


推荐阅读链接:

【AUTOSAR-E2E】-1.1-End-to-End通信保护介绍(Functional Safety功能安全相关)_autosar e2e故障后如何处理-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qfmzhu/article/details/122334722

1 E2E Profile 2使用的CRC算法

在Autosar文档AUTOSAR_SWS_E2ELibrarySpecification of SW-C End-to-End Communication Protection Library.pdf中,介绍了E2E Profile 2的CRC算法引用自文档AUTOSAR_SWS_CRCLibrarySpecification of CRC Routines.pdf中的8-bit 0x2F polynomial CRC,并将其封装为接口函数Crc_CalculateCRC8H2F()

1.1 8-bit 0x2F polynomial CRC算法的介绍

CRC 模块的 Crc_CalculateCRC8H2F() 函数应基于生成多项式 0x2F 实现 CRC8 例程:

CRC result width: 循环冗余校验的位长度

8 bits

Polynomial: 多项式

2Fh

Initial value: 初始值

FFh

Input data reflected: 反映的输入数据

No

Result data reflected: 反映的结果数据

No

XOR value:

FFh

Check: 校验

DFh

Magic check: 魔法校验

42h

CRC 模块的 Crc_CalculateCRC8H2F() 函数应提供以下 CRC 结果:

Data bytes (hexadecimal)

CRC

00

00

00

00

12

F2

01

83

C2

0F

AA

00

55

C6

00

FF

55

11

77

33

22

55

AA

BB

CC

DD

EE

FF

11

92

6B

55

33

FF

FF

FF

FF

6C

2 E2E Profile 2计算CRC过程

2.1 主机厂向供应商提供的E2E Profile 2的配置参数信息

E2E Profile 2的参数用E2E_P02ConfigType描述,包含以下信息,这些参数将被用于接口函数E2E_P02ProtectE2E_P02Check

DataLength

uint16

数据长度(单位Bit)。该值应为 8 的倍数。

DataIDList

uint8[16]

一个由适当选择的Data ID 组成的数组(长度16个Byte),用于防止伪装。

MaxDeltaCounterInit

uint8

两个连续接收到的有效数据的两个counter值之间的初始最大允许间隔。

例如,如果接收方收到counter为 1 的数据,且 MaxDeltaCounterInit 为 1,那么在下一次接收时,接收方可以接收counter值为 2 和 3 的数据,但不能接受counter值为 4 的数据。

注意,如果接收方在连续读取时没有接收到新数据,那么接收方会将容差递增 1。

MaxNoNewOrRepeatedData

uint8

接收方在正常通信条件下预计不会超过的最大缺失或重复数据量。

SyncCounterInit

uint8

验证counter一致性所需的数据量,在检测到接收counter出现意外行为后,必须接收到有效counter(即counter在允许的锁定范围内)。

Offset

uint16

Data[]数组中 E2E header的Offset(单位Bit)。

它应为:0 ≤ Offset ≤ DataLength-(2*8)。

2.2 E2E Profile 2的流程图

接口函数E2E_P02Protect计算一个CRC的流程图:

2.3 推荐:手动计算E2E Profile 2的CRC

假设8位的CRC信号位置在Byte0,4位的Counter信号位置在Byte1的低四位,整个数据8个Byte,DataIDList为{ 156, 204, 225, 76, 201, 57, 227, 83, 120, 51, 21, 73, 85, 10, 98, 131 }。

8个字节的数据为:

AD F6 7F B9 00 21 00 03

CRC计算网站:

CRC在线计算 (lddgo.net)icon-default.png?t=O83Ahttps://www.lddgo.net/encrypt/crc

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值