You are on page 1of 1

【AUTOSAR-E2E】-1.

1-End-to-End通信保
护介绍(Functional Safety功能安全相关)
⽬录

<--返回「Autosar_BSW⾼阶配置」总⽬录-->

<--返回「Autosar_BSW⾼阶配置」专栏主⻚-->

<--返回「个⼈博客」⾸⻚-->

全⽹最全End-to-End整理在这⾥:

《功能安全E2E》专栏链接 https://blog.csdn.net/qfmzhu/category_11575971.html

关键字:E2EPW = E2E Protection Wrapper

E2E(End-to-End)保护的概念假设与安全相关的数据交换应在运⾏时受到保护,免受
通信链路内故障的影响(图0-1)。此类故障的示例包括:随机硬件故障(如,CAN收
发器的寄存器损坏)、⼲扰(如,EMC)以及实现VFB通信的软件内的系统故障(例如
RTE、IOC、COM和⽹络堆栈)。

通过使⽤E2E通信保护机制,可以在运⾏时检测和处理通信链路中的故障。E2E Library
提供E2E保护机制,⾜以满⾜具有⾼达ASIL D需求的安全相关通信。

 图0-1:E2E保护缓解的故障示例

注:

导致E2E保护检测到错误的典型⼲扰源:

软件相关源:

S1.⼤多数⽣成的RTE中的错误

S2.部分⽣成和部分⼿⼯编码的COM中的错误

S3.⽹络堆栈错误

S4.⽣成的IOC或OS错误

硬件相关源:

H1.硬件⽹络故障

H2.⽹络电磁⼲扰

H3.上下⽂切换(分区)或内核间通信期间的微控制器故障

1 常⻅的通讯故障以及E2E机制能够检出的通讯故障

通信故障类型 故障描述

Repetition of information
多次收到同⼀条消息。
信息重复

Loss of information 从传输的信息流中,信息或部分信息

信息丢失 被删除。

Delay of information
接收到的信息⽐预期晚。
信息延迟

Insertion of information
将附加信息插⼊到传输的信息流中。
插⼊信息

Masquerading ⾮真实信息被接收者接收为真实信

伪装/冒充 息。

Incorrect addressing 从错误的发送者或错误的接收者处接

不正确的寻址 收信息。

Incorrect sequence of information


修改了传输信息流中的信息序列。
信息序列不正确

Corruption of information
改变信息。
信息损坏

Asymmetric information sent from a sender to multiple


receivers 接收⽅确实从同⼀发送⽅接收到不同
的信息。
从发送⽅发送到多个接收⽅的⾮对称信息

Information from a sender received by only a subset of


the receivers 有些接收器没有收到信息。

来⾃发送者的信息仅由⼀部分接收者接收

Blocking access to a communication channel


通信通道的访问被阻塞。
阻塞访问通信通道

E2E机制可以检测以下故障或故障影响:

E2E机制 检出的通信故障

Repetition, Loss, Insertion, Incorrect


sequence, Blocking
Counter
重复,丢失,插⼊,不正确的序列,阻

Transmission on a regular basis and timeout


Loss, Delay, Blocking
monitoring using E2E-Library
丢失,延迟,阻塞
使⽤E2E Library进⾏定期传输和超时监控

Masquerade and incorrect addressing,

Data ID + CRC Insertion

伪装/冒充和不正确的寻址、插⼊

Corruption, Asymmetric information


CRC
损坏,信息不对称

2 Functional safety功能安全对通信的要求
ISO_26262-6_2018的附录D.2.4对信息交换提出了要求,如下:

关于信息交换,可以为每个发送⽅或每个接收⽅考虑如下所列的故障原因或故障影
响:

• 信息重复;

• 信息丢失;

• 信息延迟;

• 插⼊信息;

• 伪装/冒充或不正确的信息寻址;

• 不正确的信息序列;

• 信息损坏;

• 从⼀个发送者向多个接收者发送的⾮对称信息;

• 来⾃发送者的信息仅被⼀部分接收者接收;

• 阻塞对通信通道的访问。

3 通信故障的原因
常⻅引起通信故障的原因有:

1.(系统性)软件故障,

2.(随机)硬件故障,

3.外部影响引起的瞬态故障。

这三个来源在下⾯的部分中进⾏了描述。

3.1 软件故障
通信栈模块、RTE等软件可能存在系统性故障。

系统性故障可能发⽣在系统⽣命周期的任何阶段,包括规范、设计、制造、运⾏和维
护,并且它们总是在情况(例如根本原因的触发条件)相同时出现。软件故障的后果
可能是通信失败,例如数据发送中断、接收器溢出(例如缓冲区溢出)或发送器⽋载
(例如缓冲区为空)。

