Autosar ComM模块(communication manager)

概述

中央处理单元,处理通信请求并管理数据流。核心职责包括信号处理、通信模式管理和网络管理。它是一个资源管理器,封装了对底层通信服务的控制。ComM 模块控制与通信相关的基础软件模块,而不是软件组件或可运行实体。ComM 模块从通信请求方收集总线通信访问请求,并协调总线通信访问请求。
ComM作用:
1、简化用户对总线通信栈的使用。这包括简化的网络管理处理。

2、协调一个 ECU 上多个独立软件组件的总线通信栈的可用性(允许发送和接收信号)。用户不应了解硬件(例如在哪个通道进行通信)。用户只需请求“通信模式”,ComM 模块便会打开/关闭相应通道的通信功能。

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

4、通过为每个通道实现通道状态机来控制 ECU 的多个通信总线通道。(ComM 模块从相应的总线状态管理器模块请求通信模式。实际总线状态由相应的总线状态管理器模块控制。)

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

相关模块联系

  • AUTOSAR 运行时环境 (RTE)
    每个用户都可以请求通信模式。RTE 将用户请求传播到 ComM 模块,并将 ComM 的通信模式指示传播到用户。

  • ECU状态管理器(EcuM)

    EcuM 有两种不同的变体,称为 EcuM-Fixed 和 EcuM-Flex。EcuM-Fixed 负责 ComM 的初始化。两个 EcuM 还负责验证唤醒事件,并在验证唤醒时向 ComM 发送指示。EcuM-Fixed 将向 ComM 指示是否允许启动通信。然后,EcuM-Fixed 必须向 ComM 查询 ECU 是否可以关闭,即通信是否正在进行。(一般是这种)如果使用 EcuM-Flex,上述功能(允许通信和关闭 ECU)将由 EcuM-Flex 与 BswM 一起处理。

  • 基本软件模式管理器 (BswM)

    BswM 实现了两种功能模式仲裁和模式控制,以允许应用应用程序模式管理和车辆模式管理。
    如果在 BswM 的动作列表中配置为能够通过 BswM 请求 ComM 模式,则 BswM 会将用户请求传播到 ComM 模块。如果在动作列表中配置了 Com_IpduGroupControl 的调用,则 BswM 会控制 AUTOSAR 通信模块 (COM) 中的 PDU 组。

  • 诊断通信管理器 (DCM)

    DCM负责诊断pdu的调度。DCM作为用户通过请求通信模式COMM_FULL_COMMUNICATION
    “DCM_ActiveDiagnostic”表示需要进行诊断。DCM可以不提供API来启动/停止发送和接收,但保证
    通信能力是根据ComM模块进行通信的模式。

  • CanSM
    CAN 状态管理器控制与 ComM 模块的通信模式相对应的 CAN 总线的实际状态。ComM 模块从 CAN 状态管理器请求通信模式,而 CAN 状态管理器将通信模式映射到总线状态。

  • 网络管理 (NM)

    ComM 模块使用 NM 在整个网络中同步通信功能的控制(同步启动和关闭)。

ComM网络管理相关配置


通道上支持的Network Management Variant

  • FULL,使用AUTOSAR NM。(autosar 网络管理)
  • PASSIVE,AUTOSAR NM,但不允许ECU保持网络处于唤醒状态。不允许将用户分配到此通道。ComM忽略DCM在该信道上的通信请求。通道的ComMNoCom参数必须设置为true。
  • LIGHT,不使用AUTOSAR NM,但通过超时同步关机,该超时由参数ComMNmLightTimeout配置。
  • NONE,不使用AUTOSAR NM,不支持关机同步。也就是说,一旦通道达到COMM_FULL_COMMUNICATION模式,它将永远保持。通过断电或复位来停止通信。ComM忽略用户请求的COMM_NO_COMMUNICATION模式和请求的No Communication mode limit。

注:此参数应与网管模块(如有)的配置一致。依赖性:对于总线类型为INTERNAL的通道,仅支持Nm Variant LIGHT。

ComM状态机


系统上电后进入到COMM_NO_COMMUNICATION,表示ComM通信的Lowest状态,在该状态下具有下面两个子状态:

COMM_NO_COM_NO_PENDING_REQUEST

COMM_NO_COM_REQUEST_PENDING

COMM_FULL_COMMUNICATION表示ComM通信的Highest状态,在该状态下总线可以进行正常的数据通信在该状态下具有下面两个子状态:COMM_FULL_COM_NETWORK_REQUESTED和COMM_FULL_COM_READY_SLEEP。
COMM_NO_COM_NO_PENDING_REQUEST

