目录
一、概述
该文档制定了PRS E2E协议的平台特定实现要求。这包括所使用的接口和数据类型。
E2E保护的概念假设在运行时应对安全相关数据交换进行保护,防止通信链路内故障的影响。此类故障的例子包括随机HW故障(例如CAN收发器的寄存器损坏)、干扰(例如由于EMC)以及实现VFB通信的软件内的系统故障(例如RTE、IOC、COM和网络堆栈)。
通过使用E2E通信保护机制,可以在运行时检测和处理通信链路中的故障。E2E库提供了E2E保护机制,足以用于要求高达ASIL D的安全相关通信。
保护机制的算法在E2E库中实现。E2E库的调用者负责库的正确使用,特别是为E2E库例程提供正确的参数。
E2E保护装置允许执行以下功能:
- 它通过附加控制数据来保护要通过RTE发送的与安全相关的数据元素;
- 它使用该控制数据验证从RTE接收到的安全相关数据元素;
- 表示接收到的安全相关数据元件出现故障,然后必须由接收机SW-C进行处理。
为了提供解决灵活性和标准化的适当解决方案,AUTOSAR指定了一组灵活的E2E profiles,以实现E2E保护机制的适当组合。每个指定的E2E profiles都有一个固定的行为,但它有一些功能参数的配置选项(例如CRC与数据的位置,需要保护)。
无论在哪里执行E2E,E2E保护都是针对数据元素的。E2E保护在数据元素的序列化表示上执行,与在总线上传输的位布局相同。这意味着:
- 如果使用E2E序列化,则由E2E序列化器(基于com的序列化函数或Some/IP序列化函数)执行串行化。
- 在使用E2E保护包装器的情况下,包装器需要将数据元素序列化为相应信号组的序列化形式(换句话说,包装器创建表示信号组的I-PDU的一部分,同时表示数据元素)。
- 如果使用了COM调用,则序列化将由通信堆栈(RTE,COM)完成,因此调用将直接对I-PDU中的序列化信号组进行操作。
二、约束和假设
【规范】E2E库的实施应符合汽车领域安全相关软件开发的要求。
【规范】应根据汽车领域安全相关软件开发的要求,实现E2E库及其调用代码(如E2E wrapper , E2E callouts , E2E transformer)的配置(包括其他子系统使用的配置选项,如COM信号到I-PDU映射)。
三、依赖模块
E2E的实现依赖于CRC库。
【规范】E2E库应由以下文件构建:E2E.h(通用标头)、E2E.c(通用部件的实现)、E2E_PXX.c(其中XX:例如01、02、...表示配置文件)和E2E_SM.c(用于E2E状态机)。
【规范】文件E2E_PXX.c和E2E.h应包含每个配置文件的特定实现部分。
【规范】E2E库文件(即E2E_。)不应包括任何RTE文件。
四、功能描述
4.1 开发错误
【规范】E2E库不应包含要作为开发错误进行跟踪的错误检测的库内部机制;
【规范】E2E库应通过返回值向E2E函数的调用者报告库内部机制检测到的错误。
【规范】E2E库不得调用BSW模块来进行错误报告(特别是DEM和DET),也不得用于任何其他目的。E2E库不得调用RTE。
4.1.1 运行时错误
【规范】所有E2E库函数都应使用以下错误标志:
备注:范围0x80..0xFE仅用于使用供应商特定的返回值扩展自动存储配置文件。
【规范】E2E函数的调用者E2E_PXXProtect()/ E2E_PXXCheck()应根据“E2E调用者如何处理”列处理SWS_E2E_00047中定义的错误/状态。
五、API接口
5.1 E2E Profile 接口
- E2E_PxxProtect
- E2E_PxxProtectInit
- E2E_PxxCheck
- E2E_PxxCheckInit
- E2E_PxxMapStatusToSM
备注:其中Pxx的xx可为01、02、04、05、06、07、08、11、22、44
5.2 E2E其他接口
- E2E_SMCheck
- E2E_SMCheckInit
- E2E_GetVersionInfo