E2E保护转换器链:rba_ComXfAdp + ComXf + E2EXf
重要提示:只有在使用RTA-RTE 6.1.0之前的版本和RTA-BSW 12.0.0之前的版本时,才选择此工作流程。
- RTA-RTE 6.1.0之前的版本:用户必须使用此工作流程,因为RTE不支持ComXf模块,所以需要rba_ComXfAdp。
- RTA-BSW 12.0.0及之后版本:用户必须选择不包含rba_ComXfAdp的工作流程,因为BSW不再包含该模块。
目录
- 条件
- 引言
- 转换器链依赖于rba_ComXfAdp
- ComXf模块
- E2EXf模块
- 发送者和接收者数据路径
- 示例项目
- 工具链配置工作流程
步骤:
-
软件配置
- 1.a: 数据类型配置
- 1.b: 接口配置
- 1.c: SWC端口配置
-
系统配置
- 2.a: DBC文件
- 2.b: 系统数据映射
- 2.c: 数据转换集
- 2.d: I信号组
- 2.e: ECU提取
-
ECU配置
- 3.a: E2E和CRC库
- 3.b: ConfGen
-
BSW生成
-
RTE生成
- 5.a: 顶层组合
- 5.b: ECU实例
- 5.c: ECU提取
- 5.d: Ecuc值收集
- 5.e: RTE生成器
条件
为了成功遵循本指南,您必须安装了RTA-CAR工具链,并且熟悉AUTOSAR规范、术语和方法。
引言
E2E保护的概念假定与安全相关的数据交换应在运行时受到保护,以防止通信链路内的故障影响。
E2E库为高达ASIL D的安全相关通信提供了保护机制。它仅检测单个接收数据元素的此类错误,并将此信息返回给调用者(例如SWCs),调用者必须适当地做出反应。
转换器链
E2E和基于COM的转换器用于安全相关数据元素的E2E保护。E2E保护带有控制数据:CRC + SC,在数据元素的序列化表示上执行。
这意味着当使用E2E转换器时,序列化需要由E2E转换器上方的转换器执行,例如基于COM的转换器或Some/IP转换器。
发送者和接收者数据路径
示例项目使用v9.1.1标准SK实现。
工具链
示例项目中使用的RTA-CAR工具链包括:
- RTA-CAR 9.1.1工具链
- ISOLAR-AB v 9.1.2
- RTA-RTE v 7.4.3
- RTA-BSW v 6.1.1
- RTA-OS v 6.1.3
此工作流程必须与RTA-BSW 12.0.0之前的版本一起使用。
配置
两个E2E配置文件:
-
配置文件1:应提供以下机制:
- 4位显式发送的计数器
- 通过E2E监控评估计数器的超时监控
- 包含在CRC计算中的16位唯一数据ID
- CRC由CRC监控提供
-
配置文件5:应提供以下控制字段,在运行时与受保护的数据一起传输:
- 8位显式发送的计数器
- 16位CRC,多项式标准形式0x1021(Autosar表示),由CRC库提供
- 16位唯一系统范围的数据ID(隐式发送)
工作流程
-
软件配置
- 1.a: 配置数据类型,包括ImplementationDataType、ApplicationDataType和DataMapping。
- 1.b: 为每个信号组配置一个SenderReceiverInterface。
- 1.c: 在相关SWC上配置端口,类型为SenderReceiverInterface。
-
系统配置
- 2.a: 更新/创建并导入DBC文件,描述正在通信的数据。
- 2.b: 配置系统数据映射。
- 2.c: 配置数据转换集。
由于文档内容非常丰富,我将继续翻译剩余的关键部分。
3. ECU配置
3.a: E2E和CRC库
- E2E库:在"其他模块"下创建BSW模块E2E,确保在E2E配置中启用了选定的配置文件,并配置了与配置文件相关的任何设置。
- CRC库:在BSW模块"服务 > CRC"中启用CRC操作。
3.b: ConfGen
- 运行ConfGen以生成E2EXf、ComXf和rba_SysElem模块。注意:rba_SysElem包括所有数据转换(系统信号、I信号、数据映射、数据类型等),它们以ECU配置值的形式存在,用于后续BSW代码生成的模块ComXf、SomeIpXf和Rba_Xfrm。
4. BSW生成
- BSW代码生成必须启用以下模块:Crc、ComXf、Rba_Xfrm、E2E、E2EXf。
5. RTE生成
5.a: 顶层组合
- 将Rba_ComXfAdp SWC添加到顶层组合中。
- 顶层组合端口连接:将COM基础转换器适配器组件的端口与组合中其他组件的端口连接。
5.b: ECU实例
- 将CPT_Rba_ComXfAdp映射到目标ECU实例。
5.c: ECU提取
- 通过右键点击系统 > 系统信息 > 系统并更新ECUExtract来生成ECUExtract。
5.d: Ecuc值收集
- 更新EcucValueCollection(RE映射),包括rba_ComXfAdp的RE以及示例中E2E SWC的RE。
5.e: RTE生成器
- 运行RTEGen生成RTE。
转换器链依赖于rba_ComXfAdp
Rba_ComXfAdp
(COM基础转换器适配器)是解决旧版RTE不支持转换器问题的一种替代方法。转换器链将由Rba_ComXfAdp、ComXf和E2EXf组成。- Rba_ComXfAdp基本上是位于RTE下方的ComplexDeviceDriver SWC,它接管了RTE的任务,即缓冲区处理和转换器(ComXf/SomeIfXf/E2EXf)的调用者。
ComXf模块
- COM基础转换器用作"序列化器"类别的数据转换器,位于E2EXf之前。E2EXf需要一个序列化转换器在前面,因为E2E保护是在数据元素的序列化表示上执行的。
- 在转换器链中,COM基础转换器始终是传输侧的第一个转换器,接收侧的最后一个,否则在配置期间会发生错误。
E2EXf模块
- 它接收序列化/线性化的数据(由ComXf模块转换为uint8数组),并使用E2E保护机制(例如添加CRC等)进行转换。
- 它提供E2E库所需的数据结构(简化和封装了配置和处理E2E库的复杂性)。
- 它负责正确调用E2E库和数据的预处理/后处理。
- 由于E2EXf模块,E2E转换器的调用者不需要知道E2E的内部情况。
- E2EXf使用E2E库,E2E保护的工作方式如下:
- 发送方:向传输数据添加控制字段,如CRC或计数器。
- 接收方:评估接收数据的控制字段。这是通过计算接收数据的控制字段(CRC等),将计算出的控制字段与预期/接收到的内容进行比较来完成的。
示例项目
- 此示例项目使用v9.1.1标准SK实现。
- 工具链配置:RTA-CAR 9.1.1工具链、ISOLAR-AB v 9.1.2、RTA-RTE v 7.4.3、RTA-BSW v 6.1.1、RTA-OS v 6.1.3。
配置
- 配置文件1和配置文件5的控制字段描述。
- 数据类型配置:包括ImplementationDataType、ApplicationDataType和DataMapping。
- 接口配置:为每个信号组配置SenderReceiverInterface。
- SWC端口配置:在相关SWC上配置端口,类型为SenderReceiverInterface,并为所有端口/数据配置DataAccessPoints。
系统配置
- DBC文件:更新/创建并导入描述通信数据的DBC文件。
- 系统数据映射:将SignalGroups及其Signals拖放到相应的端口。
- 数据转换集:配置DataTransformationSet,包括DataTransformation和TransformationTechnologies。
I信号组
- 配置所有I信号组,包括ComBasedSignalGroupTransformations > DataTransformationRefConditional和Transformation ISignal Prop > EndToEndTransformationISignalProps。
ECU提取
- 生成更新的ECUExtract。
文档免费下载链接:
https://download.csdn.net/download/qq_36750998/89620001