DEENESPTFRRUARHIKOZHNL

Communication Manager (ComM)

ModulComM (Communication Manager)
BSW-Modul-ID12
Standard-Header#include "ComM.h"
SWS-SpezifikationAUTOSAR_SWS_COMManager.pdf
ClusterCommunication Services

模块指南人工智能生成

按通道将应用程序和诊断的通信愿望转换为总线状态与子网状态。
AI 生成 未审核 模型: claude-opus-5-5 · 推理强度: high · 温度: 不可控 · 提示词: cde05b56906a 来源 未决问题(3)
因果锚点:R20-11 自 R20-11 起有效 为此规范版本重新合成。
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

按通道将应用程序和诊断的通信愿望转换为总线状态与子网状态。

Communication Manager 按通道将 SW-C、BswM 和 DCM 的通信愿望转换为对总线状态管理器的请求,并将实际模式反馈给用户([SWS_ComM_00958])。为此,它为每个通道维护一个包含 No Communication、Silent Communication 和 Full Communication 的状态机。其转换取决于用户请求、唤醒通知、CommunicationAllowed 释放以及网络管理。它可以选择管理子网,在 R20-11 中还包含仍作为草案管理的动态 PNC 到通道映射。最重要的边界条件:用户仅能请求 No 或 Full,且处于激活状态的限制会以 COMM_E_MODE_LIMITATION 拒绝 Full 请求([SWS_ComM_00110])。

ComM 汇聚 SW-C、BswM 和 DCM 的通信愿望(SWS ComM 第30页)。它按通道将其转换为对 <BusSm>_RequestComMode() 的调用([SWS_ComM_00958])。它通过 RTE 和 BswM 将实际总线模式返回给用户([SWS_ComM_00675])。EcuM 或 BswM 通过 ComM_CommunicationAllowed 控制通信是否根本被允许([SWS_ComM_00871])。

kontext SWC SW-C / RTE (ComM-Nutzer) ComM ComM SWC->ComM ComM_RequestComMode Dcm DCM Dcm->ComM ComM_DCM_ActiveDiagnostic ComM_DCM_InactiveDiagnostic EcuM EcuM EcuM->ComM ComM_EcuM_WakeUpIndication ComM_CommunicationAllowed BswM BswM BswM->ComM ComM_CommunicationAllowed Limitierung / Weck-Inhibition ComM->SWC ComM_CurrentMode ComM->BswM Modusmeldung Nm Nm ComM->Nm Netzwerk anfordern / freigeben BusSM <Bus>SM (CanSM, LinSM, FrSM, EthSM) ComM->BusSM <Bus>SM_RequestComMode NvM NvM ComM->NvM NvM_ReadBlock / NvM_WriteBlock Nm->ComM ComM_Nm_NetworkMode ComM_Nm_PrepareBusSleepMode ComM_Nm_BusSleepMode BusSM->ComM ComM_BusSM_ModeIndication

上下文图:处于用户、EcuM/BswM、DCM、Nm 和总线状态管理器之间的 ComM。来源:SWS ComM 第17页、[SWS_ComM_00958]

每个通道拥有独立的状态机,包含 No Communication、Silent Communication 和 Full Communication 模式及其子状态([SWS_ComM_00674])。用户仅允许请求 No 和 Full;Silent 用于 NM 同步(SWS ComM 第30页)。状态转换取决于 ComMNmVariant。在 FULL 或 PASSIVE 下,Prepare-Bus-Sleep 会导致转换至 Silent([SWS_ComM_00826])。对于 SLAVE 通道,总线状态管理器的 Bus-Sleep 消息将终止通信([SWS_ComM_01018])。

kanal cluster_no COMM_NO_COMMUNICATION cluster_full COMM_FULL_COMMUNICATION start NoPend COMM_NO_COM_NO_PENDING_REQUEST start->NoPend ReqPend COMM_NO_COM_REQUEST_PENDING NoPend->ReqPend 用户请求 FULL(无限制) ComM_DCM_ActiveDiagnostic 唤醒指示 ReqPend->NoPend 不再有有效请求 NetReq COMM_FULL_COM_NETWORK_REQUESTED ReqPend->NetReq CommunicationAllowed = TRUE Ready COMM_FULL_COM_READY_SLEEP NetReq->Ready 无请求 / 限制 ComMNmVariant = PASSIVE | SLAVE_PASSIVE Ready->NoPend ComMNmLightTimeout abgelaufen (LIGHT) ComM_BusSM_BusSleepMode (SLAVE_*) Ready->NetReq ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) Silent COMM_SILENT_COMMUNICATION Ready->Silent ComM_Nm_PrepareBusSleepMode (FULL | PASSIVE) Silent->NoPend ComM_Nm_BusSleepMode Silent->NetReq 用户请求 FULL (无限制) Silent->Ready ComM_Nm_NetworkMode

状态图:通道从休眠状态到完全通信并返回的生命周期。来源:SWS ComM 第46页、[SWS_ComM_00826]

主动启动始于 ComM_RequestComMode([SWS_ComM_00110])或主动诊断。被动启动跟随来自 EcuM 的唤醒消息([SWS_ComM_00275])。在这种情况下,ComM 会请求 Nm_PassiveStartup,对于受管通道则是为其管理通道请求([SWS_ComM_01016])。

ComM 可选地管理子网(PNC),每个子网各有一个状态机([SWS_ComM_00673])。用户到子网和通道的分配遵循固定规则([SWS_ComM_00996])。动态 PNC 到通道分配在 R20-11 中是新增特性,目前仍标记为 DRAFT([SWS_ComM_01026])。

Mode Manager 可以将通道限制为 No Communication([SWS_ComM_00163])。此时用户对 Full Communication 的请求将失败并返回 COMM_E_MODE_LIMITATION([SWS_ComM_00110])。在 ComM_Init 之前,几乎所有函数都会返回 E_NOT_OK([SWS_ComM_00612])。

角色:通信用户与总线状态管理器之间的中介

ComM 为其用户简化了资源管理。这些用户包括 Runnable、SW-C、BswM,或者在需要通信进行诊断时的 DCM(SWS ComM 第30页)。用户仅需请求其需求。ComM 会针对每个通道将该需求转换为对 <BusSm>_RequestComMode() 的调用([SWS_ComM_00958])。前缀 CanSM、LinSM、FrSM 或 EthSM 取决于 ComMBusType([SWS_ComM_00962])。

在相反方向上,总线状态管理器通过 ComM_BusSM_ModeIndication 报告实际模式。ComM 通过 RTE 和 BswM 将其转发给用户([SWS_ComM_00675])。其他输入来自三个方面:

ComM 通过 NvM 读取和写入持久化数据(SWS ComM 第144页)。

kontext SWC SW-C / RTE (ComM-Nutzer) ComM ComM SWC->ComM ComM_RequestComMode Dcm DCM Dcm->ComM ComM_DCM_ActiveDiagnostic ComM_DCM_InactiveDiagnostic EcuM EcuM EcuM->ComM ComM_EcuM_WakeUpIndication ComM_CommunicationAllowed BswM BswM BswM->ComM ComM_CommunicationAllowed Limitierung / Weck-Inhibition ComM->SWC ComM_CurrentMode ComM->BswM Modusmeldung Nm Nm ComM->Nm Netzwerk anfordern / freigeben BusSM <Bus>SM (CanSM, LinSM, FrSM, EthSM) ComM->BusSM <Bus>SM_RequestComMode NvM NvM ComM->NvM NvM_ReadBlock / NvM_WriteBlock Nm->ComM ComM_Nm_NetworkMode ComM_Nm_PrepareBusSleepMode ComM_Nm_BusSleepMode BusSM->ComM ComM_BusSM_ModeIndication

上下文图:ComM 位于用户与总线状态管理器之间,并受 EcuM/BswM、DCM 和 Nm 的影响。来源:SWS ComM 第17页、[SWS_ComM_00958]、[SWS_ComM_00675]、[SWS_ComM_00871]

通信模式与通道状态机

ComM_ModeType 具有四种模式([SWS_ComM_00672]):

  • COMM_NO_COMMUNICATION:既不发送也不接收。
  • COMM_SILENT_COMMUNICATION:仅接收。
  • COMM_FULL_COMMUNICATION:发送和接收。
  • COMM_FULL_COMMUNICATION_WITH_WAKEUP_REQUEST.

用户仅允许请求 No 和 Full。Silent 仅用于 NM 同步(SWS ComM 第30页)。模式声明组 ComMMode 启动于 COMM_NO_COMMUNICATION([SWS_ComM_01012])。

每个通道都有一个独立的自身状态机(SWS ComM 第65页)。其状态由 ComM_StateType 提供([SWS_ComM_00674])。在进入 Full Communication 时,通道进入 COMM_FULL_COM_NETWORK_REQUESTED,并通过总线状态管理器开启发送和接收(SWS ComM 第64页)。

状态转换取决于 ComMNmVariant:

  • FULL 或 PASSIVE:ComM_Nm_PrepareBusSleepMode 导致进入 Silent([SWS_ComM_00826])。
  • PASSIVE 或 SLAVE_PASSIVE:通道直接进入 COMM_FULL_COM_READY_SLEEP([SWS_ComM_00915])。
  • SLAVE_ACTIVE:一旦不再存在用户请求,它即进入该状态([SWS_ComM_01017])。
  • SLAVE 变体:ComM_BusSM_BusSleepMode 终止通信([SWS_ComM_01018])。
  • LIGHT:退出由定时器 ComMNmLightTimeout 决定(SWS ComM 第78页)。
kanal cluster_no COMM_NO_COMMUNICATION cluster_full COMM_FULL_COMMUNICATION start NoPend COMM_NO_COM_NO_PENDING_REQUEST start->NoPend ReqPend COMM_NO_COM_REQUEST_PENDING NoPend->ReqPend 用户请求 FULL(无限制) ComM_DCM_ActiveDiagnostic 唤醒指示 ReqPend->NoPend 不再有有效请求 NetReq COMM_FULL_COM_NETWORK_REQUESTED ReqPend->NetReq CommunicationAllowed = TRUE Ready COMM_FULL_COM_READY_SLEEP NetReq->Ready 无请求 / 限制 ComMNmVariant = PASSIVE | SLAVE_PASSIVE Ready->NoPend ComMNmLightTimeout abgelaufen (LIGHT) ComM_BusSM_BusSleepMode (SLAVE_*) Ready->NetReq ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) Silent COMM_SILENT_COMMUNICATION Ready->Silent ComM_Nm_PrepareBusSleepMode (FULL | PASSIVE) Silent->NoPend ComM_Nm_BusSleepMode Silent->NetReq 用户请求 FULL (无限制) Silent->Ready ComM_Nm_NetworkMode

状态图:通道的生命周期及其取决于 NM 变体的状态转换。来源:SWS ComM 第46页、[SWS_ComM_00826]、[SWS_ComM_00915]、[SWS_ComM_01018]

从通信请求到总线并返回休眠

主动启动始于 ComM_RequestComMode([SWS_ComM_00110])或 ComM_DCM_ActiveDiagnostic。在没有限制的情况下,通道立即切换至 COMM_NO_COM_REQUEST_PENDING(SWS ComM 第69页)。它在此处等待,直到 CommunicationAllowed 标志为 TRUE(SWS ComM 第63页)。通常,BswM 规则会在启动过程中设置此标志(Mode-Management-Guide 第25页)。

