【小猫爪】AUTOSAR学习笔记12-功能安全之E2E模块

article/2025/10/17 2:31:50

【小猫爪】AUTOSAR学习笔记12-功能安全之E2E模块

  • 前言
  • 1 E2E模块简介
  • 2 E2E功能简介
    • 2.1 五种保护机制
    • 2.2 E2E的状态机
    • 2.3 E2E Protection Wrapper
    • 2.4 E2E 错误反馈方式
  • END

前言

  从这一节开始,正式步入功能安全专题。这一节先来看一个与Communication Stack强相关的且与功能安全有关的模块,它就是E2E模块。

1 E2E模块简介

  E2E在AUTOSAR架构中,它被定义成是一个函数库。E2E 可以保护安全相关的数据交换,避免数据交换过程中通信链路造成的错误。E2E通信保护库实现了这些保护机制算法。E2E 的主要功能:

  1. 为将要发送的安全相关的数据提供保护;
  2. 对接收到的安全相关的数据进行校验;
  3. 对接收到的安全相关的数据错误做出指示。

  E2E模块保护数据的算法其实就是CRC,它主要就是定义了怎样使用CRC算法来确保数据的准确性。

2 E2E功能简介

  E2E 模块可以被三个地方调用,分别是COM 模块中的COM callout ,E2E Transformer模块 和 E2E Protection Wrapper。当 E2E 库被 Transformer 和 Wrapper 调用时,需要在 Transformer 和 Wrapper 中对数据元素进行序列化。在 E2E 模块内部会调用 Crc 模块提供函数。

2.1 五种保护机制

  E2E提供了一下五种保护机制来保护数据安全,如下:

  1. CRC:发送端根据数据计算CRC值,接收端会重新计算并检查。
  2. Sequence Counter: 发送端每次传输,该值都会加一,接收端会检查该值。
  3. Alive Counter:发送端每次传输,该值都会加一,接收端会检查该值,通常跟Sequence Counter是一个东西(具体我也不知道有什么区别)。
  4. Data ID:给每个数据或者I-PDU Group编号。
  5. Timeout detection: 接收者接收超时,发送者响应超时。

  为了同时满足保护机制的标准化和灵活性要求,E2E 模块提供了很多个 profile,包括P01、P02、P04、P05 和 P06,P07, P11, P22,它们之间的最大区别就在于每一个所采用的保护机制是以上五个保护机制的子集。

Profile保护机制发送描述最大保护数据长度
Profile01Counter(4bit)、Data ID(16bit)、 CRC8、Timeout monitoringData ID由Data ID Mode决定是否发送 ,Counter和CRC需要发送30bytes
Profile02Counter(4bit)、Data ID List(8bit)、 CRC8Data ID 不会发送,仅用作 CRC计算,Counter和CRC需要发送256bytes
Profile04Counter(16bit)、Data ID(32bit)、CRC32、Length(16bit)Counter、Data ID、CRC、Length均会发送4096bytes
Profile05Counter(8bit)、Data ID(16bit) 、CRC16Data ID 不会发送,仅用作 CRC计算,Counter和CRC需要发送4096bytes
Profile06Counter(8bit)、Data ID(16bit)、CRC16、Length(16bit)Data ID 不会发送,仅用作 CRC 计算,Counter,CRC和Length需要发送4096bytes
Profile07Counter(32bit)、Data ID(32bit)、CRC64、Length(32bit)Counter、Data ID、CRC、Length均会发送未知
Profile11Counter(4bit)、Data ID(16bit or 12bit)、CRC8Counter、Data ID、CRC均会发送30bytes
Profile12Counter(4bit)、Data ID List(16*8bit)、CRC8Data ID 不会发送,仅用作 CRC计算,Counter和CRC需要发送未知

:1. 保护机制中包含Length的Profile支持保护不定长数据,其他则不支持。2. 保护机制中的Data ID List指的是每一条消息的Data ID由Counter值去确定,所以需要静态定义Data ID和Counter的对应表格,这种机制就叫做Data ID List。3. 当使用 profile4、profile5 和 profile6 保护数据时,如果需要保护的数据较长时,CRC 计算时间会较长,由于 E2E 模块的保护和检测功能都是同步执行的,可能会影响系统的实时性。

2.2 E2E的状态机

  E2E profile 中对数据的检测只表示在单个周期内数据的正确性,E2E 的状态机则将固定次数内(reception window)的 profile 数据检测结果进行统一管理,并将处理后的状态提供给调用者,调用者可根据状态决定是否使用数据。E2E 各状态转换描述如下:
