Professional Documents
Culture Documents
截圖 2022-11-30 上午10.02.07
截圖 2022-11-30 上午10.02.07
1-End-to-End通信保
护介绍(Functional Safety功能安全相关)
⽬录
<--返回「Autosar_BSW⾼阶配置」总⽬录-->
<--返回「Autosar_BSW⾼阶配置」专栏主⻚-->
<--返回「个⼈博客」⾸⻚-->
全⽹最全End-to-End整理在这⾥:
《功能安全E2E》专栏链接 https://blog.csdn.net/qfmzhu/category_11575971.html
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
多次收到同⼀条消息。
信息重复
信息丢失 被删除。
Delay of information
接收到的信息⽐预期晚。
信息延迟
Insertion of information
将附加信息插⼊到传输的信息流中。
插⼊信息
Masquerading ⾮真实信息被接收者接收为真实信
伪装/冒充 息。
不正确的寻址 收信息。
Corruption of information
改变信息。
信息损坏
来⾃发送者的信息仅由⼀部分接收者接收
E2E机制可以检测以下故障或故障影响:
E2E机制 检出的通信故障
伪装/冒充和不正确的寻址、插⼊
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通讯保护机制解决⽅案:
也可能有混合场景,例如:
⽆论E2E在何处执⾏,E2E保护都是针对数据元素的。E2E保护是在数据元素的序列化
表示上执⾏的,其位布局与总线上传输的位布局相同。这意味着:
4.1 ⽆E2E保护的信号数据流示例
发送⽅ECU示例:
接收⽅ECU示例:
接收⽅ECU示例:
发送⽅ECU示例:
接收⽅ECU示例:
该解决⽅案适⽤于RTE为ECU间通信提供的所有通信模型和多样性。
回调调⽤E2E Library,对给定I-PDU中的每个受E2E保护的信号组调⽤⼀次。
该⽅案可⽤于提供COM和RTE操作完整性的系统。
5 E2E profile介绍
⽆论是E2E Protection Wrapper,E2E Transformer,COM E2E Callout,这些E2E保护
解决⽅案都少不了调⽤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。
控制端 描述
4位
Counter 表示每次发送请求时从0到14递增的数字。
16位,唯⼀编号,包含在CRC计算中。
对于等于0、1或2的dataIdMode,不传输Data ID,⽽是包含在CRC计算中。
对于dataIdMode等于3:
Data ID •不使⽤DataID⾼字节的⾼半字节(它是0x0),因为DataID被限制为12位,
•不传输低字节,但它作为起始值包含在CRC计算中(例如dataIDMode等于0、1
或2)。
8位
注意:此CRC多项式与FlexRay、CAN和LIN使⽤的CRC多项式不同。
注意:CRC和Counter在Frame中的位置可以通过各⾃的Offset确认。
控制端 描述
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多项式不同。
控制端 描述
Length 16位,⽀持动态⼤⼩的数据。
Counter 16位.
32位,多项式的范式为0x1F4ACFB13,由CRC Library提供。
CRC
注意:此CRC多项式与FlexRay、CAN和LIN以及TCP/IP使⽤的CRC多项式不同。
Data ID 32位,系统范围内唯⼀。
注意:CRC和Counter在Frame中的位置固定。
控制端 描述
Counter 8位。
Data ID 16位,系统范围内唯⼀。
注意:CRC和Counter在Frame中的位置固定。
控制端 描述
Length 16位,⽀持动态⼤⼩的数据。
Counter 8位。
Data ID 16位,系统范围内唯⼀。
注意:CRC和Counter在Frame中的位置固定。