【AUTOSAR】 项目和代码详解(十)----AUTOSAR ComM 配置

ComM

概要

通信管理器模块(COM Manager, ComM)是基本软件(BSW)的一个组件。它是一个资源管理器,封装了对底层通信服务的控制。通信模块控制与通信有关的基本软件模块,而不是软件组件或可运行实体。ComM模块收集来自通信请求者的总线通信访问请求,并协调总线通信访问请求。

通讯模块的目的是:

为用户简化总线通信堆栈的使用。这包括简化的网络管理处理。

协调一个ECU上多个独立软件组件的总线通信栈的可用性(允许发送和接收信号)。

提供一个API来禁用发送信号,以防止ECU(主动)唤醒通信总线。

通过为每个通道实现通道状态机来控制ECU的多个通信总线通道。

提供强制ECU使总线处于“无通信”模式的可能性。

通过分配请求的通信模式所需的所有资源来简化资源管理。

 

模块配置

ETAS ISOLAR中主要配置或修改内容如下:

ComMGeneral

 

ComMDevErrorDetect

打开或关闭开发错误检测和通知。

ComMDirectUserMapping

如果该参数设置为true,则配置工具将自动为每个ComMPnc创建一个ComMUser,为每个ComMChannel创建一个ComMUser。

ComMEcuGroupClassification

定义模式抑制是否影响ECU。

000:没有模式抑制可以激活

001:唤醒抑制可以激活

ComMModeLimitationEnabled

如果要启用模式限制功能,则为真。

ComMPncGatewayEnabled

启用或禁用对部分网络网关的支持。

ComMPncPrepareSleepTimer

PNC状态机在COMM_PNC_PREPARE_SLEEP中等待的时间(以秒为单位)。

ComMPncSupport

启用或禁用对部分网络的支持。

ComMResetAfterForcingNoComm

通信应执行复位后,进入“无通信”模式,因为活动模式限制到“无通信”模式。

ComMSynchronousWakeUp

一个通道的唤醒将导致所有通道的唤醒,如果为TRUE。

ComMTMinFullComModeDuration

最小持续时间(以秒为单位),停留在COMM_FULL_COMMUNICATION子状态COMM_FULL_COM_NETWORK_REQUESTED上。

ComMVersionInfoApi

切换使用服务ComM_GetPublishedInformation()读取已发布信息的选项。

ComMWakeupInhibitionEnabled

如果唤醒抑制功能启用,则为真。

ComMGlobalNvMBlockDescriptor

引用包含非易失性数据的NVRAM块。如果未配置此参数,则不使用NVRam。

ComMConfigSet\ComMUser

此容器包含一个标识符列表,这些标识符用于引用系统中指定为请求通信模式的用户。

 

ComMUser

标识用于在系统中引用指定为请求通信模式的用户。

ImplementationType: ComM_UserHandleType

ComMUserEcucPartitionRef

表示在其中执行请求者的分区“EcucPartition”。当分区停止时,通信请求将被取消通信以避免由于一个停止的分区而导致总线保持清醒的情况。

ComMConfig\ComMChannel

此容器包含总线通道的配置(参数)。通道参数应在整个通信栈内协调。

 

ComMBusType

标识通道的总线类型。

 

ComMCDDBusPrefix

用于对CDD的API调用的前缀。

ComMChannelId

对应信道的信道标识号。

ComMFullCommRequestNotificationEnabled

定义是否为该通道提供接口ComM_CurrentChannelRequest的可选SenderReceiver端口。

ComMMainFunctionPeriod

指定触发主函数的周期。

ComMNoCom

不允许将ComM通道的状态更改为COMM_SILENT_COMMUNICATION或COMM_FULL_COMMUNICATION。

true:启用-不允许切换到上述通信模式。

false:禁用-允许切换上述通信模式。

ComMNoWakeup

定义是否不允许ECU唤醒通道。

true:启用(不允许唤醒)

false:禁用

ComMNoWakeUpInhibitionNvmStorage

如果该参数设置为“true”,则通道的NoWakeUp抑制状态应存储在ComMGlobalNvmBlockDescriptor所指向的块中。

ComMPncGatewayType

标识一个通信信道的部分网关行为。

ComMConfig\ ComMChannel \ComMNetworkManagement

ComMNmLightTimeout

定义COMM_FULL_COMMUNICATION子状态COMM_FULL_COM_READY_SLEEP剩余后的超时(以秒为单位)。

ComMNmVariant

定义网络管理的功能。应与NM配置协调一致。

 

ComMPncNmRequest

如果该参数等于true,那么每次由于PNC状态机更改为comm_pnc_nm而请求完整通信时,都应该使用API Nm_NetworkRequest调用。

ComMConfig\ ComMChannel \ ComMUserPerChannel

ComMUserChannel

引用对应于此通道用户的ComMUser。

ImplementationType: COMM_UserHandleType

ComMConfig\ComMPnc

 

ComMPncId

局部网络群集标识号。

ComMChannelPerPnc

引用此PNC所需的ComMChannel。

ComMPncEthIfSwitchPortGroupRef

对对应于此PNC的portgroup的引用。

ComMUserPerPnc

引用对应于此PNC的ComMUsers。

ComMConfig\ComMPnc\ComMPncComSignal

ComMPncComSignalDirection

指示该PncComSignal的通信方向。

ComMPncComSignalKind

指示此PncComSignal是否表示EIRA或ERA PNC信息。

这个参数ComMPncComSignalKind是可选的,当ComMPncComSignalDirection等于TX时应该忽略它。

ComMPncComSignalChannelRef

引用用于确定该PncComSignal应参与主动角色还是被动角色的ComMChannel(通过ComMChannel的参数ComMPncGatewayType)。

ComMPncComSignalRef

参考用于传输部分网络信道请求信息的通信信号。

自动配置生成

参考CanIf自动配置内容。

参考文档

[1] AUTOSAR_SWS_COMManager.pdf

[2] RTA-BSWReferenceGuide.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大道生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值