P1 batch translation: 94 PDFs (Communication + Diagnostics + SystemServices + MCAL)
This commit is contained in:
@@ -0,0 +1,418 @@
|
||||
# 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. 介绍与功能概述](#1-介绍与功能概述)
|
||||
- [2. 缩略语](#2-缩略语)
|
||||
- [3. 相关文档](#3-相关文档)
|
||||
- [4. 约束与假设](#4-约束与假设)
|
||||
- [5. 与其他模块的依赖](#5-与其他模块的依赖)
|
||||
- [6. 需求可追溯性](#6-需求可追溯性)
|
||||
- [7. 功能规范](#7-功能规范)
|
||||
- [8. API 规范](#8-api-规范)
|
||||
- [9. 时序图](#9-时序图)
|
||||
- [10. 配置规范](#10-配置规范)
|
||||
- [11. 不适用需求](#11-不适用需求)
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
```c
|
||||
typedef struct IpduM_ConfigType IpduM_ConfigType;
|
||||
```
|
||||
|
||||
### 8.3 函数定义
|
||||
|
||||
#### 8.3.1 IpduM_Init
|
||||
```c
|
||||
void IpduM_Init(const IpduM_ConfigType* Config)
|
||||
```
|
||||
| Service ID | 0x00 |
|
||||
| --- | --- |
|
||||
| 描述 | 初始化 IpduM 模块 |
|
||||
|
||||
#### 8.3.2 IpduM_GetVersionInfo
|
||||
```c
|
||||
void IpduM_GetVersionInfo(Std_VersionInfoType* VersionInfo)
|
||||
```
|
||||
| Service ID | 0x01 |
|
||||
| --- | --- |
|
||||
|
||||
#### 8.3.3 IpduM_Transmit
|
||||
```c
|
||||
Std_ReturnType IpduM_Transmit(
|
||||
PduIdType TxPduId,
|
||||
const PduInfoType* PduInfoPtr
|
||||
)
|
||||
```
|
||||
| Service ID | 0x02 |
|
||||
| --- | --- |
|
||||
| 描述 | 请求传输 I-PDU |
|
||||
|
||||
### 8.4 回调通知
|
||||
|
||||
#### 8.4.1 IpduM_RxIndication
|
||||
```c
|
||||
void IpduM_RxIndication(
|
||||
PduIdType RxPduId,
|
||||
const PduInfoType* PduInfoPtr
|
||||
)
|
||||
```
|
||||
PduR 通知 IpduM 收到 I-PDU。
|
||||
|
||||
#### 8.4.2 IpduM_TxConfirmation
|
||||
```c
|
||||
void IpduM_TxConfirmation(PduIdType TxPduId)
|
||||
```
|
||||
PduR 通知 IpduM I-PDU 已发送。
|
||||
|
||||
#### 8.4.3 IpduM_TriggerTransmit
|
||||
```c
|
||||
Std_ReturnType IpduM_TriggerTransmit(
|
||||
PduIdType TxPduId,
|
||||
PduInfoType* PduInfoPtr
|
||||
)
|
||||
```
|
||||
PduR 请求 IpduM 提供数据。
|
||||
|
||||
### 8.5 调度函数
|
||||
|
||||
#### 8.5.1 IpduM_MainFunction
|
||||
```c
|
||||
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 章不适用需求
|
||||
Reference in New Issue
Block a user