主动启动通信 (CAN)SW-C / RteDcmEcuM / BswMComMNmCanSMUse Case: Aktiver StartaltNutzeranforderungComM_RequestComMode(User, COMM_FULL_COMMUNICATION)aktive DiagnoseComM_DCM_ActiveDiagnostic(Channel)COMM_NO_COM_REQUEST_PENDINGComM_CommunicationAllowed(Channel, TRUE)COMM_FULL_COM_NETWORK_REQUESTEDaltComMNmVariant = FULLNm_NetworkRequest(Channel)ComMNmVariant = LIGHT | NONETimer ComMTMinFullComModeDuration startenCanSM_RequestComMode(network, COMM_FULL_COMMUNICATION)E_OKComM_BusSM_ModeIndication(Channel, COMM_FULL_COMMUNICATION)Modusmeldung COMM_FULL_COMMUNICATIONModusmeldung an BswM

时序图:主动启动直到模式报告,以 CAN 为例。来源:SWS ComM 第107页、SWS ComM 第75页、[SWS_ComM_00675]

被动启动紧随唤醒通知之后。触发源包括 ComM_EcuM_WakeUpIndication([SWS_ComM_00275])、ComM_EcuM_PNCWakeUpIndication 或 ComM_Nm_RestartIndication([SWS_ComM_00792])。PNC 唤醒通知会将该 PNC 引用的通道置于 COMM_NO_COM_REQUEST_PENDING。在同步唤醒时,这适用于所有通道([SWS_ComM_01014],[SWS_ComM_01015])。随后,ComM 请求 Nm_PassiveStartup。对于受管通道(managed),这是针对管理通道执行的([SWS_ComM_01016])。

唤醒或重启指示后的被动启动EcuMComMNm<Bus>SMRte / BswMaltWeckmeldung EcuMComM_EcuM_WakeUpIndication(Channel)PNC-WeckmeldungComM_EcuM_PNCWakeUpIndication(PNCid)NM-NeustartComM_Nm_RestartIndication(Channel)COMM_NO_COM_REQUEST_PENDING等待 CommunicationAllowed = TRUECOMM_FULL_COM_NETWORK_REQUESTEDaltverwalteter (managed) KanalNm_PassiveStartup(verwaltender Kanal)否则Nm_PassiveStartup(Channel)<Bus>SM_RequestComMode(network, COMM_FULL_COMMUNICATION)ComM_BusSM_ModeIndication(Channel, COMM_FULL_COMMUNICATION)向用户和 BswM 通知模式

时序图:唤醒或重启通知后的被动启动。来源:SWS ComM 第104页、[SWS_ComM_91001]、[SWS_ComM_01016]

当最后一个用户释放其请求或限制生效时,关断开始(SWS ComM 第166页)。在 COMM_FULL_COM_READY_SLEEP 中,ComM 在 FULL 变体下调用 Nm_NetworkRelease()(SWS ComM 第78页)。随后,Prepare-Bus-Sleep 和 Bus-Sleep 通知经由 Silent 导向 No Communication([SWS_ComM_00826],[SWS_ComM_00392])。

Netzwerk-Abschaltung (CAN)SW-C / RteVehicleModeManagerComMNmCanSMBswMalt最后一个 FULL 请求已释放,无活动诊断ComM_RequestComMode(User, COMM_NO_COMMUNICATION)Erzwingen von COMM_NO_COMMUNICATIONComM_LimitChannelToNoComMode(Channel, TRUE)COMM_FULL_COM_READY_SLEEPNm_NetworkRelease(Channel)(ComMNmVariant = FULL)ComM_Nm_PrepareBusSleepMode(Channel)COMM_SILENT_COMMUNICATIONCanSM_RequestComMode(network, COMM_SILENT_COMMUNICATION)ComM_Nm_BusSleepMode(Channel)COMM_NO_COMMUNICATIONCanSM_RequestComMode(network, COMM_NO_COMMUNICATION)ComM_BusSM_ModeIndication(Channel, COMM_NO_COMMUNICATION)Modusmeldung an BswM / Nutzeropt强制且 ComMResetAfterForcingNoComm = TRUEBswM_ComM_InitiateReset()

时序图:释放或强制直到 No Communication,以 CAN 为例。来源:SWS ComM 第106页、[SWS_ComM_00355]

有三个函数用于查询。ComM_GetRequestedComMode 返回已存储的用户请求([SWS_ComM_00079])。ComM_GetCurrentComMode 查询总线状态管理器([SWS_ComM_00963]),并在存在多个通道时返回最低模式(SWS ComM 第119页)。ComM_GetMaxComMode 返回最高允许模式([SWS_ComM_00085])。

部分网络(PNC)与用户分配

PNC 是必须同时处于活动状态的 ECU 逻辑组(SWS ComM 第31页)。ComM 为每个 PNC 仅维护一个状态机,并在通道操作之前处理 PNC 操作(SWS ComM 第35页)。模式包含在 ComM_PncModeType 中([SWS_ComM_00673])。

最重要的状态转换:

  • PNC 唤醒通知导致从 COMM_PNC_NO_COMMUNICATION 转换至 COMM_PNC_PREPARE_SLEEP([SWS_ComM_00964])。
  • 用户请求或网关处置位的 ERA 位导致从 COMM_PNC_READY_SLEEP 转换至 COMM_PNC_REQUESTED([SWS_ComM_00165])。
  • 网关在此过程中置位或清除被动通道的 PNC 位([SWS_ComM_00164],[SWS_ComM_00959])。
pnc cluster_full COMM_PNC_FULL_COMMUNICATION start NoCom COMM_PNC_NO_COMMUNICATION start->NoCom Prep COMM_PNC_PREPARE_SLEEP NoCom->Prep ComM_EcuM_PNCWakeUpIndication(PNC) 或 ComMSynchronousWakeUp = TRUE 时的唤醒指示 Req COMM_PNC_REQUESTED NoCom->Req 请求 或 ERAn 位 = 1(网关) Prep->NoCom Prepare-Sleep beendet (Interpretation) Prep->Req Anforderung Ready COMM_PNC_READY_SLEEP Ready->Prep 不再有请求 (推断) Ready->Req 用户请求 Full Com 或 ERAn 位 = 1(网关) Req->Ready 所有用户 No Com 且 ERAn 位 = 0(网关)

状态图:PNC 状态机。返回空闲状态为一种解释。来源:SWS ComM 第37页、[SWS_ComM_01053]、[SWS_ComM_00165]

用户可以分配给 PNC([SWS_ComM_00912])或直接分配给通道([SWS_ComM_00995])。额外分配给 PNC 已引用的通道是不允许的([SWS_ComM_00996])。对于带有以太网交换机的 ECU,适用进一步的限制([SWS_ComM_CONSTR_00001])。如果未向用户分配 PNC 或分配了多个 PNC,ComM_GetCurrentPNCComMode 会报告错误([SWS_ComM_01022],[SWS_ComM_01023])。

zuordnung cluster_1 1:带部分网络 cluster_2 2:不带部分网络 cluster_3 3: redundante Zuordnung cluster_4 4:带 EthIfSwitchPortGroup 的 PNC(带交换机的宿主 ECU) cluster_5 5:被管理通道和管理通道 U1 ComMUser P1 ComMPnc U1->P1 ComMUserPerPnc C1 ComMChannel P1->C1 ComMChannelPerPnc U2 ComMUser C2 ComMChannel U2->C2 ComMUserPerChannel U3 ComMUser P3 ComMPnc U3->P3 C3 ComMChannel U3->C3 不允许 P3->C3 U4 ComMUser P4 ComMPnc U4->P4 C4 ComMChannel P4->C4 E4 EthIfSwitchPortGroup P4->E4 U4b ComMUser U4b->C4 不允许 U5 ComMUser Cm Channel (managed) U5->Cm Cg Channel (managing) U5->Cg ebenfalls erforderlich Cm->Cg ComMManageReference

上下文图:用户、PNC 与通道之间允许和不允许的分配。来源:SWS ComM 第59页、[SWS_ComM_00913]

R20-11 中的新功能是可选的动态 PNC 到通道分配。其需求仍标记为 DRAFT(SWS ComM 第2页)。学习阶段始于 Learning 位([SWS_ComM_01026])并结束于 ComM_Nm_RepeatMessageLeftIndication([SWS_ComM_01029])。在此期间,管理函数拒绝带有 COMM_E_LEARNING_ACTIVE 的调用([SWS_ComM_01042])。后续版本更改了 ComM_GetPncToChannelMapping 的签名。对于 R20-11,适用 [SWS_ComM_91013](SWS ComM 第122页)。

通信限制与唤醒抑制

ComM 提供三种干预手段:

状态由位字段 ComM_InhibitionStatusType 保持([SWS_ComM_00669])。ECU 组分类作为掩码作用于其上,并进行非易失性存储(SWS ComM 第84页)。Mode Manager 通过端口 modeLimitation、CL_… 和 CW_… 访问这些函数([SWS_ComM_01009]、[SWS_ComM_01006]、[SWS_ComM_01008])。

当限制处于活动状态时,尽管存在用户请求,主动请求的通道仍会进入 COMM_FULL_COM_READY_SLEEP。新的请求将被忽略。仅保持被动唤醒的通道不受影响(SWS ComM 第87页)。此时 ComM_RequestComMode 返回 COMM_E_MODE_LIMITATION([SWS_ComM_00110])。解释:ComM_ReadInhibitCounter 计数的正是这些被拒绝的请求([SWS_ComM_00224])。 问题 Q-9058273686fa6108 (未决)活动诊断会暂时挂起限制(SWS ComM 第69页)。在强制进入 No Communication 之后,ComM 可以可选地强制执行 ECU 复位([SWS_ComM_00355])。

inhibition s1 lim ComM_LimitChannelToNoComMode(Channel, TRUE) s1->lim mask ComMEcuGroupClassification erlaubt Limitierung? lim->mask notok E_NOT_OK mask->notok 不 bit Inhibition-Status aktualisieren (Bit 1: Limitierung) mask->bit 是 act Kanal aktiv angefordert in COMM_FULL_COM_NETWORK_REQUESTED? bit->act ready 切换至 COMM_FULL_COM_READY_SLEEP (尽管存在用户请求) act->ready 是 keep 无状态更改 (例如仅被动唤醒) act->keep 不 s2 req ComM_RequestComMode(User, COMM_FULL_COMMUNICATION) s2->req aktiv Limitierung aktiv? req->aktiv rej 请求被忽略 返回 COMM_E_MODE_LIMITATION aktiv->rej 是 acc COMM_NO_COM_REQUEST_PENDING aktiv->acc 不 cnt 增加抑制计数器 (推断) rej->cnt s3 dcm ComM_DCM_ActiveDiagnostic(Channel) s3->dcm 限制暂时中止 dcm->acc 限制暂时中止

活动图:掩码、限制和诊断的作用。计数器步骤为一种解释。来源:[SWS_ComM_00163]、[SWS_ComM_00110]、SWS ComM 第87页

初始化、集成与端口

ComM_Init 重新启动状态机([SWS_ComM_00146])。在此过程中,ComM 读取非易失性参数,这以已初始化的 NvM 为前提条件(SWS ComM 第97页)。ComM_DeInit([SWS_ComM_00147])仅在所有通道均处于 No Communication 时有效,随后保存至 NVRAM(SWS ComM 第114页)。

每个通道都有其自身的 Main Function([SWS_ComM_00429])。在集成时必须注意其相对于 Nm 和总线特定 NM 模块的顺序(Mode-Management-Guide 第39页)。在存在多个分区的情况下,ComM 必须允许来自外部分区的调用([SWS_ComM_01019])。它仅在总线状态管理器自身的分区中调用它们([SWS_ComM_01020])。SW-C 使用端口 UR_… 和 UM_…([SWS_ComM_01011],[SWS_ComM_01010])。

发生错误时的行为

在初始化之前,只有 ComM_Init、ComM_GetVersionInfo 和 ComM_GetStatus 正常工作。所有其他函数均返回 E_NOT_OK([SWS_ComM_00612])。开发错误(例如 COMM_E_UNINIT 或 COMM_E_WRONG_PARAMETERS)由 [SWS_ComM_00234] 定义。若从 NvM 读取失败,ComM 将使用默认值(SWS ComM 第97页)。

