AUTOSAR_SWS_IPDUMultiplexer 中文翻译

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

本翻译覆盖原文档 1-92 页正文。原文为软件规范(SWS),定义 I-PDU Multiplexer(IpduM)模块的 API、配置、错误处理。


1 引言与范围

I-PDU Multiplexer(IpduM)实现 I-PDU 级别的多路复用。位于 PduR 与具体通信接口模块(CanIf/FrIf/LinIf/EthIf)之间。允许多个上层 PDU 共用一个底层 PDU 槽位(Slot),通过 Selector 字段区分。

2 缩略语

IpduM / I-PDU / Selector / Static / Dynamic / Multiplexed PDU / Container PDU / Static Part / Dynamic Part / Mask

3 相关文档

[1] AUTOSAR SWS PduR
[2] AUTOSAR SWS CAN Interface
[3] AUTOSAR SWS FlexRay Interface
[4] AUTOSAR SWS LIN Interface
[5] AUTOSAR SRS IPDUMultiplexer

4 约束与假设

IpduM 应:

5 依赖其他模块

IpduM 依赖:PduR(PDU 路由)/ CanIf / FrIf / LinIf / EthIf / Dem(错误上报)。

6 功能规格

6.1 架构

IpduM 位于 PduR 之下,IF 模块之上。Container PDU 包含:

6.2 多路复用类型

IpduM 支持两种多路复用:

7 API 服务

7.1 初始化 / 关闭

void IpduM_Init(const IpduM_ConfigType* ConfigPtr):初始化。
void IpduM_DeInit(void):去初始化。

7.2 传输

Std_ReturnType IpduM_Transmit(PduIdType TxPduId, const PduInfoType* PduInfoPtr):请求传输(来自 PduR)。

7.3 触发传输

Std_ReturnType IpduM_TriggerTransmit(PduIdType TxPduId, PduInfoType* PduInfoPtr):触发传输。

7.4 取消

Std_ReturnType IpduM_CancelTransmit(PduIdType TxPduId):取消传输。
Std_ReturnType IpduM_CancelReceive(PduIdType RxPduId):取消接收。

7.5 状态查询

Std_ReturnType IpduM_GetStatus(PduIdType PduId, IpduM_StatusType* StatusPtr):获取 PDU 状态。
Std_ReturnType IpduM_GetConnectionStatus(PduIdType ConnectionId, IpduM_ConnectionStatusType* StatusPtr):获取连接状态。

7.6 回调(来自 IF 模块)

void IpduM_RxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr):接收指示。
void IpduM_TxConfirmation(PduIdType TxPduId, Std_ReturnType Result):发送确认。

7.7 MainFunction

void IpduM_MainFunctionRx(void):接收处理。
void IpduM_MainFunctionTx(void):发送处理。

8 配置

IpduM 配置类:

9 错误处理

9.1 开发错误

IPDUM_E_UNINIT:模块未初始化。
IPDUM_E_PARAM_POINTER:参数指针为空。
IPDUM_E_PARAM:参数无效。

9.2 运行时错误

IPDUM_E_BUSY:模块忙。
IPDUM_E_INVALID_SELECTOR:Selector 值无效(无法匹配的 Multiplexed PDU)。


校对记录

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