为了防⽌(或处理)由此产⽣的故障,必须考虑适当的技术措施来检测和处理此类故
障(例如程序流监控或E2E)。

3.2 随机硬件故障
随机硬件故障通常是硬件部件电⽓过载、退化、⽼化或暴露于外部影响(例如环境压
⼒)的结果。随机硬件故障⽆法完全避免,但可以评估其概率并实施适当的技术措施
(例如诊断)。

3.3 外部影响、环境压⼒
这包括EMI、ESD、湿度、耐腐蚀、温度或机械应⼒(例如振动)等影响。

4 常⻅的“E2E通讯保护”解决⽅案
下⾯列举的Autosar⽀持的E2E通讯保护机制解决⽅案:

1. E2E Protection Wrapper(⽤于保护数据的⾮标准集成商软件,在RTE的上层)


2. E2E Transformer(⼀种新的、标准化的E2E调⽤⽅式,在Autosar4.2.1中引⼊)
3. COM E2E Callout(⽤于保护I-PDU的⾮标准集成商代码)

也可能有混合场景,例如:

1.对 于 特 定 数 据 元 素 , 发 送 ⽅ 使 ⽤ E2E Protection Wrapper, 接 收 ⽅ 使 ⽤ COM E2E


Callout(或反向)

2.在给定的ECU⽹络或⼀个ECU中:⼀些数据元素使⽤E2E Protection Wrapper,⼀些


使⽤COM E2E Callout。

⽆论E2E在何处执⾏,E2E保护都是针对数据元素的。E2E保护是在数据元素的序列化
表示上执⾏的,其位布局与总线上传输的位布局相同。这意味着:

1. 如 果 使 ⽤ E2E Transformer, 序 列 化 由 E2E Transformer之 上 的 transformer进 ⾏


(基于COM的transformer或Some/IP的transformer)。
2. 如果使⽤E2E Protection Wrapper,Wrapper需要将数据元素序列化为对应信号
组的序列化形式(换句话说,Wrapper创建了I-PDU的⼀部分,它代表了信号组和
数据元素)。
3. 如果使⽤COM callout,序列化由通信栈(RTE、COM)完成,因此callout直接对
I-PDU中的序列化信号组进⾏操作。

4.1 ⽆E2E保护的信号数据流示例
发送⽅ECU示例:

接收⽅ECU示例:

4.2 E2E Protection Wrapper解决⽅案示例


发送⽅ECU示例:

接收⽅ECU示例:

4.3 E2E Transformer解决⽅案示例


对于这种⽅式的保护,需要引⼊ComXf或SomeIpXf模块。下⾯以SomeIpXf模块为例。

发送⽅ECU示例:

接收⽅ECU示例:

4.3 COM E2E Callout解决⽅案介绍


在这种⽅法中,E2E通信保护保护了COM模块之间的数据交换。保护是在COM的信号
组级别完成的,由E2E Library进⾏保护和检查。

该解决⽅案适⽤于RTE为ECU间通信提供的所有通信模型和多样性。

回调调⽤E2E Library,对给定I-PDU中的每个受E2E保护的信号组调⽤⼀次。

该⽅案可⽤于提供COM和RTE操作完整性的系统。

详 ⻅ 《 AUTOSAR_SWS_E2ELibrary ( Specification of SW-C End-to-End


Communication Protection Library)》。

5 E2E profile介绍
⽆论是E2E Protection Wrapper,E2E Transformer,COM E2E Callout,这些E2E保护
解决⽅案都少不了调⽤E2E Library提供的服务。

E2E library是根据ISO 26262开发的,⽤于与安全相关的项⽬,没有特定于控制器。


E2E Library提供E2E保护机制,⾜以满⾜具有⾼达ASIL D需求的安全相关通信。

AUTOSAR指定了⼀组灵活的保护机制算法(E2E profile XX)在E2E Library中实现。


E2E Library的调⽤者负责Library的正确使⽤(特别是为E2E Library routines提供正确
的参数)。每个 E2E Profile 都是⾮⽣成的、确定性的软件代码,其中所有输⼊和设置
都通过函数参数传递。

E2E不包含任何调度服务,例如主函数。E2E Library不提供任何回调函数。E2E Library


不提供任何可配置的接⼝。

每个指定的E2E profile都有⼀个固定的⾏为,但它有⼀些功能参数的配置选项(例如,
CRC相对于要保护的数据的位置)。

每个E2E Profile应使⽤以下数据保护机制的⼀个⼦集:

a.⼀个CRC,由CRC Library提供;

b.⼀个Sequence Counter在每次传输请求时递增,接收⽅检查该值是否正确递增;

