AutoSAR E2E自学笔记

简介: AutoSAR E2E自学笔记

1. 简介

E2E 保护的概念:

保护运行时安全相关的数据交换,免受通信链路内故障的影响。

造成故障可能的原因包括:

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

f7dab99b4a0c54bdc72eaa60e4042035_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

2. E2E P01 介绍

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

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

2.1 P01 特性

P01的主要特性如下

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

2.2 E2E_P01ConfigType 介绍

E2E P01 通过E2E_P01ConfigType 以适配不同的被保护数据元素,如下图

385ce48edbda402b2409a93dfd932237_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

E2E 保护数据的都是以数组的形式体现(连续的Bit位),如下图

6f4fe04b1e9d937a34e3300f05f74a8c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

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

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

ec95c238946c022fce1d9aa40cae678c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

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 介绍

f051c94068131339966a0f1fbe8d5184_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

4 E2E 的接口

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

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

5 E2E 故障状态

E2E P01通过 E2E_P01CheckStatusType 来表示当前E2E的状态。

一共有一下几个故障状态

21f4d201a7094a149168d361503f996f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

7053328924bf69238b922f3827a2e469_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

9dfd0a378ced2b07694c63968510d1da_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

E2E_P01MapStatusToSM

将 E2E_P01CheckStateType 映射成 E2E_P01CheckStateType

0a731ed542e05b31d796541857968641_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

E2E Data Layout

E2E受保护的数据中所有的元素应保证Byte对齐

4c50ed9fd2ce14157ba764a684d05ee3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

6 E2E 使用示例

E2E 最典型的使用场景就是配合Com Tx /Rx Callout 进行报文的E2E计算与校验。

3298145342101c8108d5da5c9240b0c9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

ComCallout E2E 发送

462861ebd5b0ad6dfc5102a2c95bc78d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

ComCallout E2E 接收

0970813eb23a37e620e39c49afa6fbb8_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

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
                     );

相关文章
|
数据格式
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
|
传感器 安全 内存技术
[UDS] --- RoutineCommunicationControl 0x31
[UDS] --- RoutineCommunicationControl 0x31
1124 1
|
边缘计算 网络协议 网络架构
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
|
监控 网络架构
CAN-TP传输协议详解
CAN-TP传输协议详解
CAN-TP传输协议详解
|
存储 安全 算法
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
|
编解码 监控 网络协议
一文读懂以太网与CANoe的配置
一文读懂以太网与CANoe的配置
一文读懂以太网与CANoe的配置
|
监控 安全 中间件
深入浅出vsomeip:打造高效车载通信系统
深入浅出vsomeip:打造高效车载通信系统
2681 0
一文读懂Can总线错误处理
一文读懂Can总线错误处理
一文读懂Can总线错误处理
[UDS] --- DiagnosticSessionControl 0x10 service
[UDS] --- DiagnosticSessionControl 0x10 service
1328 0

热门文章

最新文章