目录

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博客“汽车电子助手”,做您的好助手。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