CRC-8的计算方法如下: 1.首先,选择一个生成多项式(Generator Polynomial)。常用的生成多项式包括x^8 + x^2 + x^1 + 1,即0b100000111。这个生成多项式的最高次数决定了CRC的位数,而多项式的系数则决定了运算过程中的异或操作。 2.将待校验的数据(Message)与一个初始的CRC寄存器(Initial CRC Register)进行异或...
typedefenum{E2E_P01STATUS_OK=0x00,E2E_P01STATUS_NONEWDATA=0x1,E2E_P01STATUS_WRONGCRC=0x2,E2E_P01STATUS_SYNC=0x03,E2E_P01STATUS_INITIAL=0x4,E2E_P01STATUS_REPEATED=0x8,E2E_P01STATUS_OKSOMELOST=0x20,E2E_P01STATUS_WRONGSEQUENCE=0x40}E2E_P01CheckStatusType; 下面详细讲各个E2E状态 E2E_P01STATUS...
▣ E2E Profile 1的实现细节 E2E Profile 1的CRC算法基于AUTOSAR标准,通过特定函数实现了高效的数据保护和灵活的应用。在E2E Profile 1中,我们提供了详尽的配置参数信息,这些参数均通过E2E\_P01ConfigType进行描述。这些参数不仅包括CounterOffset和CRCOffset,它们分别定义了Counter和CRC的位偏移,还涵盖了DataID和D...
Autosar CAN开发08(Autosar的E2E开发---以E2E Profile01为例)blog.csdn.net/qq_41848098/article/details/126823978?spm=1001.2014.3001.5501 在CAN通信中,E2E(端到端)保护和CRC校验虽然都用于数据完整性检查,但它们在机制、范围和功能上有显著区别。以下是详细对比及示例说明: 1. CRC校验(循环冗余校验) 功能:...
在e2e Profile1中,使用CRC 8计算方法来实现数据校验。本文将介绍e2e Profile1 CRC 8的计算方法及其具体步骤。 一、概述 e2e Profile1是一种端到端(end-to-end)的通信协议,用于在不同的电子设备之间进行数据传输。CRC 8是一种8位CRC校验方法,适用于e2e Profile1协议中的数据校验。下面将详细介绍e2e Profile1 ...
E2E中的CRC是通过CRC8SAE J1850多项式除法计算得出的。具体计算过程如下:数据准备:在Autosar的E2E Profile 1中,数据格式包括Counter、Data ID、以及原始数据。对于给定的车速数据VehSpeed = 0x1157,需要将其与其他必要信息组合起来形成待计算CRC的数据序列。CRC多项式:CRC8SAE J1850使用的多项式是...
具体,如下图所示,假设有两个ECU: ECU1和ECU2,两节点之间通过CAN总线通信,ECU1要将某一安全信号传输至ECU2,如果采用E2E profile1保护协议(AutoSAR E2E Library),ECU1在对必要信息数据做传递之外,还要补充CRC和Counter信息给至ECU2,ECU2在接收到这帧数据后,会计算CRC,然后与接收到的进行比较,ECU2会...
Profile1的CRC计算遵循CRC-8-SAE J1850,多项式为[公式],即100011101。Data最终格式为{0x09,0x00,0x00,0x57,0x11},考虑DataID=0x0009,VehSpeed低8位置于数组前部。E2E计算流程包括:1)将Counter放入Data;2)将DataID(16bits)按照特定规则放入Data;3)计算Data的CRC;4)增加Counter。CRC...
Step1:计算DataID字段内CRC值(注:实际初始值为初始值取反)。 Step2:计算Byte1~Byte7字段内CRC值(注:实际初始值为上一步校验值取反)。 Step3:将上一步校验值取反,得到最终值。 以下是AutoSAR中针对profile1保护机制的原始定义,供参考: 5.E2E状态机与配置参数 ...
如果数据有更新(UB = 1),读取ReceivedCounter,判断ReceivedCounter<15,FALSE:返回状态E2E_E_INPUTERR_WRONG,退出;TRUE:进一步从接收数据中获取ReceivedCRC。对于Profile01 Variant 1A来说,Counter的offset = Bit 8,所以,此处Config->CounterOffset % 8 == 0一直成立。