c.⼀个Alive Counter在每次传输请求时递增,接收⽅检查值是否有变化,但不检查正确
的递增值;

d.通过端⼝发送的每个端⼝数据元素的特定ID或每个I-PDU组的特定ID(全局到系统,
其中系统可能包含潜在的多个ECU);

e.超时检测:

--接收⽅通信超时;

--发送⽅确认超时。

根据使⽤的通信和⽹络堆栈,这些机制的适当⼦集被定义为E2E通信profile。

E2E profile可⽤于ECU内部和内部通信。E2E profile针对CAN、FlexRay通信进⾏了优


化,并可⽤于LIN。

5.1 E2E Profile 1机制


Profile 1应提供以下机制:

控制端 描述

4位

Counter 表示每次发送请求时从0到14递增的数字。

E2E Profile 1提供了Alive Counter和Sequence Counter机制,评估相同的4位。

Timeout 超时由E2E Library通过对计数器的评估,通过接收器处的⾮阻塞读取来确定。

monitoring E2E Library通过E2E_P01CheckStatusType中的状态标志将超时报告给调⽤者。

16位,唯⼀编号,包含在CRC计算中。

对于等于0、1或2的dataIdMode,不传输Data ID,⽽是包含在CRC计算中。

对于dataIdMode等于3:

Data ID •不使⽤DataID⾼字节的⾼半字节(它是0x0),因为DataID被限制为12位,

•DataID⾼字节的低半字节被传输并在计算CRC over Data时被CRC计算覆盖。

•不传输低字节,但它作为起始值包含在CRC计算中(例如dataIDMode等于0、1
或2)。

8位

CRC-8-SAE J1850 - 0x1D (x8 + x4 + x3 + x2 + 1),但具有不同的起始值和XOR


值(起始值和异或值都是0x00)。

CRC 该CRC由CRC Library提供。从AUTOSAR R4.0开始,CRC Library的SAE8 CRC函


数使⽤0xFF作为起始值和XOR值。为了补偿CRC Library的不同⾏为,E2E
Library从R4.0开始应⽤额外的XOR 0xFF操作,以得出0x00作为起始值和XOR
值。

注意:此CRC多项式与FlexRay、CAN和LIN使⽤的CRC多项式不同。

注意:CRC和Counter在Frame中的位置可以通过各⾃的Offset确认。

5.2 E2E Profile 2机制


Profile 2应提供以下机制:

控制端 描述

4位

表示发送⽅的每个发送请求时从0到15递增的数字。
Counter
每次调⽤E2E_P02Protect()函数时,计数器都会递增,即,在SW-C的每个
传输请求上

Message Key
used for CRC
8位
calculation(Data
ID) ⽤于计算CRC的特定Data ID取决于计数器的值,并且是⼀组预定义Data ID
的元素(计数器的值作为索引以选择⽤于保护的特定Data ID)。对于每个
⽤于CRC计算的
数据元素,取决于计数器的每个值的Data ID列表是唯⼀的。
Message Key
(Data ID)

8位

多项式:0x2F(x8 + x5 + x3 + x2 + x + 1)

CRC 起始值:0xFF

最终异或值:0xFF

注意:此CRC多项式与FlexRay和CAN使⽤的CRC多项式不同。

注 意 : CRC和 Counter在 Frame中 的 位 置 可 以 通 过 同 ⼀ 个 Offset确 认 。 导 致 CRC和


Counter在相邻的Byte中。

5.3 E2E Profile 4机制


Profile 4应提供以下机制:

控制端 描述

Length 16位,⽀持动态⼤⼩的数据。

Counter 16位.

32位,多项式的范式为0x1F4ACFB13,由CRC Library提供。
CRC
注意:此CRC多项式与FlexRay、CAN和LIN以及TCP/IP使⽤的CRC多项式不同。

Data ID 32位,系统范围内唯⼀。

注意:CRC和Counter在Frame中的位置固定。

5.4 E2E Profile 5机制


Profile 5应提供以下机制:

控制端 描述

Counter 8位。

CRC 16位,多项式的范式为0x1021(Autosar符号),由CRC Library提供。

Data ID 16位,系统范围内唯⼀。

注意:CRC和Counter在Frame中的位置固定。

5.5 E2E Profile 6机制


Profile 6应提供以下机制:

控制端 描述

Length 16位,⽀持动态⼤⼩的数据。

Counter 8位。

CRC CRC Library提供的16位多项式,采⽤标准形式0x1021(Autosar表示法)。

Data ID 16位,系统范围内唯⼀。

注意:CRC和Counter在Frame中的位置固定。

You might also like