该状态是在初始化完成ComM后的状态,该状态下总线不能进行任何的通信活动,需要请求通信进入到Full Communication才可以,主要来自于

① 用户请求User Request;

② DCM Notification需要激活对应的通道;

③ 来自于EcuM或者NM的Passive WakeUp通知。

COMM_NO_COM_REQUEST_PENDING

该状态下等待Communication Allowed的触发信号,如果Allowed请求发生才能将通信模式转换为Full模式下,进行数据通信,如果没有Allowed的使能,则对Communication的FULL请求将不会被执行。

状态跳变

1、 COMM_NO_COMMUNICATION→COMM_FULL_COMMUNICATION

在子状态COMM_NO_COM_NO_PENDING_REQUEST和唤醒指示由EcuM模块指示,
ComM_EcuM_WakeUpIndication().ComM通道状态机立即切换到子状态
COMM_NO_COM_REQUEST_PENDING;

当子状态为COMM_NO_COM_NO_PENDING_REQUEST时,NM模块表示重启,ComM_Nm_RestartIndication()时,ComM通道状态机立即切换到子状态COMM_NO_COM_REQUEST_PENDING。(ComM通道状态机进入 COMM_FULL_COMMUNICATION状态后,立即切换到子状态 COMM_FULL_COM_NETWORK_REQUESTED。如果没有用户请求 COMM_FULL_COMMUNICATION模式,则AUTOSAR NM响应。 ComMTMinFullComModeDuration的ComM 模块定时器防止 在COMM_NO_COMMUNICATION和 COMM_FULL_COMMUNICATION之间切换,以克服 系统的init-/启动时间,在可能的用户请求发生之前。)

在子状态COMM_NO_COM_NO_PENDING_REQUEST和
配置参数ComMSynchronousWakeUp=TRUE和EcuM指示通道唤醒指示
时,ComM模块应立即切换所有ComM通道状态机。通道)到子状态
COMM_NO_COM_REQUEST_PENDING.

当子状态COMM_NO_COM_NO_PENDING_REQUEST和
用户请求COMM_FULL_COMMUNICATION和通信限制
被禁用时,ComM通道状态机
应立即切换到子状态COMM_NO_COM_REQUEST_PENDING.

在子状态COMM_NO_COM_NO_PENDING_REQUEST下,配置参数ComMNmVariant=FULL|LIGHT|NONE, DCM指示ComM_DCM_ActiveDiagnostic,则ComM通道状态机立即切换到子状态COMM_NO_COM_REQUEST_PENDING

2、 COMM_FULL_COMMUNICATION→COMM_NO_COMMUNICATION

状态为COMM_FULL_COMMUNICATION,且Network Manager模块显示ComM_Nm_BusSleepMode() SWS_ComM_00392时,ComM通道状态机切换到状态 COMM_NO_COMMUNICATION.

ComM时序图

Transmission and Reception start (CAN) 发送和接收启动(CAN)

显示了CAN上启动发射和接收的顺序。 的行为是相等的LIN, FlexRay和以太网只是不同的API 名称。

用户在ComM模块调用CanSM_RequestComMode请求CanSM开启CAN通信,CanSM开启通信后调用ComM_BusSM_ModeIndication通知到ComM当前CAN通道Channel已经切换到COMM_FULL_COMMUNICATION状态了。ComM随后调用CanNM模块的Nm_NetworkRequest(主动唤醒)或者Nm_PassiveStartup(被动唤醒)接口开启该通道的网络管理。

Passive Wake-up (CAN) 被动唤醒(CAN)

EcuM调用ComM_EcuM_WakeUpIndication通知到ComM模块ECU被唤醒,CanNM模块调用ComM_Nm_RestartIndication通知到ComM网络管理模块重启网络,随后NM调用ComM_Nm_NetworkStartIndication通知到ComM网络管理模块开始网络管理。ComM模块中CAN通道的状态从COMM_NO_COM_NO_PENDING_REQUEST切换到COMM_NO_COM_REQUEST_PENDING状态。ComM模块等待运行通信标志CommunicationAllowed=TRUE。允许通信后,ComM模块调用CanSM_RequestComMode请求COMM_FULL_COMMUNICATION通信。CanSM开启通道的通信后,ComM模块通道切换到COMM_FULL_COM_NETWORK_REQUESTED状态。随后,ComM模块调用Nm_PassiveStartUp请求NM被动开启网络管理,NM也调用ComM_Nm_NetworkMode通知到ComM当前NM的网络模式。

Communication request 通信请求