在这里插入图片描述
  各个状态具体描述如下:

状态描述
E2E_SM_DEINIT未初始化状态,在此状态如果用户调用 E2E_SMCheck,返回 E2E_E_WRONGSTATE。
E2E_SM_NODATA无数据状态,调用 E2E_SMCheckInit,进入该状态。在该状态如果用户调用 E2E_SMCheck,检测的 profile 状态不 为 E2E_P_ERROR 和 E2E_P_NONEWDATA , 则 进 入E2E_SM_INIT 状态,否则一直停留在此状态。
E2E_SM_INIT初 始 化 状 态 , 在 reception window 内 , 用 户 调 用E2E_SMCheck,更新 ErrorCounter 和OKCounter 的值。如果 ErrorCounter 的值小于等于设置的阈值并且 OKCounter大于等于设置的阈值,则进入 E2E_SM_VALID 状态。如 果 ErrorCounter 的 值 大 于 设 置 的 阈 值 , 则 进 入E2E_SM_INVALID 状态。否则一直停留在该状态。
E2E_SM_VALID数 据 有 效 状 态 , 在 reception window 内 , 用 户 调 E2E_SMCheck,更新 ErrorCounter 和 OKCounter 的值。如果 ErrorCounter 的值小于等于设置的阈值并且 OKCounter大于等于设置的阈值,则停留在该状态。否则进入E2E_SM_INVALID 状态。
E2E_SM_INVALID数 据 无 效 状 态 , 在 reception window 内 , 用 户 调 用E2E_SMCheck,更新 ErrorCounter 和 OKCounter 的值。如果 ErrorCounter 的值小于等于设置的阈值并且 OKCounter大于等于设置的阈值,则进入 E2E_SM_VALID 状态。否则一直停留在该状态。

2.3 E2E Protection Wrapper

  前面提到了E2E Protection Wrapper 属于 E2E 三种调用者之一,其位置比较特殊,它不属于BSW层,而是位于 RTE 之上,属于 SWC 层的一部分,其保护的数据需要为信号组的形式。其结构如下:
在这里插入图片描述

  E2E Protection Wrapper主要功能如下。
  1. 负责将复杂数据元素进行序列化
  2. 负责将调用 E2E Lib 时使用的数据结构实例化和初始化
  3. 调用 E2E 接口对数据元素进行保护
  4. 调用 RTE 接口接收和发送数据

  E2E Protection Wrapper 为每组需要保护的数据元素生成一组接口,发送数据接口E2EPW_Write_<p>_<o> 和 E2EPW_WriteInit_<p>_<o> , 接 收 数 据 接 口E2EPW_Read_<p>_<o> 和 E2EPW_ReadInit_<p>_<o> 。 当 用 户 发 送 数 据 时 调 用E2EPW_Write_<p>_<o> ()接口,该接口将数据进行序列化,调用 E2E 的接口保护数据,调用 RTE 的数据发送接口发送数据;当用户接收数据时调用 E2EPW_Read_<p>_<o> ()接口,该接口调用 RTE 的数据接收接口接收数据,序列化接收数据,并调用 E2E 接口检查接收数据。

2.4 E2E 错误反馈方式

  当用户使用 E2E Protection Wrapper 调用 E2E 时,E2E 中检查的错误通过 E2EProtection Wrapper 中的返回值反馈给用户。该返回值为 32 位的无符号数,各字节代表不同的错误类型。E2EPW_Write**<p>_<o>和 E2EPW_Read**<p>_<o>返回值描述如下表。

函数类型返回值 Byte3返回值 Byte2返回值 Byte1返回值 Byte0
WriteE2E_PxxProtect 函数 的 返 回 值 , 当Byte1 为 E2E_E_OK时,该值才有效E2E ProtectionWrapper 实 时 检 查的结果Rte_Write 函数的返回值,当 Byte2 为E2E_E_OK 时,该值才有效
ReadE2E_PxxCheck 函数检查的错误状态,当Byte2 为 E2E_E_OK时,该值才有效E2E_PxxCheck 函数的返回值,当 Byte1为 E2E_E_OK 时,该值才有效E2E Protection Wrapper 实 时 检 查的结果Rte_Read 函数的返回值,当 Byte1 为E2E_E_OK 时,该值才有效

  E2E_PxxCheck 函数检查的错误状态描述如下表:

