ComXf产品参考手册
缩写词注解
缩写词 |
英文全称 |
中文解释 |
ComXf |
COM Based Transformer |
Com通信序列化 |
RTE |
Runtime environment |
运行时环境 |
COM |
Communication Stack |
通信栈 |
DET |
Default Error Tracer |
开发错误检测 |
简介
数据序列化功能在AUTOSAR架构中属于RTE的功能点,为适配无RTE项目的集成需求,将ComXf作为序列化模块Xfrm中的子模块实现。
图1-1 ComXf模块层次图
ComXf模块处于AUTOSAR架构中RTE层,主要实现Com中Signal Group(Array)数据的序列化与反序列化功能,使得在Com层将Signal Group(Array)数据作为整体封装在I-PDU中,或者从I-PDU中作为整体解析。
参考资料
[1] AUTOSAR_SWS_COMBasedTransformer.pdf,R19-11和4.2.2
[2] AUTOSAR_SWS_COM.pdf,R19-11和4.2.2
[3] AUTOSAR_SRS_COM.pdf,R19-11和4.2.2
功能描述
数据序列化功能
数据序列化功能介绍
将字节对齐的SignalGroup中关联的N个GroupSignal根据其在Com中的
配置信息,通过ComXf序列化将各个GroupSignal信号值封装到序列化数据中。
数据序列化功能实现
ComXf通过Ref到Com中各个GroupSignal的起始位置,信号长度,大小端,信号类型,未使用位默认值等信息。将关联的各个GroupSignal同时封装到序列化数据中,保证SignalGroup的数据一致性。
数据反序列化功能
数据反序列化功能介绍
从字节对齐的序列化数据中将关联的N个GroupSignal根据其在Com中的配置信息,通过ComXf反序列化将各个GroupSignal信号值解析出来。
数据反序列化功能实现
ComXf通过Ref到Com中各个GroupSignal的起始位置,信号长度,大小端,信号类型等信息。将关联的各个GroupSignal信号值从序列化数据中解析出来。
源文件描述
表3-1 ComXf组件文件描述
文件 |
说明 |
ComXf_Cfg.h |
定义ComXf模块PC配置的宏定义。 |
ComXf_Cfg.c |
定义ComXf模块PC/PB配置的结构体参数。 |
ComXf.h |
实现ComXf模块全 部外部接口的声明,以及配置文件中全局变量的声明。 |
ComXf.c |
作为ComXf模块的核心文件 ,实现ComXf模块全部对外接口,以及实现ComXf模块功 能所必须的local函数,local宏定义,local变量定义。 |
ComXf_MemMap.h |
实现ComXf模块内存布局。 |
图3-1 ComXf组件文件交互关系图
API接口
类型定义
ComXf_ConfigType类型定义
名称 |
ComXf_ConfigType |
类型 |
struct |
范围 |
无 |
描述 |
ComXf模块PB配置结构体类型 |
<paramtype>类型定义
名称 |
<paramtype> |
类型 |
struct |
范围 |
无 |
描述 |
ComXf模块中序列化/反序列化参数类型(根据配置生成) |
输入函数描述
无。
静态接口函数定义
ComXf_Init函数定义
函数名称: |
ComXf_Init |
||
函数原型: |
void ComXf_Init(const ComXf_ConfigType* config) |
||
服务编号: |
0x01 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
config |
值 域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
ComXf模块初始化 |
ComXf_DeInit函数定义
函数名称: |
ComXf_DeInit |
||
函数原型: |
void ComXf_DeInit (void) |
||
服务编号: |
0x02 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
无 |
值 域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
无 |
||
返回值: |
无 |
||
功能概述: |
ComXf模块反初始化 |
ComXf_GetVersionInfo函数定义
函数名称: |
Com Xf_GetVersionInfo |
||
函数原型: |
void Com Xf_GetVersionInfo ( Std_ VersionInfoType* VersionInfo) |
||
服务编号: |
0x00 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
无 |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
VersionInfo |
||
返回值: |
无 |
||
功能概述: |
获取 模块软件版本信息 |
ComXf_<transformerId>函数定义
函数名称: |
C omXf_Transformer0 |
||
函数原型: |
uint8 Co mXf_Transformer0( uint8* buffer, uint16* bufferLength, const ComXf_Tr ansformer0_Type* dataElement) |
||
服务编号: |
0x03 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
dataElement |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
buffer bufferLength |
||
返回值: |
uint8:0x00 (E_OK)/ 0x81 (E_S ER_GENERIC_ERROR) |
||
功能概述: |
复杂数据序列化 |
ComXf_Inv_<transformerId>函数定义
函数名称: |
ComXf _Inv_Transformer0 |
||
函数原型: |
uint8 ComXf_ Inv_Transformer0( const uint8* buffer, uint16 bufferLength, Co mXf_Transformer0_ Type*dataElement) |
||
服务编号: |
0x04 |
||
同步/异步: |
同步 |
||
是 否可重入: |
是 |
||
输入参数: |
buffer bufferLength |
值域: |
无 |
输入 输出参数: |
无 |
||
输出参数: |
dataElement |
||
返回值: |
uint8:0x00 (E_OK)/ 0x81 (E_S ER_GENERIC_ERROR) |
||
功能概述: |
将序列化数 据解析成复杂数据 |
可配置函数定义
无。
配置
ComXfGeneral
图5-1 ComXfGeneral
表5-1 ComXfGeneral
UI名称 |
描述 |
|||
ComXf DevErrorDetect |
取值范围 |
true/false |
默认取值 |
true |
参数描述 |
是否 使能DET开发错误检测 |
|||
依赖关系 |
依赖于Det模块的支持 |
|||
ComXf VersionInfoApi |
取值范围 |
true/false |
默认取值 |
false |
参数描述 |
是否 使能获取模块软件版本 |
|||
依赖关系 |
无 |
ComXf_Transformer
图5-2 ComXf_Transformer
表5-2 ComXf_Transformer
UI名称 |
描述 |
|||
API_Name |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
数据序列 化/反序列化接口名 |
|||
依赖关系 |
根据XfrmSignalGr oupRef关联的Signa lGroup名自动生成; API_Nam e必须要有值,依赖 于关联的Com中Sig nalGroup属于的Pdu 的收发属性配置(C omIPduDirection) |
|||
D ataElement_Type |
取值范围 |
string |
默认取值 |
无 |
参数描述 |
序列化/反序列 化参数数据类型名 |
|||
依赖关系 |
根据ComXf_Tran sformer名自动生成 |
|||
Xfr mSignalGroupRef |
取值范围 |
引用 Com中SignalGroup |
默认取值 |
无 |
参数描述 |
关 联到Com模块中Sig nalGroup(Array) |
|||
依赖关系 |
依赖于Com配 置的SignalGroup; XfrmSignalGr oupRef关联的Com中 SignalGroup配置项 ComSignalGroupArr ayAccess必须勾选; XfrmGroup SignalRef关联的Gr oupSignal的信号类 型不能为UINT8_DYN |
|||
Xfr mGroupSignalRef |
取值范围 |
引用 Com中GroupSignal |
默认取值 |
无 |
参数描述 |
关 联到Com模块中Sig nalGroup(Array) 包含的GroupSignal |
|||
依赖关系 |
依赖于Com 配置的GroupSignal |