显示了在CAN上启动COMM_FULL_COMMUNICATION的可能性。它
既可以在用户请求COMM_FULL_COMMUNICATION
请求时启动,也可以在DCM指示ComM_DCM_ActiveDiagnostic时启动。LIN, FlexRay和
以太网的行为是相同的,只是API名称不同。

用户在Rte向ComM 请求 ComM_RequestComMode,同时Dcm模块向ComM模块请求ComM_DCM_ActiveDiagnostic ,有通信请求,则ComM 通道状态机立即切换到子状态 COMM_NO_COM_REQUEST_PENDING.。ComM模块等待运行通信标志CommunicationAllowed=TRUE。允许通信后,ComM模块调用CanSM_RequestComMode请求COMM_FULL_COMMUNICATION通信。CanSM开启通道的通信后,ComM模块通道切换到COMM_FULL_COM_NETWORK_REQUESTED状态。随后,ComM模块调用Nm_PassiveStartUp请求NM被动开启网络管理,NM也调用ComM_Nm_NetworkMode通知到ComM当前NM的网络模式。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: AUTOSARAutomotive Open System Architecture)是一个由汽车行业制定的标准化框架,旨在简化控制单元的开发和集成。AUTOSAR Comm是该框架中的通信模块,用于实现自动化系统之间的通信。 AUTOSAR Comm支持多种通信技术,包括CAN,FlexRay,以太网和LIN。它也支持多种通信协议,包括TCP/IP,UDS和OBD。 AUTOSAR Comm极大地简化了自动化系统之间的通信,减少了通信的复杂性和错误率。此外,该模块还允许系统开发人员配置和管理所有通信功能,包括网络管理,传输速率控制和错误检测和修复。 AUTOSAR Comm的另一个重要特点是允许不同的任务并行工作而不干扰其他任务。这种并行性可以显著提高系统的实时性和性能。 总体来说,AUTOSAR Comm是AUTOSAR框架中不可或缺的一部分,它为自动化系统提供最佳的通信解决方案,提高了系统的可靠性和性能。 ### 回答2: Autosar comm(通讯管理模块)是汽车电子系统中的一个重要模块,其主要作用是管理不同电子控制单元(ECU)之间的通讯。Autosar comm可以与不同类型的通讯协议进行交互,例如CAN、FlexRay和Ethernet等。 Autosar comm被设计为一个高度灵活和可配置的模块,可以满足不同车型和不同应用的需求。该模块支持多种通讯方式,包括点对点通讯、广播通讯和组播通讯等。此外,Autosar comm还可以提供安全性和可靠性保障,确保数据传输的准确性和稳定性。 Autosar comm还允许不同ECU之间的通讯能力进行组合,以便更高效地处理汽车电子系统的复杂性。例如,可以将不同的ECU组合成不同的通讯网络,以便控制和管理各种功能(例如车身电子、车载娱乐和安全系统)。 作为汽车电子系统的核心模块之一,Autosar comm的开发和使用需要高度专业的技术和经验。同时,开发人员还需要熟悉Autosar通讯架构和通讯协议,以确保模块的可靠性和有效性。最后,Autosar comm的成功应用需要紧密协作的厂商、供应商和开发人员之间的良好合作关系。 ### 回答3: AUTOSARAutomotive Open System Architecture)是一种用于开发汽车电子系统的开放式标准体系结构。AUTOSAR COMM(Communication Stack)是AUTOSAR体系结构中的一部分,负责在汽车电子系统中实现通信功能。通信是车辆电子系统中不可或缺的部分,因为它促进了不同的电子设备之间的交互和数据交换。 AUTOSAR COMM体系结构包括许多层次,每个层次都具有特定的功能。通信堆栈的底层是物理层,它通过汽车网络协议实现了车辆系统中不同硬件设备的互连。MAC层是介于物理层和网络层之间的层,它主要负责处理错误检测和纠正。网络层是主要的通信层,它负责数据包的路由和传输,并控制不同节点间的交互。传输层管理某个特定的连接,负责数据的抽象、传输和接收。最上层是应用层,它负责处理应用程序,例如交通信息或天气预报程序。 AUTOSAR COMM还提供了许多关键性的特性,例如传输层安全性、消息队列、时间同步等。这些特性是汽车电子系统中的关键组成部分,提供了更高效的通信和数据交换功能,提高了整个系统的性能和稳定性。 总之,AUTOSAR COMM是一种在汽车电子系统中实现通信功能的标准体系结构,它提供了各种层次的协议和特性,确保了快速和高效的数据交换和处理,从而提高了整个车辆系统的性能和可靠性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小昭dedug

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

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

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

打赏作者

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

抵扣说明:

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

余额充值