错误状态描述
E2EPW_STATUS_OK0x0数据被正确接收,无 crc、counter 等错误
E2EPW_STATUS_NONEWDATA0x1检查函数被调用,但是未收到新数据
E2EPW_STATUS_WRONGCRC0x2接收到新数据,但是存在 crc 或其他数据检查错误
E2EPW_STATUS_SYNC0x3数据被正确接收,但是由于上次产生的检查错误,导致数据连续性检查需要进行数据同步
E2EPW_STATUS_INITIAL0x4已接收数据,crc 正确,但是由于进行了初始化导致无法验证 counter 的正确性
E2EPW_STATUS_REPEATED0x8已接收数据,crc 正确,但是 counter 重复
E2EPW_STATUS_OKSOMELOST0x20已接收数据,crc 正确,但是 counter 不连续,DeltaCounter 在可接受范围内
E2EPW_STATUS_WRONGSEQUENCE0x40已接收数据,crc 正确,但是 counter 不连续,DeltaCounter 超出可接受范围

END


http://chatgpt.dhexx.cn/article/8Ap1MCSX.shtml

相关文章

AUTOSAR专项--E2E

1. E2E基本概念 E2E,全称叫做End To End。这个概念的提出是用于保护在ECU运行时与安全相关的数据交换不受通信链路中故障的影响。根据AUTOSAR E2E Protocol Specification描述,基于E2E的通信可以按照如下示例: 很明显,E2E在传输中用于防止MCU硬件的随机失效、通信总…

Vue中如何进行自动化测试与端到端测试(E2E测试)

Vue中如何进行自动化测试与端到端测试&#xff08;E2E测试&#xff09; Vue.js是一种流行的前端JavaScript框架&#xff0c;用于构建现代的单页应用程序。在Vue.js中&#xff0c;测试是一个非常重要的主题。测试可以确保代码的正确性&#xff0c;使代码更加可靠和可维护。在这…

前端测试:e2e测试

为什么进行测试 你是否有以下烦恼&#xff1a; 当你加班加点完成一个功能后&#xff0c;提交给测试部&#xff0c;立马返回几个bug 当你修改完bug后&#xff0c;并检查了好几遍&#xff0c;确保无误后&#xff0c;提交给测试部&#xff0c;有返回几个bug …… 对于以上情境…

【AUTOSAR-E2E】-1.1-End-to-End通信保护介绍(Functional Safety功能安全相关)

目录 1 常见的通讯故障以及E2E机制能够检出的通讯故障 2 Functional safety功能安全对通信的要求 3 通信故障的原因 3.1 软件故障 3.2 随机硬件故障 3.3 外部影响、环境压力 4 常见的“E2E通讯保护”解决方案 4.1 无E2E保护的信号数据流示例 4.2 E2E Protection Wrapper解决方案…

Autosar BSW层CAN通讯开发------08(Autosar的E2E开发-----以E2E Profile01为例)

Crc校验在CAN报文中的实际应用介绍&#xff1a; Crc在报文传输过程中的实际应用如下&#xff08;在汽车中&#xff0c;Crc一般是对8个字节进行校验&#xff0c;目前我接触到的是这样&#xff09;&#xff1a; ECU-A和ECU-B之间进行CAN报文的传输&#xff0c;双方规定ECU-A发出的…

功能安全专题之端到端(E2E) 的通信保护

本文来自AUTOSAR技术资料。 前言 功能安全&#xff08;Functional Safety&#xff09;是一项系统特性&#xff0c;由于基于功能安全的设计会影响到系统设计&#xff0c;所以从系统开发初始阶段就要进行考虑。由于软件的复杂度会影响 到功能安全的设计&#xff0c;所以在AUTOS…

AUTOSAR的E2E通信安全

导语&#xff1a;近期项目中遇到一些E2E的诊断故障&#xff0c;涉及到整车需求和AutoSAR配置&#xff0c;对这个概念重新做了下梳理&#xff0c;与大家交流。由于E2E机制比较成熟&#xff0c;本文章内容更多出自于AutoSAR标准、ISO 26262 和相关文献&#xff0c;这里只捡重点和…

E2E通信保护协议学习笔记

E2E通信保护协议学习笔记 最近在做功能安全方面工作&#xff0c;想了解E2E保护的问题。本文试着说明两个点&#xff1a; 功能安全需要考虑通信失效造成的影响&#xff0c;因此E2E通信保护协议被提出&#xff0c;以满足功能安全要求&#xff1b; 简单介绍E2E通信保护协议机制。…

什么是 E2E 保护 ?

安全在每个领域都是一个永恒的话题&#xff0c;汽车也不例外&#xff0c;而随着最近几年汽车电动化、智能化和网联化的发展&#xff0c;汽车安全也越来越受到用户及开发人员的重视&#xff0c;安全的要素也是多方面的&#xff0c;例如用户可能关心在使用车机系统时的隐私安全、…

