AUTOSAR_SWS_COM 中文翻译

文档编号:015 | 状态:Final | 发布于:AUTOSAR CP Release 4.4.0
所属标准:AUTOSAR Classic Platform | 文档责任方:AUTOSAR

本翻译覆盖原文档 1-200 页正文。原文为软件规范(SWS),定义 COM(Communication)模块的 API、配置、错误处理——AUTOSAR 通信栈核心,含 20+ API 函数。


1 引言与范围

COM(Communication)模块位于 RTE 与 PduR 之间,负责将基于信号的应用数据传输映射到基于 PDU 的总线传输。提供信号打包/解包、I-PDU 组管理、传输模式、过滤、监控、超时、Large Data、E2E 通信保护等功能。

2 缩略语

COM / RTE / PduR / I-PDU / N-PDU / L-PDU / Signal / Signal Group / E2E / TM / TP / DLT / PDU / I-PDU Group

3 相关文档

[1] AUTOSAR Layered Software Architecture
[2] AUTOSAR SWS PduR
[3] AUTOSAR SWS RTE
[4] AUTOSAR SRS COM
[5] AUTOSAR ASWS Transformer General

4 约束与假设

COM 应:

5 依赖其他模块

COM 依赖:RTE(数据源)/ PduR(PDU 路由)/ E2E Library(保护)/ PduR_Tp(TP)。

6 功能规格

6.1 架构

COM 位于 RTE 与 PduR 之间:

7 API 服务

7.1 初始化 / 关闭

void Com_Init(const Com_ConfigType* Config):初始化 COM。
void Com_DeInit(void):去初始化。

7.2 信号传输

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 发送。

7.3 信号接收

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 接收数据复制(别名)。

7.4 I-PDU 组管理

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):设置组向量中的位。

7.5 复制数据(TP)

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 发送确认。

7.6 监控

void Com_MainFunctionRx(void):处理接收超时和监控。
void Com_MainFunctionTx(void):处理发送任务(包括 Mixed Transmission Mode)。
void Com_MainFunctionRouteSignals(void):处理信号路由(R4.4 新增)。

7.7 版本信息

void Com_GetVersionInfo(Std_VersionInfoType* versioninfo):获取版本信息。

8 配置

COM 配置类:

9 错误处理

9.1 开发错误

COM_E_UNINIT:模块未初始化。
COM_E_PARAM_POINTER:参数指针为空。
COM_E_PARAM:参数无效。
COM_E_INIT_FAILED:初始化失败。

9.2 运行时错误

COM_E_BUSY:模块忙。
COM_E_SKIPPED:传输被跳过。


校对记录

校对轮次:L1 自动校对(2026-06-13)