zl程序教程

您现在的位置是:首页 >  其它

当前栏目

Autosar-ComM浅谈

浅谈
2023-09-14 09:15:30 时间


一、ComM概述

ComM全称是Communication Manager,顾名思义就是通信的管理,是BSW(基本软件)服务层的一个组件。

ComM的作用:
为用户简化Communication Stack的使用,包含一个简单的网络管理
搜集通讯请求者对于通讯访问的请求,协调总线访问请求
提供API去禁止信号发送,以免ECU唤醒总线
在每一个总线通道实现一个状态管理从而控制一个或多个通讯总线通道>

二、和其他模块的依赖关系

comm
每个模块和ComM的主要交互功能如下:
RTE:每个用户都可以请求通信模式。RTE传播用户向通信模块发出请求,并将来自ComM的通知告诉APP。
EcuM:负责验证唤醒事件,然后发送指示到ComM,ComM切换到COM模式。ECU通讯的允许和关闭是由EcuM和BswM一起完成。
BswM:配置Com相关的Action和Rules,从而控制相关的通信,同时通信状态的改变也会报告给BswM,在EcuM Flex下,BswM也会将Com允许通信的功能告诉ComM。
NvM:负责处理与ComM相关的Nv Data操作。
xxxSM:包括了具体的通信媒介的状态管理,如CanSM、LINSM、EthSM、FrSM等,控制实际的总线状态,ComM请求xxxSM进行相关的状态转换,并传递到总线上。
NM:同步整个Ecu总线的开关。DCM:执行和诊断相关的ComM请求。
Com:通过Com信号区分PNC的状态信息。
DET:用于在开发中追溯ComM开发相关的错误。

三、ComM通道状态机

ComM通道状态机包含三种:
①COMM_NO_COMMUNICATION
②COMM_SILENT_COMMUNICATION
③COMM_FULL_COMMUNICATION
Channel

ComM channel state machine

每一个ComM通道默认的状态是COMM_NO_COMMUNICATION

ComM模式与通讯能力关系表

Communication ModeMessage TransmissionMessage ReceptionNM(COMM_NM_VARIANT=FULL)Wake-up/Restart capability
COMM_NO_COMMUNICATIONOnOnBus Communication requestedN/A
COMM_SILENT_COMMUNICATIONOffOnBus Communication releasedUser/diagnostic request;Network indication
COMM_FULL_COMMUNICATIONOffOffBus Communication releasedUser/diagnostic request;Passive wake-up

四、ComM中的PNC

ComM主要是对通信协议栈进行服务控制的模块,在通信网络中和通信控制密切相关的功能主要会结合网络管理进行控制和使用,ComM模块对网络管理中每一个PNC(partial network cluster)实现了一个状态控制,能够请求和释放一个PNC的网络通信进行通信的控制。

在CAN和FR通信模式下,ComM的User会根据需要在主动唤醒模式下将NM报文中的UserData中对应的Bit设置为1,如果不请求特定的PNC,那么将该Bit设置为0,同时xxxNM模块会将对应的Bit通过COM中信号传递到ComM模块。每个PNC的状态切换如下所示:
PNC