什么是数据转换
数据转换是将数据的格式,结构或者数值进行改变的过程。[1]
在AUTOSAR架构当中,ECU之间的数据通信往往也需要进行数据转换,例如SomeIp和E2E数据。
在平常的沟通当中,我们也经常以序列化(Serialization)称呼,也即将结构体对象转化为字节流,最终通过底层通信协议栈进行数据通信。
AUTOSAR数据转换的数据流
以上图为例,SWC需要发送数据,且数据在作为COM I-PDU发送出去之前,需要分别进行SomeIp和E2E的转换。
转换链的先后顺序需要由项目成员在设计工具中定义,这里,数据首先进行SomeIp的转换。
SomeIp转换器将结果(字节流)写到RTE提供的Buffer 1中。
然后,RTE再调用E2E转换器,将Buffer 1的数据作为输入,最终转换出的数据放入RTE提供的Buffer 2中。
最终,RTE将Buffer 2中的字节流传递给COM模块。
接口示例
这里,我们能够以具体接口的形式更加直观的了解数据流以及Buffer的使用。
基于COM的转换器
基于COM的转换器提供基于固定通信矩阵的序列化功能,这样可以以一种更加优化的方式将signal放入PDU当中。
例如,布尔值在PDU中可以只占用一个bit位,可以减少数据量,在Can/Lin这样的低数据载荷网络当中更加适用。
基于COM的转换器是整个转换链中的第一个。
根据COM的配置(通信矩阵),数据会被按照同样的大小端等设置进行序列化。
后续可以使用其他转换器添加CRC或序列号等信息。
最后转换器调用Com_SendSignalGroupArray接口请求COM模块进行发送。
参考
-
^What is data transformation: definition, benefits, and uses https://www.stitchdata.com/resources/data-transformation/
往期回顾
[Classic AUTOSAR 学习] Classic AUTOSAR方法论 ––– 入门篇
[Classic AUTOSAR学习] SWC设计与应用(一)–– 什么是SWC (Software Component)
[Classic AUTOSAR学习] SWC设计与应用(二)–– Port and Interface
[Classic AUTOSAR学习] SWC设计与应用(三)–– Communication Specification
[Classic AUTOSAR学习] SWC设计与应用(四)–– Data数据篇 (Data Type)
[Classic AUTOSAR学习] SWC设计与应用(五)–– Internal Behavior
[Classic AUTOSAR学习] SWC设计与应用(六)–– Implementation
[Classic AUTOSAR学习] Crypto模块里的Key/KeyType/KeyElement
[Classic AUTOSAR学习]AUTOSAR定义的几种加密服务
[Classic AUTOSAR学习] 简单理解Crypto Stack的配置以及执行流程
充电机与电池管理系统(BMS)之间的通信协议&V2G在AUTOSAR软件中的应用
AUTOSAR以太网——谁能给我讲讲MAC/PHY/MII/RMII/GMII/RGMII都是什么?
原文始发于微信公众号(车载嵌入式软件开发):[Classic AUTOSAR学习] AUTOSAR架构里的数据转换