AUTOSAR E2E 简介

本文介绍了E2E保护机制的基础概念及E2EP01的具体实现方式,包括其特性、配置类型、检查状态类型等内容,并给出了使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 简介

E2E 保护的概念:
保护运行时安全相关的数据交换,免受通信链路内故障的影响。
造成故障可能的原因包括:

  1. 硬件随机故障(CAN Trcv 的寄存器故障)
  2. 硬件EMC干扰
  3. 软件设计/运行故障
    为了保证接收端 能够接收到正确的数据,或者在收到错误的数据时能够进行识别。

在这里插入图片描述

2. E2E P01 介绍

E2E 模块提供了多种不同的E2E 范式,可以运用在不同的场景下。

  1. E2E P01
  2. E2E P02
  3. E2E P04
  4. E2E P05
  5. E2E P06
  6. E2E P07
  7. E2E P11
  8. E2E P12
    数字越大,可以保护的数据量越大。
    E2E 是通过对数据元素计算CRC 以及Counter 来进行保护,接收方在根据接收到数据来判断是否正确
    在这里插入图片描述
    以报文DBC为例,在下图中受保护的数据实际是Signal ADCU_ACC_SYS_FAILURE
    但实际报文中还有Counter 以及 CheckSum 和DATA ID(报文ID)
    在这里插入图片描述
    Counter 值随着报文的发送计数,Checksum 根据 DATA ID +Rollingcnt+ ADCU_ACC_SYS_FAILURE 计算得出。

2.1 P01 特性

P01的主要特性如下

  1. Counter的阈值 是0-14
  2. Timeout 监控
  3. DATA ID 16位
  4. CRC 采用 CRC-8-SAE J1850(非AUOTSAR 标准CRC8, 起始值和异或值都是0x0)
    在这里插入图片描述
    Note: 有些主机厂的规范并不会按照AUTOSAR规范来实施,按需要修改代码即可。

2.2 E2E_P01ConfigType 介绍

E2E P01 通过E2E_P01ConfigType 以适配不同的被保护数据元素,如下图
在这里插入图片描述
E2E 保护数据的都是以数组的形式体现(连续的Bit位),如下图
在这里插入图片描述

因此需要通过E2E_P01ConfigType 来进行对应参数的配置

  1. CounterOffSet Counter 的起始Bit 位
  2. CrcOffset CRC 值的起始Bit 位
  3. DataIDNibbleOffset DataID 的起始Bit 位
  4. DataIDMode ID的CRC计算模式,有如下选项

在这里插入图片描述
4.1 E2E_P01_DATAID_BOTH DATA ID 两个Byte 都参与CRC计算
4.2 E2E_P01_DATAID_ALT 奇数Counter.Low Byte 参与计算,偶数Counter High Byte 参与计算
4.3 E2E_P01_DATAID_LOW 仅Low Byte 有效
4.4 E2E_P01_DATAID_NIBBLE Low Byte 参与CRC计算,高Byte的半个Byte+Low Byte 随着数据传递
5. MaxDeltaCounterInit 当前后两帧数据的Counter差值大于该值,就被判定为数据接收跳变
5. MaxnoNewOrRepeatedData 当接收到重复数据次数小于该配置参数,则接收端不需要执行数据同步处理
6. SyncCounterInit 当执行数据同步处理时,接收到正确数据次数必须大于该配置参数,才能将状态有同步状态转移到OK状态

2.3 E2E_P01CheckStateType 介绍

在这里插入图片描述

4 E2E 的接口

E2E 主要利用两个接口进行数据的保护和验证

  1. E2E_P01Protect 用于数据发送前的保护
  2. E2E_P01Check 用于数据接收后的校验

5 E2E 故障状态

E2E P01通过 E2E_P01CheckStatusType 来表示当前E2E的状态。
一共有一下几个故障状态
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

E2E_P01MapStatusToSM

将 E2E_P01CheckStateType 映射成 E2E_P01CheckStateType
在这里插入图片描述

E2E Data Layout

E2E受保护的数据中所有的元素应保证Byte对齐
在这里插入图片描述

6 E2E 使用示例

E2E 最典型的使用场景就是配合Com Tx /Rx Callout 进行报文的E2E计算与校验。
在这里插入图片描述

ComCallout E2E 发送
在这里插入图片描述

ComCallout E2E 接收
在这里插入图片描述

Com_ReceiveSignalGroup(SignalGroupA);
Com_ReceiveSignal(SignalGroupA_Sig1, &SignalGroupBuffer->sig1Val);
Com_ReceiveSignal(SignalGroupA_Sig2, &SignalGroupBuffer->sig2Val);
Com_ReceiveSingal(SignalGroupA_Sig3, &SignalGroupBuffer->sig3Val);
ret_u8 = E2E_P01Check
                     ( Config_SignalGroupA
                     , State_SignalGroupA
                     , SignalGroupBuffer
                     );

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值