COM(Communication)模块位于 RTE 与 PduR 之间,负责将基于信号的应用数据传输映射到基于 PDU 的总线传输。提供信号打包/解包、I-PDU 组管理、传输模式、过滤、监控、超时、Large Data、E2E 通信保护等功能。
COM / RTE / PduR / I-PDU / N-PDU / L-PDU / Signal / Signal Group / E2E / TM / TP / DLT / PDU / I-PDU Group
[1] AUTOSAR Layered Software Architecture
[2] AUTOSAR SWS PduR
[3] AUTOSAR SWS RTE
[4] AUTOSAR SRS COM
[5] AUTOSAR ASWS Transformer General
COM 应:
COM 依赖:RTE(数据源)/ PduR(PDU 路由)/ E2E Library(保护)/ PduR_Tp(TP)。
COM 位于 RTE 与 PduR 之间:
void Com_Init(const Com_ConfigType* Config):初始化 COM。
void Com_DeInit(void):去初始化。
Std_ReturnType Com_SendSignal(Com_SignalIdType SignalId, const void* SignalDataPtr):发送信号。
Std_ReturnType Com_SendSignalGroup(Com_SignalGroupIdType SignalGroupId):发送信号组。
Std_ReturnType Com_TriggerTransmit(PduIdType TxPduId, PduInfoType* PduInfoPtr):请求 PduR 触发 I-PDU 传输。
Std_ReturnType Com_TriggerIPDUSend(PduIdType PduId):触发 I-PDU 发送(不修改数据)。
Std_ReturnType Com_TriggerIPDUSendWithMetaData(PduIdType PduId, const PduInfoType* MetaData):带元数据触发 I-PDU 发送。
Std_ReturnType Com_ReceiveSignal(Com_SignalIdType SignalId, void* SignalDataPtr):接收信号。
Std_ReturnType Com_ReceiveSignalGroup(Com_SignalGroupIdType SignalGroupId):接收信号组。
void Com_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr):PDU 接收指示(来自 PduR)。
void Com_TpRxIndication(PduIdType Id, Std_ReturnType Result):TP 接收指示。
BufReq_ReturnType Com_StartOfReception(PduIdType ComRxPduId, PduLengthType SduLength, PduLengthType* BufferSizePtr):TP 接收开始(来自 PduR)。
BufReq_ReturnType Com_CopyRxData(PduIdType ComRxPduId, const PduInfoType* PduInfoPtr, PduLengthType* BufferSizePtr):TP 接收数据复制。
BufReq_ReturnType Com_TpCopyRxData(PduIdType Id, const PduInfoType* PduInfoPtr, PduLengthType* RxBufferSizePtr):TP 接收数据复制(别名)。
void Com_IpduGroupControl(Com_IpduGroupVector ipduGroupVector, boolean Initialize):启用/禁用 I-PDU 组。
void Com_ClearIpduGroupVector(Com_IpduGroupVector ipduGroupVector):清除组向量。
void Com_SetIpduGroup(Com_IpduGroupVector ipduGroupVector, Com_IpduGroupIdType IpduGroupId, boolean BitVal):设置组向量中的位。
BufReq_ReturnType Com_CopyTxData(PduIdType ComTxPduId, PduInfoType* PduInfoPtr, RetryInfoType* RetryInfoPtr, PduLengthType* AvailableDataLengthPtr):TP 发送数据复制。
BufReq_ReturnType Com_TpCopyTxData(PduIdType Id, PduInfoType* PduInfoPtr, RetryInfoType* RetryInfoPtr, PduLengthType* TxBufferSizePtr):TP 发送数据复制(别名)。
void Com_TxConfirmation(PduIdType TxPduId, Std_ReturnType Result):发送确认。
void Com_TpTxConfirmation(PduIdType Id, Std_ReturnType Result):TP 发送确认。
void Com_MainFunctionRx(void):处理接收超时和监控。
void Com_MainFunctionTx(void):处理发送任务(包括 Mixed Transmission Mode)。
void Com_MainFunctionRouteSignals(void):处理信号路由(R4.4 新增)。
void Com_GetVersionInfo(Std_VersionInfoType* versioninfo):获取版本信息。
COM 配置类:
COM_E_UNINIT:模块未初始化。
COM_E_PARAM_POINTER:参数指针为空。
COM_E_PARAM:参数无效。
COM_E_INIT_FAILED:初始化失败。
COM_E_BUSY:模块忙。
COM_E_SKIPPED:传输被跳过。
校对轮次:L1 自动校对(2026-06-13)