AUTOSAR图解==>AUTOSAR_SWS_E2ETransformer
AUTOSAR E2E Transformer详解基于AUTOSAR尺度的端到端通讯保护变更器技术解析目次
[*]1. E2E Transformer概述
[*]1.1 E2E Transformer的作用
[*]1.2 功能特点
[*]1.3 应用场景限定
[*]2. 模块架构
[*]2.1 架构计划
[*]2.2 与其他模块的关系
[*]3. 初始化与状态机
[*]3.1 模块状态流转
[*]3.2 初始化与去初始化
[*]4. 保护功能实现
[*]4.1 保护函数流程
[*]4.2 缓冲区处置处罚
[*]5. 设置与数据流
[*]5.1 设置结构层次
[*]5.2 数据流处置处罚
[*]6. 总结
1. E2E Transformer概述
1.1 E2E Transformer的作用
E2E Transformer是AUTOSAR基础软件中安全类模块的重要构成部分,提供端到端通讯保护功能。它在安全相干软件组件间通讯过程中确保数据完备性,纵然数据需要穿越被视为"黑通道"的QM(及格级)通讯栈。
E2E Transformer主要负担以下职责:
[*]根据设置调用E2E Library的保护和查抄功能
[*]实例化E2E设置和状态数据结构
[*]在不修改应用层接口的情况下提供数据保护
[*]作为RTE(运行时情况)和E2E Library之间的桥梁
1.2 功能特点
E2E Transformer的关键功能特点包括:
[*]一对一映射关系:数据元素与I-信号之间存在一对一的映射关系
[*]接收端扇出:一个I-信号可以映射到多个数据元素(接收端)
[*]设置机动性:支持差异的E2E设置文件(Profile P1/P2/P4/P5/P7/P11/P22)
[*]透明处置处罚:对于不读取状态码的接收SWC完全透明
[*]编译时变体:支持链接时和后构建可选设置变体
[*]跳过E2E查抄:可设置某些接收方跳过E2E查抄
1.3 应用场景限定
当前E2E Transformer受限于以下应用场景:
[*]仅支持发送者-接收者通讯(无客户端-服务器)
[*]仅考虑软件组件间的周期性通讯(无事件触发)
[*]仅考虑ECU间通讯(通过COM堆栈互换)
[*]仅支持队列发送者-接收者通讯的非阻塞特性
2. 模块架构
2.1 架构计划
下图展示了AUTOSAR E2E Transformer的整体架构计划:
https://i-blog.csdnimg.cn/direct/c53f42c6233a45cabb0f53831f05c320.png#pic_center
从架构图中可以看出,E2E Transformer处于应用层软件组件与通讯栈之间的中心位置,主要由以下几部分构成:
[*]E2EXf_<transformerId>保护函数:在发送端被RTE调用,负责对数据进行E2E保护
[*]E2EXf_<transformerId>查抄函数:在接收端被RTE调用,负责对数据进行E2E查抄
[*]E2EXf_Init:模块初始化函数,负责初始化状态数据
[*]E2EXf_DeInit:模块去初始化函数,负责整理资源
E2E Transformer封装了E2E设置和处置处罚的复杂性,对调用者(RTE)提供尺度的变更器接口。通过这种计划,调用E2E Transformer的组件无需了解内部的E2E处置处罚细节。
2.2 与其他模块的关系
E2E Transformer与周边模块的关系如下:
[*]与RTE的关系:被RTE调用,通过RTE的API(读、写、发送、接收)提供服务
[*]与E2E Library的关系:调用E2E Library提供的功能,执行实际的保护和查抄算法
[*]与通讯栈的关系:通过通讯栈(COM、PDU Router等)传输被E2E保护的数据
[*]与应用层的关系:为安全相干软件组件和QM软件组件提供透明的数据保护
现在,E2E Transformer支持以下RTE函数:
[*]Rte_Write/Rte_Read
[*]Rte_IWrite/Rte_IRead
[*]Rte_Send/Rte_Receive
未来版本计划扩展支持客户端/服务器功能。
3. 初始化与状态机
3.1 模块状态流转
E2E Transformer模块的状态流转如下图所示:
https://i-blog.csdnimg.cn/direct/d224025b38bc40e2849da3aded86bc2e.png#pic_center
E2E Transformer模块具有三种主要状态:
[*]未初始化状态:模块启动的初始状态,此时模块状态标志为FALSE
[*]已初始化状态:通过调用E2EXf_Init()进入,此时模块状态标志为TRUE
[*]去初始化状态:通过调用E2EXf_DeInit()进入,重置模块状态标志为FALSE
3.2 初始化与去初始化
E2E Transformer的初始化过程包括两个主要部分:
[*] 状态数据初始化:
[*]初始化E2E_PXXCheckStateType范例的状态数据资源
[*]初始化E2E_SMCheckStateType范例的状态数据资源,通过调用相应的E2E_SMCheckInit()方法
[*] 设置数据初始化:
[*]初始化EndToEndTransformationDescription设置
[*]初始化EndToEndTransformationISignalProps设置
[*]初始化EndToEndTransformationComSpecProps设置
特别留意:假如E2E Transformer模块未正确初始化(即E2EXf_Init()未乐成调用),所有天生的E2E Transformer API都会立即返回E_SAFETY_HARD_RUNTIMEERROR错误。这是一种安全机制,确保只有在模块正确初始化后才气使用其功能。
4. 保护功能实现
4.1 保护函数流程
E2E Transformer的保护函数E2EXf_<transformerId>的处置处罚流程如下图所示:
https://i-blog.csdnimg.cn/direct/ccac81c689f4495ea1e8ceee5f8c3e63.png#pic_center
保护函数处置处罚流程包括以下关键步骤:
[*]初始化查抄:查抄模块是否已初始化,未初始化则返回错误
[*]参数校验:根据处置处罚模式(原地/非原地)验证输入参数有用性
[*]缓冲区处置处罚:根据设置参数处置处罚原始头部数据
[*]E2E保护:调用E2E_PXXProtect函数添加E2E保护头信息
[*]结果返回:根据处置处罚结果返回相应状态码
4.2 缓冲区处置处罚
E2E Transformer支持两种缓冲区处置处罚模式:
[*] 原地处置处罚(In-place):
[*]使用同一缓冲区作为输入和输出
[*]通过向左移动方式为E2E头部腾出空间
[*]性能上风:减少复制操纵和缓冲区使用
[*] 非原地处置处罚(Out-of-place):
[*]使用单独的输入缓冲区和输出缓冲区
[*]将输入缓冲区内容复制到输出缓冲区的得当位置
[*]盘算并设置新的缓冲区长度
对于原始头部数据的处置处罚,关键参数是upperHeaderBitsToShift,它控制需要移位的原始头部位数。
5. 设置与数据流
5.1 设置结构层次
E2E Transformer使用三级层次的设置结构,如下图所示:
https://i-blog.csdnimg.cn/direct/a3efc0c9fac44a648af278bf038956b6.png#pic_center
E2E Transformer的设置结构包括以下三个层次:
[*] EndToEndTransformationDescription:
[*]最低优先级设置
[*]设置多个ISignal共享的E2E设置文件
[*]界说Profile范例、upperHeaderBitsToShift等参数
[*] EndToEndTransformationISignalProps:
[*]中心优先级设置
[*]界说针对特定ISignal的设置选项
[*]包含dataLength、dataBitPosition等参数
[*] EndToEndTransformationComSpecProps:
[*]最高优先级设置
[*]可覆盖特定ReceiverComSpec的设置选项
[*]包含disableEndToEndCheck、maxDeltaCounter等参数
设置的优先级顺序确保了机动性,允许在差异级别进行设置覆盖。这对于处置处罚接收端扇进场景(一个I-信号映射到多个数据元素)尤为重要。
5.2 数据流处置处罚
E2E Transformer的数据流包含两个主要部分:
[*] 发送方数据流:
[*]数据 -> E2EXf_<transformerId> -> E2E_PXXProtect
[*]添加CRC、计数器等E2E头部信息
[*]根据需要处置处罚原始头部数据
[*] 接收方数据流:
[*]数据 -> E2EXf_<transformerId> -> E2E_PXXCheck
[*]验证CRC、计数器等E2E头部信息
[*]状态机评估数据安全状态
[*]可设置关闭E2E查抄(disableEndToEndCheck=TRUE)
特别留意,假如接收方设置了disableEndToEndCheck=TRUE,E2E Transformer将跳过E2E查抄,仅执行缓冲区处置处罚操纵。这在接收端扇进场景中非常有用,可以让某些QM(及格级)接收者跳过E2E查抄。
6. 总结
AUTOSAR E2E Transformer作为安全相干通讯的关键组件,提供了在尺度通讯堆栈上实现端到端数据保护的能力,主要上风包括:
[*]尺度接口:遵照AUTOSAR变更器通用规范,提供尺度化接口
[*]保护透明性:对不关注E2E状态的软件组件完全透明
[*]机动设置:支持三层设置结构,提供差异级别的设置覆盖能力
[*]多种处置处罚模式:支持原地和非原地缓冲区处置处罚,适应差异性能需求
[*]可选E2E查抄:允许某些接收方跳过E2E查抄,实用于QM组件接收数据场景
E2E Transformer通过封装E2E设置和处置处罚的复杂性,简化了安全相干数据传输的实现。它不需要了解E2E内部细节,仅负责根据设置调用E2E Library,使得安全通讯的实现更加机动和尺度化。
未来版本中,E2E Transformer将扩展支持客户端/服务器功能,并可能放宽当前的应用场景限定,进一步提升其在AUTOSAR平台中的实用性。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]