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

相关文章
|
11月前
|
开发框架 小程序 前端开发
带你了解小程序的框架之谜
带你了解小程序的框架之谜
|
2月前
|
数据库 Java 监控
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
38 0
|
5月前
|
XML Java 关系型数据库
框架前奏
框架前奏
50 1
|
算法 物联网
CTP协议的组成原理与具体实现(原理篇,含组件解析)_物联网竞赛挑战赛
CTP协议的组成原理与具体实现(原理篇,含组件解析)_物联网竞赛挑战赛
574 0
|
传感器 5G 测试技术
5G系统概念 | 《5G移动无线通信技术》之七
本节介绍满足上述要求的 5G 系统概念。为了达到这些要求,系统需要一个灵活的 平台。5G 不是为某一个“杀手级应用”设计的系统,而是面向众多甚至至今尚未可知 的用例。垂直行业(如汽车、能源、工业制造等)特别需要能够基于同一平台获得定制 方案的灵活性。因此,上述用例可以用来指引 5G 系统的研发,但是系统概念设计并不 限于上述用例。
5G系统概念 | 《5G移动无线通信技术》之七
|
存储 编解码 安全
第二章-数据通信基础【网络工程师第五版】
第二章-数据通信基础【软考教材-网络工程师第五版】
653 0
|
机器学习/深度学习 测试技术 计算机视觉
【CVPR 2018热文】MIT提出“透明设计”网络,揭开视觉黑盒
MIT和普朗克航空系统公司的研究人员合作,提出了一类“透明设计网络”,在李飞飞等人提出的视觉理解数据库CLEVR上达到了99.1%的准确率,他们设计的模块使用注意力机制,缩小了现有视觉理解模型在性能和可解释性之间的差距,相关论文已被CVPR 2018接收,你也可以用公布的代码构建自己的视觉理解模型。
4427 0
|
Web App开发 数据库 uml
Web应用开发方法研究
目前,Web系统开发缺乏严格和系统的方法,大多数应用开发和管理实践在很大程度上依赖于开发人员个人的知识和经验,造成的后果是所开发的Web系统大多是低质量的产品。而传统的软件工程方法不能适应Web设计的要求,为此人们研究提出了众多的Web开发方法。
1482 0