AUTOSAR最大支持4kB长度的PDU,由于使用了8-bitCRC校验值,Profile 1和Profile 2只支持最大30或42byte PDU长度的ASIL D数据传输。自4.2.1标准以来,定义了Profile 4来适配大数据的传输,CRC校验值为32bit长。 Profile 4的头部结构如上图。 E2E状态机 接收方根据设置的Profile来验证头部信息和应用数据是否匹配,决定当...
AUTOSAR最大支持4kB长度的PDU,由于使用了8-bitCRC校验值,Profile 1和Profile 2只支持最大30或42byte PDU长度的ASIL D数据传输。自4.2.1标准以来,定义了Profile 4来适配大数据的传输,CRC校验值为32bit长。 Profile 4的头部结构如上图。 E2E状态机 接收方根据设置的Profile来验证头部信息和应用数据是否匹配,决定当...
#include<stdio.h>#include"typedef_datatype.h"#include"E2E_Config.h"uint16DataID=0x00AD;//DataID_Low = 0xAD DataID_High = 0x00uint8Test_Data_Array[8]={0x00,0x6E,0x00,0x00,0x00,0x00,0x73,0x20};//Byte0-Byte7 Test DataE2E_P01ConfigTypeE2E_Profile01_Test_Config={56,//Coun...
E2E_P01STATUS_WRONGCRC:错误:根据通信介质已经接收到数据,但是 1.CRC不正确(适用于所有E2E配置文件1)或 2.数据ID高字节的low nibble错误(仅适用于E2E_P01DataIDMode = E2E_P01_DATAID_NIBBLE的E2E Profile1) E2E_P01STATUS_SYNC:NOT VALID:在检测到计数器的意外行为后,新数据已被接收。数据有一个正确的CRC...
E2E保护中的CRC是CAN或者FlexRay通讯协议中传输的数据段内容。另外Counter的值是0到14,值15是用来表示错误的。在AUTOSAR 官方文档中E2E Profile 1对于CRC以及Counter是可以自定义其起始位置的,在本文中将CRC起始位置定义为bit 0且长度为8,Counter起始位置定义为bit 8,且长度为4。如图2所示。
E2E Profile 1由以下四个组件构成: CRC:循环冗余检查。Profile 1通常使用一个8位的CRC,采用CRC-8-SAE J1850-0x1D多项式计算。 Counter:计数器在每次消息发送时增加。对于Profile 1,这通常是一个4位的值,这意味着它的范围是从0到14。当达到最大值后,计数器会回绕到0。 Data ID:用来唯一标识数据元素或消息...
在E2E Profile 1中,发送到RTE的数据需要包含3个部分:4个bit的Counter,1个字节的CRC以及需要被保护的原数据。其中Counter为计数器,每发送一次值就增加;CRC按照E2E Profile 1的计算方式,对Data ID、Counter和原数据进行CRC计算,并将结果填入CRC字节: 图5 E2E Profile 1配置示意图 ...
Counter)来确保消息按预期的顺序到达,能够检测丢失的消息或重复的消息。如果接收端的计数器值与预期不符,这可能是由于消息丢失或者重复。对于某些功能安全关键的应用,如自动驾驶或紧急刹车,如果系统收到的数据是间断的,可能会导致不适当或延迟的响应。接下里将结合AUTOSAR官方文档中的E2E Profile 1例子,...
E2E Profile 1由以下四个组件构成: CRC:循环冗余检查。Profile 1通常使用一个8位的CRC,采用CRC-8-SAE J1850-0x1D多项式计算。 Counter:计数器在每次消息发送时增加。对于Profile 1,这通常是一个4位的值,这意味着它的范围是从0到14。当达到最大值后,计数器会回绕到0。
E2E保护在高安全性信号传输中发挥关键作用。在信号传递过程中,软硬件因素可能导致发送端和接收端数据不一致,此时E2E能快速检测异常,确保系统响应。本文以Profile1为例,详细介绍相关定义和使用方法。E2E依赖于CRC函数,如Crc_CalculateCRC8。E2E开发错误包括:E2E_E_INPUTERR_NULL、E2E_E_INPUTERR_WRONG...