Files
autosar_standard_spec_v4.4/Communication/AUTOSAR_SWS_IPDUMultiplexer.md
T

10 KiB

I-PDU 复用器规范 (Specification of I-PDU Multiplexer)

AUTOSAR CP Release 4.4.0 文档 ID 182: AUTOSAR_SWS_IPDUMultiplexer

元信息

项目 内容
文档标题 I-PDU 复用器规范
文档所有者 AUTOSAR
文档责任方 AUTOSAR
文档标识号 182
文档状态 Final
所属 AUTOSAR 标准 Classic Platform
所属标准版本 4.4.0

文档变更历史

日期 版本 变更方 变更说明
2018-10-31 4.4.0 AUTOSAR Release Management Container PDU 支持;细微更正
2017-12-08 4.3.1 AUTOSAR Release Management 修正/澄清
2016-11-30 4.3.0 AUTOSAR Release Management 多 PDU 到 Container 处理
2015-07-31 4.2.2 AUTOSAR Release Management 编辑修正
2014-10-31 4.2.1 AUTOSAR Release Management 选择字段增强
2014-03-31 4.1.3 AUTOSAR Release Management 编辑变更
2013-10-31 4.1.2 AUTOSAR Release Management TX 触发增强
2013-03-15 4.1.1 AUTOSAR Administration 配置增强
2011-12-22 4.0.3 AUTOSAR Administration 多段静态/动态部分
2010-09-30 3.1.5 AUTOSAR Administration 初始稳定版本

目录


1. 介绍与功能概述

本规范描述 AUTOSAR 基础软件模块 I-PDU 复用器 (IpduM) 的功能、API 和配置。

PDU 复用是指对一个 PDU(协议数据单元)的 PCI(协议控制信息)使用多种 SDU(服务数据单元)布局。选择字段(selector field) 是复用 PDU SDU 的一部分,用于区分不同复用 PDU 的内容。

PDU 复用目前已知用于 CAN,但不限于此通信系统。

在发送端,I-PDU 复用器模块负责将 COM 的合适 I-PDU 组合为新的复用 I-PDU,并发回 PDU 路由器。在接收端,负责解释复用 I-PDU 的内容,根据选择字段值,将适当的分离 I-PDU 提供给 COM。


2. 缩略语

缩略语 描述
COM I-PDU 由 COM 模块从 COM 信号组装的 I-PDU
contained I-PDU 组装到 Container PDU 中或从中提取的 I-PDU
Container PDU 包含 I-PDU 和头的 PDU
dynamic part 动态部分
instance of an I-PDU IpduM I-PDU 具有特定布局和内容的实例
Instances of a Container 同一 Container PDU 的实例
IpduM I-PDU Multiplexer
IpduM I-PDU 由 IpduM 模块从两个 COM I-PDU 组装的 I-PDU
multiplexed I-PDU 见 IpduM I-PDU
segment 段(静态或动态部分可由多个段组成)
selector field 选择字段
static part 静态部分

3. 相关文档

3.1 输入文档

  • [1] Layered Software Architecture
  • [2] General Requirements on Basic Software Modules
  • [3] Specification of RTE
  • [4] Requirements on I-PDU Multiplexer
  • [5] Specification of Communication
  • [6] General Specification of Basic Software Modules

3.2 相关标准

无。

3.3 相关规范

AUTOSAR SWS BSW General [6] 适用。


4. 约束与假设

4.1 限制

发送复用 I-PDU 时,无法考虑最小延迟时间(MDT)。详见 [5] 和 7.2.4.1。

静态布局 Container PDU 发送中,若两个或多个被包含的 PDU 都配置了 MDT,则无法保证 MDT。

4.2 适用车域

无限制。

4.3 与安全相关环境的适用性

本文档在无安全案例的情况下创建。直接结果只能在重复 IEC 61508 中所要求的某些过程步骤后在安全相关系统中使用。