HVS颜色空间的提取

在日常的图片处理中&#xff0c;常常要把RGB转成HVS&#xff0c;然后再提取色调、亮度、饱合度通道图片进行操作&#xff0c;网上大多介绍都只是提到转换&#xff0c;如果提取都不准确&#xff0c;我这里记录一下准确提取的方法。V&#xff0c;S提取只要将值乘255就可以&#x…

matlab绘制hsv色轮图

% 生成网格 tListlinspace(0,2.*pi,300); rListlinspace(0,1,100); [theta,R]meshgrid(tList,rList);% 角度及半径转换为坐标 Xcos(thetapi).*R; Ysin(theta).*R; Zzeros(size(X));% 构造hsv网格并转换为rgb网格 hsvMeshcat(3,theta./2./pi,ones(size(R)),R); rgbMeshhsv2rgb(h…

图像融合:Exposure Fusion Using Boosting Laplacian Pyramid

Exposure Fusion Using Boosting Laplacian Pyramid 文章目录 Exposure Fusion Using Boosting Laplacian PyramidJND ModelLuminance AdaptationContrast MaskingOverall JND Model A Hybrid Exposure Weight MeasurementLocal Exposure WeightGlobal Exposure WeightJND-Base…

基于主动视觉机制的深度学习--一个综合池化框架

卷积神经网络(CNN)是深度学习的代表算法之一&#xff0c;长期以来被广泛应用于图像识别领域。它是受到了生物处理过程的启发&#xff0c;通过模仿人类视觉系统(HVS)的工作机制&#xff0c;完成各种视觉任务等。但与HVS相比&#xff0c;CNN不能够像人类一样&#xff0c;迅速的分…

第13章:直方图处理

第13章&#xff1a;直方图处理 一、直方图的含义&#xff1a;1. 普通直方图&#xff1a;2. 归一化直方图&#xff1a; 二、绘制直方图&#xff1a;1. 使用Numpy绘制直方图&#xff1a;2. 使用OpenCV绘制直方图&#xff1a;3. 使用掩码绘制直方图&#xff1a; 三、直方图均衡化&…

通过matlab,基于DCT变换,利用hvs实现水印嵌入强度自适应

我真的会谢&#xff0c;为什么我跑出来是一片黑呀&#xff1f;本matlab小白跪求matlab大佬答疑解惑555555感谢 以下是我的程序&#xff1a; % 读取原始图像和水印图像 I imread(lena.bmp); W imread(waterMark.bmp);% 将图像转为灰度图&#xff0c;并将水印调整为与原始图像…

基于HVS 的结构相似性的视频质量评价

清华大学的汪志兵&#xff0c; 廖煜鹏&#xff0c; 汪 博&#xff0c; 秦明海&#xff0c; 林行刚等人在《通信技术》2010年第2期上发表。   HVS 对不同频率分量的敏感性不同&#xff0c;对视频帧不同部分的关注度也不相同。 为了达到更好的效果&#xff0c;论文中引入3 个因…

一种基于HVS特性的视频质量评测方法

本篇论文是由厦门大学的袁飞&#xff0c;黄联芬&#xff0c;姚彦发表于《光电工程》2008年1月刊上。   本文针对视频质量的评测应用&#xff0c;通过在视频帧内图像和帧间图像的处理过程中引入人眼视觉系统(HVS)的主要特性&#xff0c;克服传统PSNR 算法在序列质量检测应用方…

数字水印算法matlab源程序 matlab版数字水印算法 /DCT/DWT/LSB/HVS/W-SVD数字水印源码 数字水印的嵌入和提取 W-SVD数字水印实现

发以下多套系统源码&#xff1a; 1、matlab版数字水印算法 2、MATLAB数字水印 源代码文档 3、数字水印技术matlab代码 4、数字水印 JPEG压缩 matlab代码 5、数字水印 添加噪声 matlab代码 6、各种数字水印的matlab源代码&#xff08;有DFT&#xff0c;DCT&#xff0c;小波变换等…

基于hvs图像水印matlab和psnr nc的计算 首先读取图像和水印,进行图像加印

基于hvs图像水印matlab和psnr nc的计算 首先读取图像和水印&#xff0c;进行图像加印 然后进行攻击 攻击方式有白噪声&#xff0c;裁剪&#xff0c;旋转10度&#xff0c;压缩&#xff0c;和无攻击&#xff0c;然后最后还原水印。 ID:31314617581701451好好学习