ComXf产品参考手册

缩写词注解

缩写词

英文全称

中文解释

ComXf

COM Based Transformer

Com通信序列化

RTE

Runtime environment

运行时环境

COM

Communication Stack

通信栈

DET

Default Error Tracer

开发错误检测

简介

数据序列化功能在AUTOSAR架构中属于RTE的功能点,为适配无RTE项目的集成需求,将ComXf作为序列化模块Xfrm中的子模块实现。

image1图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模块内存布局。

image2

图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

image3

图5-1 ComXfGeneral

表5-1 ComXfGeneral

UI名称

描述

ComXf DevErrorDetect

取值范围

true/false

默认取值

true

参数描述

是否 使能DET开发错误检测

依赖关系

依赖于Det模块的支持

ComXf VersionInfoApi

取值范围

true/false

默认取值

false

参数描述

是否 使能获取模块软件版本

依赖关系

ComXf_Transformer

image4

图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