5. 与其他模块的依赖

5.1 AUTOSAR OS

IpduM 不直接使用 OS,但通过 Schedule Manager 调用 main 函数。

5.2 RTE (BSW Scheduler)

IpduM_MainFunction 由 BSW 调度器调用。

5.3 PDU Router

IpduM 通过 PduR 收发 I-PDU。

5.4 COM

IpduM 与 COM 交互(IpduM 作为 PduR 上层)。

5.5 文件结构

IpduM 提供 IpduM.h、IpduM_Cfg.h 等头文件。


6. 需求可追溯性

需求 ID 描述 满足者
SRS_IPDUM_00002 支持选择字段位置可配 SWS_IpduM_00027
SRS_IPDUM_00003 支持多个布局 SWS_IpduM_00041
SRS_IPDUM_00006 多容器 PDU 处理 SWS_IpduM_00200
SRS_BSW_00101 初始化 SWS_IpduM_00012
SRS_BSW_00407 版本信息 SWS_IpduM_00220

[摘要] 完整需求追溯表见原文 PDF 第 16-20 页。


7. 功能规范

7.1 通用

IpduM 通过 PduR 与上下层交互。

7.2 I-PDU 复用

7.2.1 定义与布局

  • 选择字段:1-32 位的字段,用于识别 PDU 实例
  • 静态部分:所有实例共有的部分
  • 动态部分:不同实例不同的部分

7.2.2 通用

  • [SWS_IpduM_00027] ⌈IpduM 应支持可配置的选择字段位置。⌋

7.2.3 初始化

  • [SWS_IpduM_00012] ⌈IpduM_Init 应初始化所有内部变量。⌋

7.2.4 发送

7.2.4.1 MDT

最小延迟时间在 COM 中处理,但 IpduM 无法保证。

7.2.5 接收

  • [SWS_IpduM_00041] ⌈IpduM 应解析接收 I-PDU 的选择字段并指示给 COM。⌋

7.2.6 MetaData 处理

IpduM 支持 N-PDU 的 MetaData 处理。

7.3 多 PDU 到 Container 处理

7.3.1 动态 Container 布局

PDU 在 Container 中带头信息,可有变化。

7.3.2 静态 Container 布局

PDU 在 Container 中位置固定。

7.3.3 发送

  • [SWS_IpduM_00200] ⌈IpduM 应支持 Container PDU 发送。⌋

7.3.4 动态 Container 发送

按累积策略或基于触发发送 Container。

7.3.5 静态 Container 发送

固定时间或基于触发发送。

7.3.6 接收

解析 Container PDU 并通知 COM 各被包含 PDU。

7.3.7 动态 Container 接收

根据头信息解析。

7.3.8 静态 Container 接收

根据固定位置解析。

7.3.9 错误处理

处理过载、不一致等错误。

7.3.10 MetaData 处理

被包含 PDU 的 MetaData。

7.4 错误分类

7.4.1 开发错误

错误名 错误码 含义
IPDUM_E_INIT_FAILED 0x01 初始化失败
IPDUM_E_UNINIT 0x02 未初始化即调用
IPDUM_E_PARAM 0x03 参数错误
IPDUM_E_PARAM_POINTER 0x04 NULL 指针

7.4.2 运行时错误

错误名 含义
IPDUM_E_BUFFER_OVERFLOW 缓冲区溢出
IPDUM_E_CONTAINER_FULL Container 已满

7.4.3 瞬态故障

无。

7.4.4 生产错误

无。

7.4.5 扩展生产错误

无。

7.5 错误检测与通知

应通过 DET 检测并上报开发错误。


8. API 规范

8.1 导入类型

模块 头文件 导入类型
ComStack_Types ComStack_Types.h PduIdType, PduInfoType, RetryInfoType
Std_Types Std_Types.h Std_ReturnType, Std_VersionInfoType

8.2 类型定义

8.2.1 IpduM_ConfigType