发生 Bus-off 时,CanSM 报告 Silent Communication(Error Description 第19页)。ComM 将此通知转发给用户([SWS_ComM_00675])。如果在协同关断期间 Nm 重新启动,则执行 ComM_Nm_RestartIndication([SWS_ComM_00792])。

进一步详细证据

基于 R20-11 规范摘录的 AI 生成指南。链接的需求具有规范性约束力;标记为解释的表述未得到直接证实。

Communication Manager (ComM)

Manages communication states and channel modes across multiple network interfaces.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

函数 ComM_Init [SWS_ComM_00146] 📄 PDF

void ComM_Init (const ComM_ConfigType* ConfigPtr);

Initializes the AUTOSAR Communication Manager and restarts the internal state machines.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 10b3b0e95f21 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 ComM_Init(服务 ID 0x01)用于 AUTOSAR Communication Manager 的基本初始化,并重新启动其内部状态机 [SWS_ComM_00146]。作为输入参数,它接收 ConfigPtr,该参数作为指向类型为 const ComM_ConfigType* 的 Post-Build 配置结构的指针进行传递 [SWS_ComM_00146]。该函数没有返回值(返回类型 void),并通过头文件 ComM.h 声明 [SWS_ComM_00146]。

关于并发性,ComM_Init 被定义为不可重入(Non Reentrant)[SWS_ComM_00146]。规范数据中未指定具体调用者;推测该调用在 ECU 启动阶段作为 BSW 初始化的一部分集中进行。 问题 Q-7121f73c12407087 (未决)

在整个系统中,ComM_Init 对整个模块具有核心的控制和前提条件功能:只要 ComM 模块尚未初始化,所有模块和 API 服务均不得开始其常规运行,并且对于具有标准返回类型的服务,必须返回 E_NOT_OK [SWS_ComM_00612]。该禁令的例外情况仅适用于 ComM_Init 本身以及查询函数 ComM_GetVersionInfo 和 ComM_GetStatus [SWS_ComM_00612]。

本使用说明根据 AUTOSAR 规范数据自动生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_DeInit [SWS_ComM_00147] 📄 PDF

void ComM_DeInit (void);

This API de - initializes the AUTOSAR Communication Manager.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2f795871a79d 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

根据 [SWS_ComM_00147],函数 ComM_DeInit 用于 AUTOSAR Communication Manager (ComM) 的去初始化。该服务采用同步设计,具有服务 ID 0x02,并通过头文件 ComM.h 声明。根据签名 void ComM_DeInit(void),该函数不接收任何输入、输出或传递参数,且不向调用者返回任何返回值 [SWS_ComM_00147]。

错误处理

由于函数签名返回 void,因此通过接口调用不会直接反馈错误代码或状态代码 [SWS_ComM_00147]。特定的错误响应,例如通知 Development Error Tracer (DET) 或 Diagnostic Event Manager (DEM),未包含在现有规范数据中,因此未作说明。

并发性与系统上下文

根据 [SWS_ComM_00147],该接口被指定为不可重入(Non Reentrant)。由此对系统集成提出了强制性要求,即必须完全杜绝来自多个任务或上下文的并行或中断调用。作为对系统流程的解释,一旦 BSW 的通信通道已关闭,该调用通常由上层状态管理系统(例如 BSW Manager)在有序的 ECU 关机过程中执行。 问题 Q-f3b68dc129993cb7 (未决)

本使用说明基于规范 SWS_ComM_00147 自动生成。

函数 ComM_GetStatus [SWS_ComM_00242] 📄 PDF

Std_ReturnType ComM_GetStatus (ComM_InitStatusType* Status);

Returns the initialization status of the AUTOSAR Communication Manager. After a call to Com M_ De Init() Com M should have status COMM_ UNINIT, and a new call to Com M_ Init needed to make sur e Com M restart internal state machines to defailt values.

函数 ComM_GetInhibitionStatus [SWS_ComM_00619] 📄 PDF

Std_ReturnType ComM_GetInhibitionStatus (NetworkHandleType Channel, ComM_InhibitionStatusType* Status);

Returns the inhibition status of a Com M channel.

函数 ComM_RequestComMode [SWS_ComM_00110] 📄 PDF

Std_ReturnType ComM_RequestComMode (ComM_UserHandleType User, ComM_ModeType ComMode);

Requesting of a Communication Mode by a user. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COMManager Note: The following modes are no vaild user requests, since they are used as internal modes: - COMM_ SIL ENT_ COMMUNICATION (this mode is used for synchronization at shutdown) - COMM_ FULL_ COMMUNICATION_ WITH_ WAKEUP_ REQUEST (this mode is used internally within the Com M channel statemachine to trigger the lower layers to request a wakeup on the network if the used hardware support such a feature. (e.g. Ethernet hardware which is compatible with OA TC10). The following modes are valid user requests: - COMM_ NO_ COMMUNICATION - COMM_ FULL_ COMMUNICATION. The communication request could also be released due to

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: eb41ae1cd707 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

同步且可重入的函数 ComM_RequestComMode ([SWS_ComM_00110]) 用于为一个已定义的用户 (User) 请求通信模式。它可通过 ComM.h 获取。作为 ComMode 的传入参数,仅允许以下值作为用户请求:

模式 COMM_SILENT_COMMUNICATION(用于关机同步)以及 COMM_FULL_COMMUNICATION_WITH_WAKEUP_REQUEST(用于下层硬件的内部唤醒触发器,例如在支持 OA TC10 的以太网硬件中)是内部状态,不得由用户请求 ([SWS_ComM_00110])。解释:传递这些内部模式大概率会以 E_NOT_OK 进行确认返回。 问题 Q-973ed1ce1845983e (未决)

返回值与错误处理

该函数通过定义的返回值 ([SWS_ComM_00110]) 指示结果:

  • E_OK:已成功完成向期望通信模式的切换。
  • E_NOT_OK:模式切换失败。
  • COMM_E_MODE_LIMITATION:由于活动的通信抑制(Mode Inhibition),无法授予请求的模式。通信请求也可通过此类抑制而被重新释放。

交互与状态机

是否存在活动请求会影响 ComM 的通道状态机。如果通道处于带有配置 ComMNmVariant = SLAVE_ACTIVE 的子状态 COMM_FULL_COM_NETWORK_REQUESTED,且不存在对 ComM_RequestComMode(<user>, COMM_FULL_COMMUNICATION) 的活动调用,则 ComM 状态机切换到子状态 COMM_FULL_COM_READY_SLEEP ([SWS_ComM_01017])。

本文由基于 AUTOSAR 规范 R20-11 的 AI 辅助文档系统生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_GetMaxComMode [SWS_ComM_00085] 📄 PDF

Std_ReturnType ComM_GetMaxComMode (ComM_UserHandleType User, ComM_ModeType* ComMode);

Function t o query the maximum allowed Communication Mode of the corresponding user.

函数 ComM_GetRequestedComMode [SWS_ComM_00079] 📄 PDF

Std_ReturnType ComM_GetRequestedComMode (ComM_UserHandleType User, ComM_ModeType* ComMode);

Function to query the currently requested Communication Mode of the corresponding user. Availa ble via Com M.h

函数 ComM_GetCurrentComMode [SWS_ComM_00083] 📄 PDF

Std_ReturnType ComM_GetCurrentComMode (ComM_UserHandleType User, ComM_ModeType* ComMode);

Function to query the current Communication Mode. Com M shall use the corresponding interfaces of the Bus State Managers to get the current Communication Mode of the network. (Call to Bus State Manager API: XXXSM _ Get Current Com Mode(...))

函数 ComM_GetCurrentPNCComMode [SWS_ComM_91002] 📄 PDF

Std_ReturnType ComM_GetCurrentPNCComMode (ComM_UserHandleType User, ComM_ModeType* ComMode);

The function returns the current Communication Mode of the corresponding PNC the affected user is assigned to.

函数 ComM_UpdatePncToChannelMapping [SWS_ComM_91015] 📄 PDF

Std_ReturnType ComM_UpdatePncToChannelMapping (const boolean* MappingTable, uint8 channelCnt, uint8 PncCnt);

This function can be used to set entries within the the ECUs PNC - to - channel -

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 64f825c7df68 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

服务 ID 为 0x62 的同步函数 ComM_UpdatePncToChannelMapping 用于在 ECU 或 PNC 网关的 PNC 到通道映射中设置条目 [SWS_ComM_91015]。该接口通过头文件 ComM.h 提供,并在 Release R20-11 中标记为 Draft 状态 [SWS_ComM_91015]。

范围

该函数调用传入三个输入参数 [SWS_ComM_91015]:

  • MappingTable:指向二维 boolean 数组(const boolean*)的指针,该数组包含 PNC 网关当前的 PNC 到通道映射,其中第一维涵盖所有相关通道,第二维涵盖所有相关 PNC [SWS_ComM_91015]。
  • channelCnt:在 MappingTable 中传入的物理通道数量 [SWS_ComM_91015]。
  • PncCnt:在 MappingTable 中传入的 PNC 数量 [SWS_ComM_91015]。

返回值与错误处理

该函数返回类型为 Std_ReturnType 的状态值 [SWS_ComM_91015]:

并发性与限制

该接口被定义为不可重入 [SWS_ComM_91015]。因此,不得并发调用。此外,只要通信系统处于活动的 PNC 学习阶段,就禁止进行更新 [SWS_ComM_91015]。

本使用说明基于 AUTOSAR CP R20-11 规范自动生成。

函数 ComM_ResetPncToChannelMapping [SWS_ComM_91017] 📄 PDF

Std_ReturnType ComM_ResetPncToChannelMapping (void);

This function resets dynamic entries within the ECUs PNC - to - channel - mapping to default values Tags: atp.Status=draft

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 334ac50fbcce 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步且不可重入的函数 ComM_ResetPncToChannelMapping 用于将 ECU 的 PNC 到通道映射的动态条目重置为配置的默认值 [SWS_ComM_91017]。它不接受传入参数,并返回类型为 Std_ReturnType 的状态值 [SWS_ComM_91017]。

行为与返回值

该函数的行为取决于 PNC 学习阶段的状态以及通道的配置:

  • 如果至少有一个通道启用了 ComMDynamicPncToChannelMappingEnabled 且 PNC 学习阶段未处于活动状态,该函数将映射重置为原始配置的默认值(静态条目)并返回 E_OK [SWS_ComM_01043]。
  • 如果系统处于活动 PNC 学习阶段,且至少有一个通道的 ComMDynamicPncToChannelMappingEnabled 或 ComMDynamicPncToChannelMappingSupport 设置为 TRUE,则拒绝重置并返回 COMM_E_LEARNING_ACTIVE [SWS_ComM_01042]、[SWS_ComM_01045]。
  • 如果将映射重置为默认值失败,该函数返回 E_NOT_OK [SWS_ComM_91017]。

限制与调用条件

由于 ComM_ResetPncToChannelMapping 被指定为不可重入(Non Reentrant),因此不得从并发上下文中进行同时调用 [SWS_ComM_91017]。此外,该接口处于 Draft 状态 [SWS_ComM_91017]。

本段文本由人工智能生成,完全基于 AUTOSAR R20-11 的规范数据。

实现者指南即将推出(复杂度 I1)

函数 ComM_PnLearningRequest [SWS_ComM_91019] 📄 PDF

Std_ReturnType ComM_PnLearningRequest (void);

Triggers the NM to return into NM Repe at Message State and send the Partial Network Learning Bit (in order for receiving nodes to respond) together with the Repeat Message Request Bit (in order for receiving nodes to return into NM Repeat Message State). This function is used for the optional Dynamic PNC - to - channel - mapping feature. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COMManager Tags: atp.Status=draft

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: c26d7aa35547 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与语义

异步函数 ComM_PnLearningRequest 触发可选的动态 PNC 到通道映射(Dynamic PNC-to-channel-mapping)[SWS_ComM_91019]。它促使 Network Management(NM)返回到 NM Repeat Message State 状态 [SWS_ComM_91019]。在此过程中,发送 Partial Network Learning Bit 以使接收节点进行响应,并发送 Repeat Message Request Bit 以使接收节点同样切换到 NM Repeat Message State 状态 [SWS_ComM_91019]。调用通过 ComM.h 中的接口进行,无需传入参数,服务 ID 为 0x64 [SWS_ComM_91019]。

返回值与错误处理

该函数返回类型为 Std_ReturnType 的状态值 [SWS_ComM_91019]:

  • E_OK:PNC 学习算法已成功启动 [SWS_ComM_91019]。
  • E_NOT_OK:未能启动 PNC 学习算法 [SWS_ComM_91019]。
  • COMM_E_LEARNING_ACTIVE:由于 PNC 学习阶段已处于活动状态,无法执行该函数调用 [SWS_ComM_91019]。

并发与配置

该函数被指定为不可重入(Non Reentrant),并具有 draft 状态 [SWS_ComM_91019]。它仅在预配置参数 ComMDynamicPncToChannelMappingSupport 设置为 TRUE 时可用 [SWS_ComM_01044]。

本使用说明基于 AUTOSAR R20-11 的规范。

实现者指南即将推出(复杂度 I2)

函数 ComM_UpdatePncMembership [SWS_ComM_91021] 📄 PDF

Std_ReturnType ComM_UpdatePncMembership (boolean Control, const uint8* ComM_PncMembership);

This function is used by SWCs to update the PNC membership which is transmitted during PNC Learning. This function is used for the optional Dynamic PNC - to - channel - mapping feature. This function is used for the optional Dynamic PNC - to - channel - mapping feature. Tags: atp.Status=draft

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: c5ef187173c5 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步且不可重入的函数 ComM_UpdatePncMembership 由软件组件(SWC)使用,用于调整在 PNC 学习期间传输的 PNC 成员关系,以进行可选的动态 PNC 到通道映射 [SWS_ComM_91021]。仅当配置参数 ComMDynamicPncToChannelMappingSupport 设置为 TRUE 时,它才通过头文件 ComM.h 可用 [SWS_ComM_01047]。

通过参数 ComM_PncMembership 传入一个具有 PNC 向量长度的字节数组,该数组包含节点当前的 PNC 成员关系 [SWS_ComM_91021]。如果在至少一个通道上启用了该函数且 PNC 学习阶段处于非活动状态,则评估参数 Control [SWS_ComM_01049]:

  • 当为 Control = 0 时,当前的 PNC 成员关系通过与 ComM_PncMembership 进行逻辑与运算来处理,以针对性地重置掩码中的相应位 [SWS_ComM_01049]。
  • 当为 Control = 1 时,应用逻辑或运算以置位掩码中的相应位 [SWS_ComM_01049]。

如果更新成功,函数返回 E_OK [SWS_ComM_01049]。相反,如果至少在一个通道上配置了动态映射且 PNC 学习阶段处于活动状态,则拒绝执行并报告特定的错误值 COMM_E_LEARNING_ACTIVE [SWS_ComM_01048]。如果在更新过程中发生其他错误,则返回 E_NOT_OK [SWS_ComM_91021]。

本使用说明由人工智能生成,完全基于 AUTOSAR R20-11 的规范要求。

实现者指南即将推出(复杂度 I1)

函数 ComM_PreventWakeUp [SWS_ComM_00156] 📄 PDF

Std_ReturnType ComM_PreventWakeUp (NetworkHandleType Channel, boolean Status);

Changes the inhibition status COMM_ NO_ WAKEUP for the corresponding channel.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 10c8939c2a8f 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

根据 [SWS_ComM_00156],函数 ComM_PreventWakeUp 用于更改特定通信通道的抑制状态 COMM_NO_WAKEUP。它以同步方式执行,并通过头文件 ComM.h 获取。

调用时传递两个输入参数:

  • Channel:根据类型 NetworkHandleType 标识相关通道 ([SWS_ComM_00156])。
  • Status:布尔值,用于激活 (TRUE) 或停用 (FALSE) 唤醒抑制 ([SWS_ComM_00156])。

返回值与错误处理

作为返回值,该函数根据 [SWS_ComM_00156] 返回状态 Std_ReturnType:

  • E_OK:已成功更新指定通道的唤醒状态。
  • E_NOT_OK:更改唤醒状态失败,例如当该功能通过 ECU 分组分类 (ComMEcuGroupClassification) 停用时。

并发性与限制

该接口被指定为不可重入(Non Reentrant)([SWS_ComM_00156])。因此调用者必须确保避免对同一实例的并行调用。

本说明由 AI 基于 AUTOSAR R20-11 规范生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_LimitChannelToNoComMode [SWS_ComM_00163] 📄 PDF

Std_ReturnType ComM_LimitChannelToNoComMode (NetworkHandleType Channel, boolean Status);

Changes the inhibition status f or the channel for changing from COMM_ NO_ COMMUNICATION to a higher Communication Mode. (See also Com M_ Limit ECUTo No Com Mode, same functionality but for all channels)

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: bf0dc2f035f4 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

带有服务 ID 0x0b 的同步函数 ComM_LimitChannelToNoComMode 在 Communication Manager 中用于指定单个通信通道的抑制状态 [SWS_ComM_00163]。它阻止或允许通道从状态 COMM_NO_COMMUNICATION 切换到上层通信模式 [SWS_ComM_00163]。

参数与调用上下文

该接口通过头文件 ComM.h 声明,且既无输入/输出参数也无纯输出参数 [SWS_ComM_00163]。调用时传递两个输入参数 [SWS_ComM_00163]:

  • Channel:通过类型为 NetworkHandleType 的标识符对相应通道进行寻址 [SWS_ComM_00163]。
  • Status:作为 boolean 确定期望的抑制状态。传递 TRUE 将激活通道对 COMM_NO_COMMUNICATION 的限制,而 FALSE 重新停用此限制 [SWS_ComM_00163]。

返回值与错误处理

该函数向调用者返回类型为 Std_ReturnType 的值 [SWS_ComM_00163]:

  • E_OK:已成功调整寻址通道的抑制状态 [SWS_ComM_00163]。
  • E_NOT_OK:无法执行状态更改,例如在配置 ComMEcuGroupClassification(参见 ECUC_ComM_00563)停用该功能的情况下便是如此 [SWS_ComM_00163]。

并发性与系统关联

关于执行行为,该函数以同步 (Synchronous) 且不可重入 (Non Reentrant) 的方式执行 [SWS_ComM_00163]。对于整个系统级别的相同目的,存在相关函数 ComM_LimitECUToNoComMode,该函数不仅针对单个通道,而且统一步骤在 ECU 的所有通道上实现相同的限制 [SWS_ComM_00163]。

本使用说明基于规范自动生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_LimitECUToNoComMode [SWS_ComM_00124] 📄 PDF

Std_ReturnType ComM_LimitECUToNoComMode (boolean Status);

Changes the inhibition status for the ECU (=all channels) for changing from COMM_ NO_ COMMUNICATION to a high er Communication Mode. (See also Com M_ Limit Channel To No Com Mode, same functionality but for a specific channels)

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 6001b98e9932 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

同步函数 ComM_LimitECUToNoComMode(服务 ID 0x0c)在 ComM.h 中定义,用于更改整个 ECU 的抑制状态 [SWS_ComM_00124]。它阻止或允许 ECU 的所有通信通道从 COMM_NO_COMMUNICATION 切换到更高的通信模式 [SWS_ComM_00124]。通过形参 Status 进行控制:

  • TRUE:激活 ECU 对模式 COMM_NO_COMMUNICATION 的限制 [SWS_ComM_00124]。
  • FALSE:重新停用 ECU 对 COMM_NO_COMMUNICATION 的限制 [SWS_ComM_00124]。

错误处理与返回值

该函数向调用者返回类型为 Std_ReturnType 的状态码 [SWS_ComM_00124]:

  • E_OK:ECU 的抑制状态已成功应用 [SWS_ComM_00124]。
  • E_NOT_OK:抑制状态的更改失败,例如在配置参数 ComMEcuGroupClassification(参见 ECUC_ComM_00563)停用该功能的情况下 [SWS_ComM_00124]。

调用者必须评估返回值,以确定限制是成功生效还是已被模块配置拒绝 [SWS_ComM_00124]。

并发性与交互

该接口被声明为不可重入(Non Reentrant);因此并行或中断调用是不允许的,并且必须在调用方避免 [SWS_ComM_00124]。虽然 ComM_LimitChannelToNoComMode 针对单个通道单独提供相同的控制功能,但 ComM_LimitECUToNoComMode 始终涉及 ECU 的所有通道总体 [SWS_ComM_00124]。

此使用说明基于 AUTOSAR R20-11 自动生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_ReadInhibitCounter [SWS_ComM_00224] 📄 PDF

Std_ReturnType ComM_ReadInhibitCounter (uint16* CounterValue);

This function returns the amount of rejected COMM_ FULL_ COMMUNICATION user requests.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 08a2c24cbf90 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

同步函数 ComM_ReadInhibitCounter(服务 ID 0x0d)用于查询被拒绝的完全通信运行用户请求的数量 (COMM_FULL_COMMUNICATION) [SWS_ComM_00224]。函数声明通过头文件 ComM.h 提供 [SWS_ComM_00224]。

该函数没有输入参数。基类型为 uint16* 的指针 CounterValue 用作唯一的输出参数,被拒绝请求的计数值通过该指针传递给调用者 [SWS_ComM_00224]。如果能够成功确定并写入计数值,该函数返回 E_OK;失败时返回 E_NOT_OK [SWS_ComM_00224]。

错误处理

接口描述中未专门列出具体错误代码或标准化开发错误(DET)。以返回值 E_NOT_OK [SWS_ComM_00224] 导致的失败推测可能是由于无效的指针参数(空指针)或在 ComM 模块初始化之前调用所致(解释)。 问题 Q-5779d898381d9894 (未决)

并发性与限制

该接口被明确指定为不可重入(Non Reentrant)[SWS_ComM_00224]。因此,调用方必须在系统级确保不会发生跨不同任务或中断服务例程的并发或打断调用,以避免读取计数器时产生不一致。

本使用说明由系统自动生成,基于 AUTOSAR 版本 R20-11 的规范。

函数 ComM_ResetInhibitCounter [SWS_ComM_00108] 📄 PDF

Std_ReturnType ComM_ResetInhibitCounter (void);

This function resets the Inhibited COMM_ FULL_ COMMUNICATION request Counter.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 7854411354f0 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用与工作原理

同步接口 ComM_ResetInhibitCounter 用于重置 Communication Manager 中被拒绝或受阻止的完全通信请求的内部计数器(Inhibited COMM_FULL_COMMUNICATION request Counter)[SWS_ComM_00108]。该调用通过头文件 ComM.h 提供,具有服务 ID 0x0e,且不需要任何传入参数 [SWS_ComM_00108]。成功执行后,该函数返回类型为 Std_ReturnType 的返回值 E_OK [SWS_ComM_00108]。

错误处理与边界条件

如果在重置计数器时发生错误,该服务通过返回值 E_NOT_OK 来指示此情况 [SWS_ComM_00108]。本规范摘录中未列出具体的开发错误(DET)或错误场景;推测如果模块尚未初始化,则执行失败并返回 E_NOT_OK。 问题 Q-31d1ba95e419fa8e (未决)

并发性

该函数被声明为不可重入(Non Reentrant)[SWS_ComM_00108]。因此,用户必须通过适当的同步确保不会发生来自多个线程、任务或中断服务例程的并行调用,以避免计数器出现不一致。

此文本由 AI 基于 AUTOSAR 规范生成。

函数 ComM_SetECUGroupClassification [SWS_ComM_00552] 📄 PDF

Std_ReturnType ComM_SetECUGroupClassification (ComM_InhibitionStatusType Status);

Changes the ECU Group Classification status (see chapter 10.2.2)

函数 ComM_Nm_NetworkStartIndication [SWS_ComM_00383] 📄 PDF

void ComM_Nm_NetworkStartIndication (NetworkHandleType Channel);

Indication that a NM - message has been received in the Bus Sleep Mode, what indicates that some nodes in the network have already entered the Network Mode.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 6e63cc70b240 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 ComM_Nm_NetworkStartIndication 用作网络管理向 Communication Manager 发送的通知接口。根据 [SWS_ComM_00383],它指示在 Bus Sleep Mode 状态期间接收到了 NM 报文,这表明网络中的某些节点已经切换到 Network Mode。

  • 调用与参数:该接口通过头文件 ComM_Nm.h 声明,并接受受影响的通信通道 Channel(类型为 NetworkHandleType)作为输入参数 [SWS_ComM_00383]。
  • 同步性与返回值:该调用没有返回值(void),并遵循异步执行语义 [SWS_ComM_00383]。
  • 并发性:该函数分配有服务 ID 0x15,并被指定为可重入(Reentrant)[SWS_ComM_00383]。

规范中未为该接口指定具体的错误代码、DET 或 DEM 报告以及单独的错误反应 [SWS_ComM_00383]。解释:推测该指示在内部用于启动指定通道从睡眠状态向活动网络通信的转换。 问题 Q-97a02db4ab6a3af8 (未决)

此使用说明仅基于AUTOSAR版本R20-11的规范数据。

实现者指南即将推出(复杂度 I1)

函数 ComM_Nm_NetworkMode [SWS_ComM_00390] 📄 PDF

void ComM_Nm_NetworkMode (NetworkHandleType Channel);

Notification that the network management has entered Network Mode.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: e3f33637a68b 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

在 AUTOSAR 通信管理器(ComM)中,函数 ComM_Nm_NetworkMode 充当通知回调,Network Management(Nm)借此指示已成功进入网络模式(Network Mode)[SWS_ComM_00390]。

调用与参数

该接口通过头文件 ComM_Nm.h 可用,并具有服务 ID 0x18 [SWS_ComM_00390]。调用时,通过类型为 NetworkHandleType 的唯一输入参数 Channel 传递受影响的通信通道 [SWS_ComM_00390]。该函数不返回任何返回值(返回类型为 void),且不包含任何输出参数 [SWS_ComM_00390]。

并发性与语义

ComM_Nm_NetworkMode 的执行行为被声明为异步(Asynchronous)[SWS_ComM_00390]。关于并发性,该函数被指定为可重入(Reentrant),因此可以针对并行通道事件进行可重入调用 [SWS_ComM_00390]。

错误处理

由于函数签名未提供返回值,因此不会直接向调用方传递错误码 [SWS_ComM_00390]。

本文由 AI 生成,用于技术指导。

实现者指南即将推出(复杂度 I1)

函数 ComM_Nm_PrepareBusSleepMode [SWS_ComM_00391] 📄 PDF

void ComM_Nm_PrepareBusSleepMode (NetworkHandleType Channel);

Notification that the network management has entered Prepare Bus - Sleep Mode.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 4d219fb078bd 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 ComM_Nm_PrepareBusSleepMode 用作 Communication Manager(ComM)的通知接口。它向 ComM 通知指定通信通道的网络管理已切换至“Prepare Bus - Sleep Mode”状态 [SWS_ComM_00391]。

使用与签名

该接口通过头文件 ComM_Nm.h 可用,并具有服务 ID 0x19 [SWS_ComM_00391]。执行为异步进行 [SWS_ComM_00391]。函数签名包含以下参数:

  • Channel(In,NetworkHandleType):标识其网络管理已进入 Prepare-Bus-Sleep 模式的受影响网络通道 [SWS_ComM_00391]。
  • 返回值:void;不返回任何状态值或错误值,也不包含输入/输出参数 [SWS_ComM_00391]。

并发性与限制

关于并发性,ComM_Nm_PrepareBusSleepMode 被指定为可重入,但具有明确的限制条件,即不适用于同一 NM 通道(Reentrant (but not for the same NM - Channel))[SWS_ComM_00391]。因此,针对不同通道的调用可以并行发生,而针对同一通道的同时调用必须予以排除。

调用上下文与错误处理

解释:调用上下文应位于通用或特定总线的 Network Management 中,其将达到该状态的情况报告给 ComM。 问题 Q-41524322db480310 (未决)规范中未为该接口定义特定的错误码、DET 或 DEM 报告 [SWS_ComM_00391]。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_Nm_BusSleepMode [SWS_ComM_00392] 📄 PDF

void ComM_Nm_BusSleepMode (NetworkHandleType Channel);

Notification that the network management has entered Bus - Sleep Mode. This callback function should perform a transition of the hardware and transceiver to bus - sleep mode.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 615fc8a29c13 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

回调函数 ComM_Nm_BusSleepMode 用于通知 ComM 模块网络管理已切换至 Bus-Sleep 模式 [SWS_ComM_00392]。通过该调用,该函数应将关联的硬件以及收发器转换至 Bus-Sleep 模式 [SWS_ComM_00392]。

接口与参数

该函数通过头文件 ComM_Nm.h 提供,并带有服务 ID 0x1a [SWS_ComM_00392]。调用通过签名 void ComM_Nm_BusSleepMode (NetworkHandleType Channel) 进行,具有以下参数属性 [SWS_ComM_00392]:

  • Channel:类型为 NetworkHandleType 的输入参数,用于标识受影响的通信通道 [SWS_ComM_00392]。
  • 该函数未设计输入/输出参数,亦未设计输出参数 [SWS_ComM_00392]。
  • 未定义返回值(void)[SWS_ComM_00392]。

并发性与限制

关于执行行为和可能的限制条件,该需求规定了以下基本条件 [SWS_ComM_00392]:

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_Nm_RestartIndication [SWS_ComM_00792] 📄 PDF

void ComM_Nm_RestartIndication (NetworkHandleType Channel);

If Nm If has started to shut down the coordinated busses, AND not all coordinated busses have indicated bus sleep state, AND on at least on one of the coordinated busses NM is restarted, THEN the NM Interface shall call the callback function Com M_ Nm_ Res tart Indication with the nm Network Handle of the channels which have already indicated bus sleep state.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 29b85b6e34cd 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

服务 ID 为 0x1b 的回调函数 ComM_Nm_RestartIndication 由 NM-Interface 调用,并在头文件 ComM_Nm.h 中声明 [SWS_ComM_00792]。它用于在受协调总线正在进行的关断过程中,通知 Communication Manager 网络管理已重新启动 [SWS_ComM_00792]。唯一的输入参数 Channel(类型为 NetworkHandleType)指定受影响的通道;该操作不返回任何返回值 [SWS_ComM_00792]。

该接口被指定为异步且可重入 [SWS_ComM_00792]。当同时满足以下三个条件时,由 NM-Interface 调用该接口:

  • NM-Interface 已开始关闭协调总线 [SWS_ComM_00792]。
  • 这些受协调的总线尚未全部报告 Bus-Sleep 状态 [SWS_ComM_00792]。
  • 在这些受协调的总线中,至少有一条总线重新启动了网络管理 [SWS_ComM_00792]。
如果满足这些先决条件,NM-Interface 会专门使用已指示过 Bus-Sleep 状态的那些通道的句柄来调用该函数 [SWS_ComM_00792]。

规范摘录中未规定特定的错误码、错误反应或向开发测试或错误存储模块(DET/DEM)的报告 [SWS_ComM_00792]。Interpretation: 该函数在 ComM 中应当用于将已休眠通道的内部状态重新与重新激活的总线协调对齐。

本使用说明基于规范自动生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_Nm_RepeatMessageLeftIndication [SWS_ComM_91024] 📄 PDF

void ComM_Nm_RepeatMessageLeftIndication (NetworkHandleType Channel);

Notification that the state of all has left Repeat Message. This interface is used to indicate by the optional Dynamic PNC - to - channel - mapping feature to indicate that learning phase ends. Tags: atp.Status=draft

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: ba0403f500c5 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

函数 ComM_Nm_RepeatMessageLeftIndication 用作通知接口,向 ComM 指示所有总线 NM 模块(<Bus Nm>)的状态已退出 Repeat Message 状态 [SWS_ComM_91024]。在用于将 Partial Network Cluster 动态映射到通道的可选功能特性(Dynamic PNC-to-channel-mapping)的框架内,此调用指示学习阶段结束 [SWS_ComM_91024]。

该接口通过头文件 ComM_Nm.h 声明,且无返回值(void)[SWS_ComM_91024]。作为传入参数传递受影响的通信通道:

  • Channel(In,NetworkHandleType):报告其退出状态的通道标识 [SWS_ComM_91024]。

相互协作与功能影响

该指示的行为控制着 PNC 学习阶段:只要配置参数 ComMDynamicPncToChannelMappingEnabled 设置为 TRUE 并且调用了 ComM_Nm_RepeatMessageLeftIndication,ComM 就会将相应通道的 PNC 学习阶段(PNC Learning Phase)设置为非活动状态 [SWS_ComM_01029] [SWS_ComM_01046]。

并发性与限制

该接口被指定为可重入的,并具有异步执行语义 [SWS_ComM_91024]。在当前规范中,该元素还被标记为开发状态 draft [SWS_ComM_91024]。

本文件由人工智能根据 AUTOSAR 规范生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_Nm_PncLearningBitIndication [SWS_ComM_91026] 📄 PDF

void ComM_Nm_PncLearningBitIndication (NetworkHandleType Channel);

Service to indicate that an NM message with set PNC Learning Bit has been received. Tags: atp.Status=draft

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: effa540e6370 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 ComM_Nm_PncLearningBitIndication 用作模块 ComM 的通知接口,以指示接收到置位了 PNC-Learning-Bit 的 NM 报文 [SWS_ComM_91026]。该接口具有服务 ID 0x69,通过头文件 ComM_Nm.h 提供,并在规范中标记为“draft”状态 [SWS_ComM_91026]。

关于用法和签名,适用以下规定:

  • 参数:作为输入参数传递类型为 NetworkHandleType 的 Channel,用于标识相关通信通道 [SWS_ComM_91026]。既没有输入/输出参数也没有输出参数,返回类型为 void [SWS_ComM_91026]。
  • 并发性:该调用被指定为异步且可重入 [SWS_ComM_91026]。根据标识符和头文件,一旦接收到相应的 NM 报文,该调用通常由下层 NM 模块执行。 问题 Q-31b0ce30b88c71b6 (未决)
  • 错误处理:在规范范围内,既未为该服务记录返回值,也未记录针对 DET 或 DEM 的特定错误代码或通知。

在与动态 PNC 映射的交互中,该函数控制学习阶段的激活:如果在配置参数 ComMDynamicPncToChannelMappingEnabled 设置为 TRUE 的通道上调用了 ComM_Nm_PncLearningBitIndication,则 ComM 必须将该通道的 PNC 学习阶段(PNC Learning Phase)置为激活状态 [SWS_ComM_01026]。根据规范,如果模块本身调用 Nm_PnLearningRequest,ComM 也会在相关通道上触发相同的激活学习阶段状态 [SWS_ComM_01026]。

本使用说明由 AI 基于规范要求生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_Nm_ForwardSynchronizedPncShutdown [SWS_ComM_91003] 📄 PDF

void ComM_Nm_ForwardSynchronizedPncShutdown (NetworkHandleType Channel);

If an ECU in role of an intermediate PNC coordinator receives a PN shutdown message via a Nm, then Com M is immediately indicated via Com M_ Nm_ Forward Synchronized Pnc Shutdown to forward the request for a synchronized PNC shutdown of the affected PNCs. Therefore, Com M will immediately release the affected PNC state machines and forward the PN information to the affected Com M Channels and the corresponding NM channels, respectively. Note: This supports a nearly synchronized PNC shutdown across the PN topology from the top - level PNC coordinator down to the subordinated PNC node. Tags: atp.Stat us=draft

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2636291ccf42 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步且可重入的函数 ComM_Nm_ForwardSynchronizedPncShutdown(服务 ID 0x6b)通过头文件 ComM_Nm.h 声明,用于协调转发同步 PNC 关闭 [SWS_ComM_91003]。

使用与调用上下文:当扮演中间 PNC 协调器(intermediate PNC coordinator)角色的 ECU 通过总线特定的 NM 接收到 PN 关闭消息时,该函数被调用 [SWS_ComM_91003]。受影响的通信通道(Channel,类型为 NetworkHandleType)作为唯一的输入参数传入。未定义返回值(void)[SWS_ComM_91003]。

相互协作与流程:在接收到指示后,ComM 立即释放受影响的 PNC 状态机。此外,它立即将 PN 信息转发给受影响的 ComM 通道以及相应的 NM 通道 [SWS_ComM_91003]。这确保了通过分层 PN 拓扑结构从上层顶级协调器到下属 PNC 节点实现基本同步的 PNC 关闭 [SWS_ComM_91003]。

错误处理与约束条件:由于该接口没有返回值且未记录具体错误代码,因此推测错误处理在内部或通过 DET 进行。 问题 Q-618a8c1da055cdf5 (未决)该元素在 Release R20-11 中被归类为 Draft [SWS_ComM_91003]。

本使用说明基于 AUTOSAR Classic R20-11 的规范自动生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_DCM_ActiveDiagnostic [SWS_ComM_00873] 📄 PDF

void ComM_DCM_ActiveDiagnostic (NetworkHandleType Channel);

Indication of active diagnostic by the DCM.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 28d8f482d943 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

同步接口 ComM_DCM_ActiveDiagnostic 用于 Diagnostic Communication Manager (DCM) 向 Communication Manager (ComM) 通知特定通信通道上的活跃诊断活动 [SWS_ComM_00873]。该函数在头文件 ComM_Dcm.h 中定义,并标明服务 ID 为 0x1f [SWS_ComM_00873]。

数据类型为 NetworkHandleType 的输入参数 Channel 作为唯一的调用参数,用于唯一标识即将进行诊断通信的受影响通道 [SWS_ComM_00873]。该接口没有返回值(返回类型 void),且既不存在输入/输出参数,也不存在输出参数 [SWS_ComM_00873]。

并发性与限制

关于并发性,该服务元素被指定为可重入 [SWS_ComM_00873]。这允许从不同的执行上下文中并行同步调用该函数,例如当 DCM 必须同时管理或服务多个网络通道时。

错误处理与交互

对于此调用,未规定单独的错误代码,也未规定向开发错误管理(DET)以及诊断故障存储器管理(DEM)发送报告 [SWS_ComM_00873]。交互仅限于 DCM 与 ComM 之间的信号交换;Interpretation: 在 ComM 中,该调用大概用于在诊断活动持续期间将相应通道保持在活跃通信状态 [SWS_ComM_00873]。 问题 Q-bfd91da2e435fbb6 (未决)

此使用说明基于 AUTOSAR Classic Release R20-11 规范自动生成。

函数 ComM_DCM_InactiveDiagnostic [SWS_ComM_00874] 📄 PDF

void ComM_DCM_InactiveDiagnostic (NetworkHandleType Channel);

Indication of inactive diagnostic by the DCM.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: dcb2211a7199 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

同步函数 ComM_DCM_InactiveDiagnostic 用于 Diagnostic Communication Manager (DCM) 向 Communication Manager (ComM) 指示特定通道上的诊断通信处于非活动状态且不再需要 [SWS_ComM_00874]。该接口的声明通过头文件 ComM_Dcm.h 提供,服务 ID 为 0x20 [SWS_ComM_00874]。

作为输入参数传递类型为 NetworkHandleType 的 Channel,用于标识相关的通信通道 [SWS_ComM_00874]。该函数既无输入/输出参数也无输出参数,且不返回值(void) [SWS_ComM_00874]。

并发与错误处理

该接口被指定为可重入的 [SWS_ComM_00874],因此允许并发调用(例如针对不同的通信通道)。有效载荷中未针对该函数定义特定的错误码、DET 错误消息或 DEM 事件 [SWS_ComM_00874]。ComM 模块应当在内部利用该非活动消息来撤销该通道现有的诊断请求,并相应调整通道状态。 问题 Q-148d39d8c17e936c (未决)

本段文本由人工智能生成,并基于 AUTOSAR 发行版 R20-11 对规范进行总结。

函数 ComM_EcuM_WakeUpIndication [SWS_ComM_00275] 📄 PDF

void ComM_EcuM_WakeUpIndication (NetworkHandleType Channel);

Notification of a wake up on the corresponding channel.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 7eb55dad4966 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 ComM_EcuM_WakeUpIndication 用于将相应受影响通信通道上发生的唤醒事件通知给 Communication Manager(ComM)[SWS_ComM_00275]。一旦 ECU State Manager(EcuM)在某个通道上登记了相应的唤醒,该调用通常应由其发起。 问题 Q-5f8c43b9df10dc8e (未决)

用法与调用上下文

该接口被定义为同步,并具有服务 ID 0x2a [SWS_ComM_00275]。通过类型为 NetworkHandleType 的输入参数 Channel 传递检测到唤醒的通信通道标识符 [SWS_ComM_00275]。该函数无返回值(void),并通过头文件 ComM_EcuM.h 声明 [SWS_ComM_00275]。

并发性与限制

根据规范,ComM_EcuM_WakeUpIndication 被归类为可重入 [SWS_ComM_00275]。因此允许针对不同通道或从并发上下文中并行调用该函数。在元素定义中未指明具体的错误码、返回值或 DET/DEM 报告 [SWS_ComM_00275]。

本段文本由 AI 生成。所有信息均仅源自 AUTOSAR 版本 R20-11 的规范有效载荷。

函数 ComM_EcuM_PNCWakeUpIndication [SWS_ComM_91001] 📄 PDF

void ComM_EcuM_PNCWakeUpIndication (PNCHandleType PNCid);

Notification of a wake up on the corresponding partial network cluster.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: daacbe7c543a 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

同步函数 ComM_EcuM_PNCWakeUpIndication 用于向 Communication Manager 通知 Partial Network Cluster (PNC) 上的唤醒 [SWS_ComM_91001]。它通过头文件 ComM_EcuM.h 声明,并需要受影响集群的标识作为输入参数 PNCid;不存在返回值 [SWS_ComM_91001]。Interpretation: 该调用通常由 ECU State Manager (EcuM) 在检测到相应的 PNC 事件时执行。 问题 Q-fee4a70f73cde8ea (未决)

并发性与状态转换

该接口被指定为可重入 [SWS_ComM_91001]。其调用会在 ComM 的 PNC 状态机和通道状态机内引起针对性的状态转换:

  • 如果引用的集群处于 PNC 主状态 PNC_NO_COMMUNICATION,则退出该状态并切换至 PNC 子状态 PNC_PREPARE_SLEEP [SWS_ComM_00964]。
  • 如果在启用 PNC 支持(ComMPncSupport=TRUE)且禁用同步唤醒(ComMSynchronousWakeUp=FALSE)的情况下于子状态 COMM_NO_COM_NO_PENDING_REQUEST 中执行调用,则该模块将由指定 PNC 所引用的那些 ComM 通道状态机转换到子状态 COMM_NO_COM_REQUEST_PENDING [SWS_ComM_01014]。
  • 反之,若在激活 ComMPncSupport 的情况下配置了 ComMSynchronousWakeUp=TRUE,则在子状态 COMM_NO_COM_NO_PENDING_REQUEST 中的调用将无例外地把所有 ComM 通道状态机切换到子状态 COMM_NO_COM_REQUEST_PENDING [SWS_ComM_01015]。

本说明由 AI 基于 AUTOSAR Classic R20-11 规范生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_CommunicationAllowed [SWS_ComM_00871] 📄 PDF

void ComM_CommunicationAllowed (NetworkHandleType Channel, boolean Allowed);

Ecu M or Bsw M shall indicate to Com M when communication is allowed. If Ecu M/ Flex is used: Bsw M AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COMManager

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: dd432df5254d 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

通过函数 ComM_CommunicationAllowed([SWS_ComM_00871]),EcuM 或 BswM 向模块 ComM 指示特定通道的通信是否已被使能。

用法与调用上下文

该接口由模块 EcuM 或 BswM 调用;如果使用 EcuM Flex,则由 BswM 接管该任务([SWS_ComM_00871])。该函数通过头文件 ComM_BswM.h 声明,且具有服务 ID 0x35([SWS_ComM_00871])。

该函数没有返回值(void),并要求以下传入参数([SWS_ComM_00871]):

  • Channel(类型 NetworkHandleType):标识受影响的通信通道([SWS_ComM_00871])。
  • Allowed(类型 boolean):传递使能状态,TRUE 表示允许通信,FALSE 表示不允许通信([SWS_ComM_00871])。

并发性与限制

根据规范,该函数以异步方式工作(Asynchronous),并被归类为不可重入(Non Reentrant)([SWS_ComM_00871])。由于其不可重入性,调用方可能需要确保不会对该接口发生并行或打断调用。 问题 Q-e6688e3286d9ed60 (未决)

本使用说明基于规范 SWS_ComM_00871 自动创建。

函数 ComM_BusSM_ModeIndication [SWS_ComM_00675] 📄 PDF

void ComM_BusSM_ModeIndication (NetworkHandleType Channel, ComM_ModeType ComMode);

Indication of the actual bus mode by the corresponding Bus State Manager. Com M shall propagate the indicated state to the users with means of the RTE and Bsw M.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 2b6a6d8909ac 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用与签名

接口 ComM_BusSM_ModeIndication 用于主管 Bus State Manager 向 ComM 模块指示实际总线模式 [SWS_ComM_00675]。该 C 函数可通过头文件 ComM.h 获取,并在服务 ID 0x33 下管理 [SWS_ComM_00675]。其语法为 void ComM_BusSM_ModeIndication (NetworkHandleType Channel, ComM_ModeType ComMode) [SWS_ComM_00675]。

该函数接收两个输入参数:

  • Channel:受影响的通信通道,类型为 NetworkHandleType [SWS_ComM_00675]。
  • ComMode:总线的实际模式,类型为 ComM_ModeType [SWS_ComM_00675]。

该接口无返回值(void),并且既未定义输入/输出参数,也未定义纯返回参数 [SWS_ComM_00675]。

并发与同步

关于运行时行为,规定调用是异步进行的(Asynchronous),且该函数可以可重入地(Reentrant)执行 [SWS_ComM_00675]。

整个系统中的交互

ComM 模块将通过此调用报告的状态转发给用户 [SWS_ComM_00675]。总线状态的这种传播通过 RTE 和 BswM 的接口进行 [SWS_ComM_00675]。

此使用说明基于 AUTOSAR Classic R20-11 规范自动生成。

实现者指南即将推出(复杂度 I1)

函数 ComM_BusSM_BusSleepMode [SWS_ComM_91000] 📄 PDF

void ComM_BusSM_BusSleepMode (NetworkHandleType Channel);

Notification of the corresponding Bus State Manager that the actual bus mode is Bus - Sleep. Only applicable for Com M channels with Com MNm Variant set to SLAVE_ ACTIVE or SLAVE_ PASSIVE. E.g. LIN slaves (Com MNMVariant = SLAVE_ ACTIVE) or Ethernet channels with OA TC10 compliant Ethernet hardware which act as passive communication slave (Com MNMVariant = SLAVE_ PASSIVE and Eth Trcv Act As Slave Passive Enabled set to TRUE)

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 15e9f20a51a1 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

同步服务函数 ComM_BusSM_BusSleepMode 用于主管 Bus State Manager (BusSM) 向 Communication Manager (ComM) 发送通知,表明通信通道的实际总线模式已切换至 Bus-Sleep 状态 [SWS_ComM_91000]。受影响通道的标识通过类型为 NetworkHandleType 的输入参数 Channel 进行 [SWS_ComM_91000]。该函数既未声明输出参数,也未声明返回值(void) [SWS_ComM_91000]。

取决于配置的有效性

该调用并非普遍允许,而是明确限制于参数 ComMNmVariant 设置为 SLAVE_ACTIVE 或 SLAVE_PASSIVE 的 ComM 通道 [SWS_ComM_91000]。为此,规范列举了两种典型的应用场景:

  • 配置为 ComMNmVariant = SLAVE_ACTIVE 的 LIN 从节点 [SWS_ComM_91000]。
  • 采用符合 OPEN Alliance TC10 的硬件且作为被动通信从节点运行的以太网通道,其中 ComMNmVariant = SLAVE_PASSIVE 且参数 EthTrcvActAsSlavePassiveEnabled 设定为 TRUE [SWS_ComM_91000]。

并发与集成

该接口的服务 ID 为 0x34,通过头文件 ComM.h 声明,并归类为可重入 [SWS_ComM_91000]。在函数定义中未列出特定的错误码或发生错误时的特殊行为 [SWS_ComM_91000]。

此使用说明基于 AUTOSAR CP R20-11 规范自动生成。

实现者指南即将推出(复杂度 I1)

类型 ComM_InitStatusType [SWS_ComM_00668] 📄 PDF

Initialization status of Com M.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 718e37f2e05f 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 ComM_InitStatusType 用于表示 ComM(COM Manager)模块的初始化状态,可通过头文件 ComM.h 获取 [SWS_ComM_00668]。

取值范围恰好包含两个状态,用于区分运行就绪状态 [SWS_ComM_00668]:

  • COMM_UNINIT(编码值为 0x00 或 0):指示 COM Manager 未初始化或不可用。在复位后,该状态强制为默认值 [SWS_ComM_00668]。
  • COMM_INIT(编码值为 0x01):指示 COM Manager 已正确初始化且就绪可用 [SWS_ComM_00668]。

关于时间顺序和模块使用,该状态标明了 COM Manager 的基本可用性 [SWS_ComM_00668]。Interpretation: 调用者或模块内部例程应当评估此状态,以确保不会在状态 COMM_UNINIT 下处理通信请求,因为规范明确规定 COM Manager 在此状态下不可用 [SWS_ComM_00668]。 问题 Q-2c4da2e5c40a0f4b (未决)只有在成功切换到 COMM_INIT 之后,该模块才可用于上层交互。

本段文本由人工智能生成;仅规范具有约束力。

实现者指南即将推出(复杂度 I1)

类型 ComM_PncModeType [SWS_ComM_00673] 📄 PDF

Current mode of a PNC

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 40d939f71907 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 ComM_PncModeType 定义 Communication Manager 中 Partial Network Cluster(PNC)的当前运行状态 [SWS_ComM_00673]。该类型通过头文件 ComM.h 提供,包含五个离散状态 [SWS_ComM_00673]:

  • COMM_PNC_REQUESTED (0x00):PNC 由本地 ComM 用户请求。
  • COMM_PNC_READY_SLEEP (0x01):PNC 由远程 ComM 用户请求。
  • COMM_PNC_PREPARE_SLEEP (0x02):PNC 处于激活状态,但没有期限监控(Deadline Monitoring)。
  • COMM_PNC_NO_COMMUNICATION (0x03):PNC 未发生通信。
  • COMM_PNC_REQUESTED_WITH_WAKEUP_REQUEST (0x04):本地 PNC 请求,并向 BswM 发送额外的硬件唤醒请求。

在与 BswM 的协作中,模式 COMM_PNC_REQUESTED_WITH_WAKEUP_REQUEST 用于指示活动请求还应额外触发通信硬件的唤醒 [SWS_ComM_00673]。这以该功能受支持且已配置为前提,例如符合 OA TC10 的以太网交换机的端口切换 [SWS_ComM_00673]。需要注意的限制是,在 R20-11 发行版中,该模式带有 draft 状态 [SWS_ComM_00673]。

由于它纯属类型定义,因此 ComM_PncModeType 不存在专门的错误处理例程或可重入性规定。

Interpretation: 由于该类型在 ComM.h 中声明,且 BswM 作为模式信息的接收者被寻址,因此该数据类型应当跨模块用作 PNC 状态消息的接口参数。 问题 Q-88ad945ffcf90e9e (未决)

此文本由 AI 基于 AUTOSAR CP R20-11 规范生成。

实现者指南即将推出(复杂度 I1)

类型 ComM_StateType [SWS_ComM_00674] 📄 PDF

State and sub - state of Com M state machine Com M states vs. Communication Modes: COMM_ NO_ COM* : Communication Mode='No Communication' COMM_ FULL_ COM*: Communication Mode='Full Communication' COMM_ SILENT_ COM: Communicatio Mode='Silent Communication'

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 8413810827e4 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用和定义

类型 ComM_StateType 表示 AUTOSAR Classic Platform 中 Communication Manager (ComM) 内部状态机的状态和子状态 [SWS_ComM_00674]。它基于标准类型 uint8 定义为一个独立类型,并通过头文件 ComM.h 提供给软件组件和 BSW 模块 [SWS_ComM_00674]。

取值范围和子状态

取值范围包含五个固定值,它们反映了通信状态机的精确阶段 [SWS_ComM_00674]:

  • COMM_NO_COM_NO_PENDING_REQUEST(值 0):表示当前没有通信请求时 No Communication 内的状态 [SWS_ComM_00674]。
  • COMM_NO_COM_REQUEST_PENDING(值 1):表示有通信请求挂起时 No Communication 内的状态 [SWS_ComM_00674]。
  • COMM_FULL_COM_NETWORK_REQUESTED(值 2):表示网络已被主动请求时 Full Communication 内的状态 [SWS_ComM_00674]。
  • COMM_FULL_COM_READY_SLEEP(值 3):表示不再存在活跃请求且网络已准备好进入休眠时 Full Communication 内的状态 [SWS_ComM_00674]。
  • COMM_SILENT_COM(值 4):对应于通信模式 Silent Communication [SWS_ComM_00674]。

与通信模式的映射关系

ComM_StateType 的值与 ComM 的上级通信模式(Communication Modes)存在直接对应关系 [SWS_ComM_00674]。带有前缀 COMM_NO_COM* 的所有状态均归属于模式 No Communication,而带有前缀 COMM_FULL_COM* 的状态则对应于模式 Full Communication [SWS_ComM_00674]。值 COMM_SILENT_COM 映射同名的通信模式 Silent Communication [SWS_ComM_00674]。

本使用说明基于版本 R20-11 的规范自动生成。

实现者指南即将推出(复杂度 I1)

类型 ComM_ConfigType [SWS_ComM_00162] 📄 PDF

This type contains the implementation - specific post build configuration structure.

类型 ComM_ModeType [SWS_ComM_00672] 📄 PDF

Current mode of the Communication Manager (main state of the state machine).

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: d7b689fcfa09 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

数据类型 ComM_ModeType 在 Communication Manager 中映射当前的通信模式,从而映射 ComM 通道状态机的主要状态 [SWS_ComM_00672]。它派生自基本类型 uint8,并通过头文件 Rte_ComM_Type.h 提供给软件组件和其他 BSW 模块使用 [SWS_ComM_00672]。

取值范围包括四种离散的操作模式,这些模式定义了相应通道的通信能力 [SWS_ComM_00672]:

  • COMM_NO_COMMUNICATION (0):所配置的通道处于静默状态,既不具备发送能力也不具备接收能力 [SWS_ComM_00672]。
  • COMM_SILENT_COMMUNICATION (1):通道仅限于被动接收能力;禁止发送报文 [SWS_ComM_00672]。
  • COMM_FULL_COMMUNICATION (2):通道处于具有主动发送和接收能力的完全通信运行状态 [SWS_ComM_00672]。
  • COMM_FULL_COMMUNICATION_WITH_WAKEUP_REQUEST (3):通道具有向下层的发送和接收能力,例如符合 OPEN Alliance TC10 的以太网硬件 [SWS_ComM_00672]。

使用时存在重要的功能限制:模式 COMM_FULL_COMMUNICATION_WITH_WAKEUP_REQUEST 带有标签 atp.Status=draft,且明确仅供 ComM 通道状态机内部使用 [SWS_ComM_00672]。因此,外部用户或上层软件组件大概既不得将此状态作为目标模式进行请求,也不得通过接口直接期待此状态。 问题 Q-e5f4abe0d6543c82 (未决)该类型未定义特定的错误码、运行时检查或向 DET 或 DEM 的报告 [SWS_ComM_00672]。

本使用说明为自动生成,基于 AUTOSAR Classic R20-11 的规定。

实现者指南即将推出(复杂度 I1)

类型 ComM_UserHandleType [SWS_ComM_00670] 📄 PDF

Handle to identify a user. For each user, a unique value must be defined at system generation time. Maximum number of users is 255. Legal user IDs are in the range 0 .. 254; user ID 255 is reserved and shall have the symbolic representation COMM_ NOT_ USED _ USER_ ID.

类型 ComM_UserHandleArrayType [SWS_ComM_00906] 📄 PDF

number Of Requesters contains the number of valid user handle entries in the "handle Array" member. If no user keeps the channel requested, this is zero {LOWER - LIMIT=0, UPPER - LIMIT= MAX_ CHANNEL_ REQUESTER }

类型 ComM_UserHandleSubArrayType [SWS_ComM_01005] 📄 PDF

This element contains the user handles of the users which keep the channel requested (if any), starting in its first entries. The size of the array MAX_ CHANNE L_ REQUESTERS is the maximum of the number of users requesting a channel.

类型 ComM_PncMembershipType [SWS_ComM_91103] 📄 PDF

Array of uint8 with Elements that holds the current PNC Membership of the node.

类型 modeLimitation [SWS_ComM_01009] 📄 PDF

-

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 9b4e67770c72 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

根据 [SWS_ComM_01009],规范元素 modeLimitation 被定义为通信管理器(ComM)针对接口 ComM_ECUModeLimitation 的提供端口(Provided Port)。Interpretation: 通过该端口接口,模块 ComM 应当向上层软件组件或 BswM 提供用于在 ECU 级别针对性限制活动通信模式的机制,以例如保障功耗或运行模式。 问题 Q-337c6b40bd72cf76 (未决)

系统中所提供该端口受显式变体条件的约束:根据 [SWS_ComM_01009],仅当配置选项 {ecuc(ComM/ComMGeneral.ComMModeLimitationEnabled)} == true 被置位时,该元素才存在于系统中。禁用此参数大概会导致在代码生成期间省略该端口。 问题 (未决)因此,应用和基础软件组件仅在选项被激活时才可在架构上连接该接口。

关于具体的接口操作、参数、可重入性以及向 DET 或 DEM 的错误消息,[SWS_ComM_01009] 未包含单独的规定。因此,集成商尤其必须在将组件与端口 modeLimitation 连接之前,确保容器 ComMGeneral 中的所需配置已激活。

本段文本由人工智能基于规范 SWS_ComM_01009 生成。

实现者指南即将推出(复杂度 I1)

类型 ComMMode [SWS_ComM_01012] 📄 PDF

-

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 4cfc31e3cea5 来源 未决问题(3)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

类型 ComMMode 在 ComM 模块中被指定为 Mode Declaration Group [SWS_ComM_01012]。该元素归属于类别 ALPHABETIC_ORDER,并定义该模块的基本通信模式 [SWS_ComM_01012]。

该组包含三个具有约束力的状态 [SWS_ComM_01012]:

COMM_NO_COMMUNICATION 被指定为初始模式,因此系统默认在无活动通信的情况下启动 [SWS_ComM_01012]。未为转换定义单独的值(“On transition value”)[SWS_ComM_01012];Interpretation: 这大概意味着状态切换是直接进行的,没有定义的中间状态。 问题 Q-f0e73d26f85073b4 (未决)Interpretation: 这些模式应当映射模块中通道或通信用户的通信状态。 问题 Q-ef5fa29f6af152c7 (未决)Interpretation: 类别 ALPHABETIC_ORDER 应当主要为 RTE 的接口规定标准化的枚举和表示。 问题 Q-12af3dde3a4cc95e (未决)

本段文本由人工智能基于 SWS_ComM_01012 创建。

实现者指南即将推出(复杂度 I1)

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_ComM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_ComM@rel:R20-11#e8395dce
Content hash
e8395dce
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_COMManager.pdf#nameddest=SWS_ComM_00146

初始化与状态

This API de - initializes the AUTOSAR Communication Manager.

void ComM_DeInit (void);

Returns the initialization status of the AUTOSAR Communication Manager. After a call to Com M_ De Init() Com M should have status COMM_ UNINIT, and a new call to Com M_ Init needed to make sur e Com M restart internal state machines to defailt values.

Std_ReturnType ComM_GetStatus (ComM_InitStatusType* Status);

This function returns the published information (for details refer to table 10.3)

void ComM_GetVersionInfo (Std_VersionInfoType* Versioninfo);
ComM_Init 函数

Initializes the AUTOSAR Communication Manager and restarts the internal state machines.

void ComM_Init (const ComM_ConfigType* ConfigPtr);

服务 · Nm…

Notification that the network management has entered Bus - Sleep Mode. This callback function should perform a transition of the hardware and transceiver to bus - sleep mode.

void ComM_Nm_BusSleepMode (NetworkHandleType Channel);

If an ECU in role of an intermediate PNC coordinator receives a PN shutdown message via a Nm, then Com M is immediately indicated via Com M_ Nm_ Forward Synchronized Pnc Shutdown to forward the request for a synchronized PNC shutdown of the affected PNCs. Therefore, Com M will immediately release the affected PNC state machines and forward the PN information to the affected Com M Channels and the corresponding NM channels, respectively. Note: This supports a nearly synchronized PNC shutdown across the PN topology from the top - level PNC coordinator down to the subordinated PNC node. Tags: atp.Stat us=draft

void ComM_Nm_ForwardSynchronizedPncShutdown (NetworkHandleType Channel);

Notification that the network management has entered Network Mode.

void ComM_Nm_NetworkMode (NetworkHandleType Channel);

Indication that a NM - message has been received in the Bus Sleep Mode, what indicates that some nodes in the network have already entered the Network Mode.

void ComM_Nm_NetworkStartIndication (NetworkHandleType Channel);

Service to indicate that an NM message with set PNC Learning Bit has been received. Tags: atp.Status=draft

void ComM_Nm_PncLearningBitIndication (NetworkHandleType Channel);

Notification that the network management has entered Prepare Bus - Sleep Mode.

void ComM_Nm_PrepareBusSleepMode (NetworkHandleType Channel);

Notification that the state of all has left Repeat Message. This interface is used to indicate by the optional Dynamic PNC - to - channel - mapping feature to indicate that learning phase ends. Tags: atp.Status=draft

void ComM_Nm_RepeatMessageLeftIndication (NetworkHandleType Channel);

If Nm If has started to shut down the coordinated busses, AND not all coordinated busses have indicated bus sleep state, AND on at least on one of the coordinated busses NM is restarted, THEN the NM Interface shall call the callback function Com M_ Nm_ Res tart Indication with the nm Network Handle of the channels which have already indicated bus sleep state.

void ComM_Nm_RestartIndication (NetworkHandleType Channel);

服务 · Get…

Function to query the current Communication Mode. Com M shall use the corresponding interfaces of the Bus State Managers to get the current Communication Mode of the network. (Call to Bus State Manager API: XXXSM _ Get Current Com Mode(...))

Std_ReturnType ComM_GetCurrentComMode (ComM_UserHandleType User, ComM_ModeType* ComMode);

The function returns the current Communication Mode of the corresponding PNC the affected user is assigned to.

Std_ReturnType ComM_GetCurrentPNCComMode (ComM_UserHandleType User, ComM_ModeType* ComMode);

Returns the inhibition status of a Com M channel.

Std_ReturnType ComM_GetInhibitionStatus (NetworkHandleType Channel, ComM_InhibitionStatusType* Status);

Function t o query the maximum allowed Communication Mode of the corresponding user.

Std_ReturnType ComM_GetMaxComMode (ComM_UserHandleType User, ComM_ModeType* ComMode);

This function returns the current configuration of the ECUs PNC - to -

Std_ReturnType ComM_GetPncToChannelMapping (boolean* MappingTable, uint8* ChannelCnt, uint8* PncCnt);

Function to query the currently requested Communication Mode of the corresponding user. Availa ble via Com M.h

Std_ReturnType ComM_GetRequestedComMode (ComM_UserHandleType User, ComM_ModeType* ComMode);

服务 · Bus…

Notification of the corresponding Bus State Manager that the actual bus mode is Bus - Sleep. Only applicable for Com M channels with Com MNm Variant set to SLAVE_ ACTIVE or SLAVE_ PASSIVE. E.g. LIN slaves (Com MNMVariant = SLAVE_ ACTIVE) or Ethernet channels with OA TC10 compliant Ethernet hardware which act as passive communication slave (Com MNMVariant = SLAVE_ PASSIVE and Eth Trcv Act As Slave Passive Enabled set to TRUE)

void ComM_BusSM_BusSleepMode (NetworkHandleType Channel);

Indication of the actual bus mode by the corresponding Bus State Manager. Com M shall propagate the indicated state to the users with means of the RTE and Bsw M.

void ComM_BusSM_ModeIndication (NetworkHandleType Channel, ComM_ModeType ComMode);

服务 · D…

Indication of active diagnostic by the DCM.

void ComM_DCM_ActiveDiagnostic (NetworkHandleType Channel);

Indication of inactive diagnostic by the DCM.

void ComM_DCM_InactiveDiagnostic (NetworkHandleType Channel);

服务 · Ecu…

Notification of a wake up on the corresponding partial network cluster.

void ComM_EcuM_PNCWakeUpIndication (PNCHandleType PNCid);

Notification of a wake up on the corresponding channel.

void ComM_EcuM_WakeUpIndication (NetworkHandleType Channel);

服务 · Limit…

Changes the inhibition status f or the channel for changing from COMM_ NO_ COMMUNICATION to a higher Communication Mode. (See also Com M_ Limit ECUTo No Com Mode, same functionality but for all channels)

Std_ReturnType ComM_LimitChannelToNoComMode (NetworkHandleType Channel, boolean Status);

Changes the inhibition status for the ECU (=all channels) for changing from COMM_ NO_ COMMUNICATION to a high er Communication Mode. (See also Com M_ Limit Channel To No Com Mode, same functionality but for a specific channels)

Std_ReturnType ComM_LimitECUToNoComMode (boolean Status);

服务 · Reset…

This function resets the Inhibited COMM_ FULL_ COMMUNICATION request Counter.

Std_ReturnType ComM_ResetInhibitCounter (void);

This function resets dynamic entries within the ECUs PNC - to - channel - mapping to default values Tags: atp.Status=draft

Std_ReturnType ComM_ResetPncToChannelMapping (void);

服务 · Update…

This function is used by SWCs to update the PNC membership which is transmitted during PNC Learning. This function is used for the optional Dynamic PNC - to - channel - mapping feature. This function is used for the optional Dynamic PNC - to - channel - mapping feature. Tags: atp.Status=draft

Std_ReturnType ComM_UpdatePncMembership (boolean Control, const uint8* ComM_PncMembership);

This function can be used to set entries within the the ECUs PNC - to - channel -

Std_ReturnType ComM_UpdatePncToChannelMapping (const boolean* MappingTable, uint8 channelCnt, uint8 PncCnt);

服务 · 其他

Ecu M or Bsw M shall indicate to Com M when communication is allowed. If Ecu M/ Flex is used: Bsw M AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COMManager

void ComM_CommunicationAllowed (NetworkHandleType Channel, boolean Allowed);

Triggers the NM to return into NM Repe at Message State and send the Partial Network Learning Bit (in order for receiving nodes to respond) together with the Repeat Message Request Bit (in order for receiving nodes to return into NM Repeat Message State). This function is used for the optional Dynamic PNC - to - channel - mapping feature. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COMManager Tags: atp.Status=draft

Std_ReturnType ComM_PnLearningRequest (void);

Changes the inhibition status COMM_ NO_ WAKEUP for the corresponding channel.

Std_ReturnType ComM_PreventWakeUp (NetworkHandleType Channel, boolean Status);

This function returns the amount of rejected COMM_ FULL_ COMMUNICATION user requests.

Std_ReturnType ComM_ReadInhibitCounter (uint16* CounterValue);

Requesting of a Communication Mode by a user. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_COMManager Note: The following modes are no vaild user requests, since they are used as internal modes: - COMM_ SIL ENT_ COMMUNICATION (this mode is used for synchronization at shutdown) - COMM_ FULL_ COMMUNICATION_ WITH_ WAKEUP_ REQUEST (this mode is used internally within the Com M channel statemachine to trigger the lower layers to request a wakeup on the network if the used hardware support such a feature. (e.g. Ethernet hardware which is compatible with OA TC10). The following modes are valid user requests: - COMM_ NO_ COMMUNICATION - COMM_ FULL_ COMMUNICATION. The communication request could also be released due to

Std_ReturnType ComM_RequestComMode (ComM_UserHandleType User, ComM_ModeType ComMode);

Changes the ECU Group Classification status (see chapter 10.2.2)

Std_ReturnType ComM_SetECUGroupClassification (ComM_InhibitionStatusType Status);

类型

This type contains the implementation - specific post build configuration structure.

Initialization status of Com M.

Current mode of the Communication Manager (main state of the state machine).

Array of uint8 with Elements that holds the current PNC Membership of the node.

Current mode of a PNC

State and sub - state of Com M state machine Com M states vs. Communication Modes: COMM_ NO_ COM* : Communication Mode='No Communication' COMM_ FULL_ COM*: Communication Mode='Full Communication' COMM_ SILENT_ COM: Communicatio Mode='Silent Communication'

number Of Requesters contains the number of valid user handle entries in the "handle Array" member. If no user keeps the channel requested, this is zero {LOWER - LIMIT=0, UPPER - LIMIT= MAX_ CHANNEL_ REQUESTER }

This element contains the user handles of the users which keep the channel requested (if any), starting in its first entries. The size of the array MAX_ CHANNE L_ REQUESTERS is the maximum of the number of users requesting a channel.

Handle to identify a user. For each user, a unique value must be defined at system generation time. Maximum number of users is 255. Legal user IDs are in the range 0 .. 254; user ID 255 is reserved and shall have the symbolic representation COMM_ NOT_ USED _ USER_ ID.

ComMMode 类型

-