typedef struct IpduM_ConfigType IpduM_ConfigType;

8.3 函数定义

8.3.1 IpduM_Init

void IpduM_Init(const IpduM_ConfigType* Config)
Service ID 0x00
描述 初始化 IpduM 模块

8.3.2 IpduM_GetVersionInfo

void IpduM_GetVersionInfo(Std_VersionInfoType* VersionInfo)
Service ID 0x01

8.3.3 IpduM_Transmit

Std_ReturnType IpduM_Transmit(
    PduIdType TxPduId,
    const PduInfoType* PduInfoPtr
)
Service ID 0x02
描述 请求传输 I-PDU

8.4 回调通知

8.4.1 IpduM_RxIndication

void IpduM_RxIndication(
    PduIdType RxPduId,
    const PduInfoType* PduInfoPtr
)

PduR 通知 IpduM 收到 I-PDU。

8.4.2 IpduM_TxConfirmation

void IpduM_TxConfirmation(PduIdType TxPduId)

PduR 通知 IpduM I-PDU 已发送。

8.4.3 IpduM_TriggerTransmit

Std_ReturnType IpduM_TriggerTransmit(
    PduIdType TxPduId,
    PduInfoType* PduInfoPtr
)

PduR 请求 IpduM 提供数据。

8.5 调度函数

8.5.1 IpduM_MainFunction

void IpduM_MainFunction(void)
Service ID 0x05
描述 处理超时、Container 发送等

8.6 期望接口

8.6.1 强制接口

  • PduR_IpduMTransmit
  • PduR_IpduMRxIndication
  • PduR_IpduMTxConfirmation
  • Det_ReportError

8.6.2 可选接口

  • Det_ReportRuntimeError

8.6.3 可配置接口

无。


9. 时序图

9.1 复用 I-PDU 发送和发送确认

9.2 复用 I-PDU 无触发发送

9.3 复用 I-PDU 接收

9.4 触发发送

[摘要] 详细时序图见原文 PDF 第 49-53 页。


10. 配置规范

10.1 如何阅读本章

参考 [ECU Configuration Specification]。

10.2 容器与配置参数

10.2.1 配置概述

IpduM 配置包含发送/接收路径、动态/静态部分、选择字段等。

10.2.2 IpduM

根容器。

10.2.3 IpduMConfig

配置集容器。

10.2.4 IpduMGeneral

参数 类型 说明
IpduMDevErrorDetect bool DET 启用
IpduMVersionInfoApi bool 版本信息 API
IpduMMainFunctionPeriod float main 周期

10.2.5 IpduMTxPathway

发送路径配置。

10.2.6 IpduMTxRequest

发送请求配置。

10.2.7-10.2.10 IpduMTxDynamicPart/Segment, IpduMTxStaticPart/Segment

TX 动态/静态部分和段配置。

10.2.11 IpduMRxPathway

接收路径配置。

10.2.12-10.2.16 IpduMRxIndication, IpduMRxDynamic/StaticPart/Segment

RX 指示、动态/静态部分和段。

10.2.17 IpduMSelectorField

选择字段配置(起始位、长度)。

10.2.18-10.2.21 IpduMContainerRx/TxPdu, IpduMContainedRx/TxPdu

Container PDU 和被包含 PDU 配置。

[摘要] 完整配置详见原文 PDF 第 54-88 页。

10.3 已发布信息

按 BSW General。

10.4 配置规则

  • 选择字段位置规则
  • 静态/动态部分放置规则
  • 多 PDU 到 Container 映射规则
  • 优先级规则

11. 不适用需求

详见原文 PDF 第 92 页。


翻译说明

  • 本译本基于 AUTOSAR CP 4.4.0 的 I-PDU 复用器规范 (Document ID 182,共 92 页)
  • 摘要标记位置:第 6 章需求追溯、第 9 章时序图、第 10 章配置、第 11 章不适用需求