P1 batch translation: 94 PDFs (Communication + Diagnostics + SystemServices + MCAL)
This commit is contained in:
@@ -0,0 +1,392 @@
|
||||
# UDP 网络管理规范 (Specification of UDP Network Management)
|
||||
|
||||
> **AUTOSAR CP Release 4.4.0**
|
||||
> **文档 ID 446: AUTOSAR_SWS_UDPNetworkManagement**
|
||||
|
||||
## 元信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
| --- | --- |
|
||||
| 文档标题 | UDP 网络管理规范 |
|
||||
| 文档所有者 | AUTOSAR |
|
||||
| 文档责任方 | AUTOSAR |
|
||||
| 文档标识号 | 446 |
|
||||
| 文档状态 | Final |
|
||||
| 所属 AUTOSAR 标准 | Classic Platform |
|
||||
| 所属标准版本 | 4.4.0 |
|
||||
|
||||
## 文档变更历史
|
||||
|
||||
| 日期 | 版本 | 变更方 | 变更说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| 2018-10-31 | 4.4.0 | AUTOSAR Release Management | 协议扩展;细微更正 |
|
||||
| 2017-12-08 | 4.3.1 | AUTOSAR Release Management | 修正/澄清 |
|
||||
| 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 增加 PNC 支持 |
|
||||
| 2015-07-31 | 4.2.2 | AUTOSAR Release Management | 编辑修正 |
|
||||
| 2014-10-31 | 4.2.1 | AUTOSAR Release Management | 初始正式版本 |
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
- [1. 介绍与功能概述](#1-介绍与功能概述)
|
||||
- [2. 缩略语](#2-缩略语)
|
||||
- [3. 相关文档](#3-相关文档)
|
||||
- [4. 约束与假设](#4-约束与假设)
|
||||
- [5. 与其他模块的依赖](#5-与其他模块的依赖)
|
||||
- [6. 需求可追溯性](#6-需求可追溯性)
|
||||
- [7. 功能规范](#7-功能规范)
|
||||
- [8. API 规范](#8-api-规范)
|
||||
- [9. 时序图](#9-时序图)
|
||||
- [10. 配置规范](#10-配置规范)
|
||||
|
||||
---
|
||||
|
||||
## 1. 介绍与功能概述
|
||||
|
||||
本规范规定了 AUTOSAR 基础软件模块 **UDP 网络管理** (UdpNm) 的功能、API 和配置。
|
||||
|
||||
UdpNm 实现基于 UDP 的网络管理协议,功能上与 CanNm 类似,但运行在 IP/UDP 网络上。
|
||||
|
||||
### 1.1 主要功能
|
||||
|
||||
- 协调网络节点同步进入睡眠
|
||||
- 通过周期 NM 消息维持网络状态
|
||||
- 部分网络通信(PNC)支持
|
||||
- 远程睡眠指示
|
||||
- 主动/被动启动
|
||||
|
||||
---
|
||||
|
||||
## 2. 缩略语
|
||||
|
||||
| 缩略语 | 描述 |
|
||||
| --- | --- |
|
||||
| BSW | Basic Software |
|
||||
| CBV | Control Bit Vector |
|
||||
| ComM | Communication Manager |
|
||||
| DEM | Diagnostic Event Manager |
|
||||
| DET | Default Error Tracer |
|
||||
| EcuM | ECU State Manager |
|
||||
| IP | Internet Protocol |
|
||||
| ISR | Interrupt Service Routine |
|
||||
| Nm | Network Management |
|
||||
| PNC | Partial Network Cluster |
|
||||
| SoAd | Socket Adaptor |
|
||||
| UDP | User Datagram Protocol |
|
||||
| UdpNm | UDP Network Management |
|
||||
|
||||
---
|
||||
|
||||
## 3. 相关文档
|
||||
|
||||
### 3.1 输入文档
|
||||
|
||||
- [1] Layered Software Architecture
|
||||
- [2] General Requirements on Basic Software Modules
|
||||
- [3] Specification of Network Management Interface
|
||||
- [4] Specification of CAN Network Management
|
||||
- [5] Specification of Communication Stack Types
|
||||
- [6] Specification of Socket Adaptor
|
||||
- [7] Specification of ECU Configuration
|
||||
- [8] Specification of Communication Manager
|
||||
- [9] Specification of Default Error Tracer
|
||||
- [10] General Specification of Basic Software Modules
|
||||
- [11] Requirements on Network Management
|
||||
|
||||
### 3.2 相关规范
|
||||
|
||||
SWS BSW General [10] 适用。
|
||||
|
||||
---
|
||||
|
||||
## 4. 约束与假设
|
||||
|
||||
### 4.1 限制
|
||||
|
||||
UdpNm 仅在 IP/UDP 网络上工作。
|
||||
|
||||
### 4.2 适用车域
|
||||
|
||||
适用于所有使用以太网通信的车域。
|
||||
|
||||
---
|
||||
|
||||
## 5. 与其他模块的依赖
|
||||
|
||||
| 模块 | 依赖关系 |
|
||||
| --- | --- |
|
||||
| Nm | 上层 NM 接口 |
|
||||
| SoAd | 下层 UDP 通信 |
|
||||
| BswM | 模式管理 |
|
||||
| EcuM | 唤醒源 |
|
||||
| Det | 错误上报 |
|
||||
| Dem | 生产错误 |
|
||||
|
||||
---
|
||||
|
||||
## 6. 需求可追溯性
|
||||
|
||||
| 需求 ID | 描述 | 满足者 |
|
||||
| --- | --- | --- |
|
||||
| SRS_BSW_00101 | 初始化 | SWS_UdpNm_00009 |
|
||||
| SRS_BSW_00407 | 版本信息 | SWS_UdpNm_00069 |
|
||||
| SRS_Nm_00040 | 状态机 | SWS_UdpNm_00098 |
|
||||
| SRS_Nm_00042 | 协调睡眠 | SWS_UdpNm_00104 |
|
||||
| SRS_Nm_00045 | NM 消息 | SWS_UdpNm_00032 |
|
||||
| SRS_Nm_00150 | PNC | SWS_UdpNm_00350 |
|
||||
|
||||
> **[摘要]** 完整需求追溯表见原文 PDF 第 20-32 页。
|
||||
|
||||
---
|
||||
|
||||
## 7. 功能规范
|
||||
|
||||
### 7.1 状态机
|
||||
|
||||
UdpNm 状态机:
|
||||
|
||||
| 状态 | 描述 |
|
||||
| --- | --- |
|
||||
| BUS_SLEEP | 总线睡眠 |
|
||||
| PREPARE_BUS_SLEEP | 准备睡眠 |
|
||||
| READY_SLEEP | 准备进入睡眠 |
|
||||
| NORMAL_OPERATION | 正常运行 |
|
||||
| REPEAT_MESSAGE | 重复消息(关闭后重新加入) |
|
||||
| OFFLINE | 离线 |
|
||||
|
||||
### 7.2 状态转换
|
||||
|
||||
- 启动:BUS_SLEEP → NETWORK_MODE (REPEAT_MESSAGE)
|
||||
- 收到 NM 消息:维持 NETWORK_MODE
|
||||
- 静默超时:NORMAL_OPERATION → READY_SLEEP
|
||||
- 准备睡眠超时:READY_SLEEP → PREPARE_BUS_SLEEP → BUS_SLEEP
|
||||
|
||||
### 7.3 NM 消息
|
||||
|
||||
NM 消息格式:
|
||||
- Source Node ID (1 字节)
|
||||
- Control Bit Vector (1 字节)
|
||||
- User Data (可变,0-N 字节)
|
||||
|
||||
#### CBV 位
|
||||
- Bit 0: Repeat Message Request
|
||||
- Bit 4: PN Information Bit
|
||||
- Bit 5: Active Wakeup Bit
|
||||
- Bit 6-7: 保留
|
||||
|
||||
### 7.4 部分网络通信(PNC)
|
||||
|
||||
- **[SWS_UdpNm_00350]** ⌈UdpNm 应支持 PNC,使用 NM 消息中的 PN bit。⌋
|
||||
- PNC 启用后,节点根据 PNC 状态保持网络或释放。
|
||||
|
||||
### 7.5 远程睡眠指示
|
||||
|
||||
监测远程节点是否准备睡眠。
|
||||
|
||||
### 7.6 主动/被动启动
|
||||
|
||||
- **主动启动**:本节点请求保持网络唤醒
|
||||
- **被动启动**:其他节点请求,本节点跟随
|
||||
|
||||
### 7.7 错误分类
|
||||
|
||||
#### 7.7.1 开发错误
|
||||
|
||||
| 错误名 | 错误码 | 含义 |
|
||||
| --- | --- | --- |
|
||||
| UDPNM_E_NO_INIT | 0x01 | 未初始化 |
|
||||
| UDPNM_E_INVALID_CHANNEL | 0x02 | 无效通道 |
|
||||
| UDPNM_E_INVALID_PDUID | 0x03 | 无效 PDU ID |
|
||||
| UDPNM_E_NET_START_IND | 0x04 | 启动指示错误 |
|
||||
| UDPNM_E_NULL_POINTER | 0x12 | NULL 指针 |
|
||||
|
||||
#### 7.7.2 运行时错误
|
||||
|
||||
| 错误名 | 含义 |
|
||||
| --- | --- |
|
||||
| UDPNM_E_NETWORK_TIMEOUT | 网络超时 |
|
||||
|
||||
---
|
||||
|
||||
## 8. API 规范
|
||||
|
||||
### 8.1 导入类型
|
||||
|
||||
| 模块 | 头文件 | 导入类型 |
|
||||
| --- | --- | --- |
|
||||
| ComStack_Types | ComStack_Types.h | NetworkHandleType, PduInfoType, PduIdType |
|
||||
| Nm | Nm.h | Nm_StateType, Nm_ModeType |
|
||||
| Std_Types | Std_Types.h | Std_ReturnType, Std_VersionInfoType |
|
||||
|
||||
### 8.2 类型定义
|
||||
|
||||
#### 8.2.1 UdpNm_ConfigType
|
||||
```c
|
||||
typedef struct UdpNm_ConfigType UdpNm_ConfigType;
|
||||
```
|
||||
|
||||
#### 8.2.2 UdpNm_StateType, UdpNm_ModeType
|
||||
继承 Nm 模块定义。
|
||||
|
||||
### 8.3 函数定义
|
||||
|
||||
#### 8.3.1 UdpNm_Init
|
||||
```c
|
||||
void UdpNm_Init(const UdpNm_ConfigType* udpnmConfigPtr)
|
||||
```
|
||||
| Service ID | 0x01 |
|
||||
| --- | --- |
|
||||
|
||||
#### 8.3.2 UdpNm_DeInit
|
||||
```c
|
||||
void UdpNm_DeInit(void)
|
||||
```
|
||||
|
||||
#### 8.3.3 UdpNm_PassiveStartUp
|
||||
```c
|
||||
Std_ReturnType UdpNm_PassiveStartUp(NetworkHandleType nmChannelHandle)
|
||||
```
|
||||
|
||||
#### 8.3.4 UdpNm_NetworkRequest
|
||||
```c
|
||||
Std_ReturnType UdpNm_NetworkRequest(NetworkHandleType nmChannelHandle)
|
||||
```
|
||||
|
||||
#### 8.3.5 UdpNm_NetworkRelease
|
||||
```c
|
||||
Std_ReturnType UdpNm_NetworkRelease(NetworkHandleType nmChannelHandle)
|
||||
```
|
||||
|
||||
#### 8.3.6 UdpNm_DisableCommunication
|
||||
禁用 NM 通信。
|
||||
|
||||
#### 8.3.7 UdpNm_EnableCommunication
|
||||
启用 NM 通信。
|
||||
|
||||
#### 8.3.8 UdpNm_SetUserData / UdpNm_GetUserData
|
||||
设置/获取用户数据。
|
||||
|
||||
#### 8.3.9 UdpNm_GetPduData
|
||||
获取最新 NM PDU 数据。
|
||||
|
||||
#### 8.3.10 UdpNm_RepeatMessageRequest
|
||||
请求重复消息。
|
||||
|
||||
#### 8.3.11 UdpNm_GetNodeIdentifier / UdpNm_GetLocalNodeIdentifier
|
||||
获取节点标识符。
|
||||
|
||||
#### 8.3.12 UdpNm_CheckRemoteSleepIndication
|
||||
检查远程睡眠指示。
|
||||
|
||||
#### 8.3.13 UdpNm_GetState
|
||||
获取状态。
|
||||
|
||||
#### 8.3.14 UdpNm_GetVersionInfo
|
||||
获取版本信息。
|
||||
|
||||
#### 8.3.15 UdpNm_RequestBusSynchronization
|
||||
请求总线同步。
|
||||
|
||||
#### 8.3.16 UdpNm_CheckRemoteSleepIndication
|
||||
检查远程睡眠指示。
|
||||
|
||||
### 8.4 回调通知
|
||||
|
||||
#### 8.4.1 UdpNm_SoAdIfRxIndication
|
||||
SoAd RX 通知 UdpNm。
|
||||
|
||||
#### 8.4.2 UdpNm_SoAdIfTxConfirmation
|
||||
SoAd TX 确认。
|
||||
|
||||
#### 8.4.3 UdpNm_TriggerTransmit
|
||||
PduR 触发 UdpNm 提供数据。
|
||||
|
||||
### 8.5 调度函数
|
||||
|
||||
#### 8.5.1 UdpNm_MainFunction
|
||||
```c
|
||||
void UdpNm_MainFunction(void)
|
||||
```
|
||||
|
||||
### 8.6 期望接口
|
||||
|
||||
#### 8.6.1 强制接口
|
||||
- Nm_NetworkStartIndication
|
||||
- Nm_NetworkMode
|
||||
- Nm_BusSleepMode
|
||||
- Nm_PrepareBusSleepMode
|
||||
- SoAd_IfTransmit
|
||||
- Det_ReportError
|
||||
|
||||
#### 8.6.2 可选接口
|
||||
- Nm_RemoteSleepIndication
|
||||
- Nm_RemoteSleepCancellation
|
||||
- Nm_RepeatMessageIndication
|
||||
- Nm_StateChangeNotification
|
||||
- Det_ReportRuntimeError
|
||||
|
||||
---
|
||||
|
||||
## 9. 时序图
|
||||
|
||||
> **[摘要]** 详细时序图见原文 PDF 第 56-75 页。
|
||||
|
||||
主要场景:
|
||||
- Init → PassiveStartUp
|
||||
- NetworkRequest → NORMAL_OPERATION
|
||||
- 静默超时 → READY_SLEEP → PREPARE_BUS_SLEEP → BUS_SLEEP
|
||||
- RX 指示 → 维持 NORMAL_OPERATION
|
||||
- 远程睡眠指示
|
||||
|
||||
---
|
||||
|
||||
## 10. 配置规范
|
||||
|
||||
### 10.1 容器与配置参数
|
||||
|
||||
#### 10.1.1 UdpNm
|
||||
根容器。
|
||||
|
||||
#### 10.1.2 UdpNmGlobalConfig
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| UdpNmDevErrorDetect | bool | DET 启用 |
|
||||
| UdpNmVersionInfoApi | bool | 版本信息 API |
|
||||
| UdpNmComControlEnabled | bool | 启用通信控制 |
|
||||
| UdpNmComUserDataSupport | bool | 启用用户数据 |
|
||||
| UdpNmPnEnabled | bool | 启用 PNC |
|
||||
| UdpNmMainFunctionPeriod | float | main 周期 |
|
||||
|
||||
#### 10.1.3 UdpNmChannelConfig
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| UdpNmChannelId | int | 通道 ID |
|
||||
| UdpNmMsgCycleTime | float | NM 消息周期(s) |
|
||||
| UdpNmMsgTimeoutTime | float | 超时(s) |
|
||||
| UdpNmTimeoutTime | float | NM 超时 |
|
||||
| UdpNmReadySleepCount | int | Ready Sleep 计数 |
|
||||
| UdpNmWaitBusSleepTime | float | 等待 Bus Sleep 时间 |
|
||||
| UdpNmNodeId | int | 节点 ID |
|
||||
| UdpNmRepeatMessageTime | float | 重复消息时间 |
|
||||
|
||||
#### 10.1.4 UdpNmRxPdu, UdpNmTxPdu
|
||||
RX/TX PDU 配置。
|
||||
|
||||
#### 10.1.5 UdpNmUserDataTxPdu
|
||||
用户数据 TX PDU。
|
||||
|
||||
#### 10.1.6 UdpNmPnInfo
|
||||
PNC 信息配置。
|
||||
|
||||
> **[摘要]** 完整配置详见原文 PDF 第 76-90 页。
|
||||
|
||||
### 10.2 已发布信息
|
||||
按 BSW General。
|
||||
|
||||
---
|
||||
|
||||
## 翻译说明
|
||||
|
||||
- 本译本基于 AUTOSAR CP 4.4.0 的 UDP 网络管理规范 (Document ID 446,共 91 页)
|
||||
- 摘要标记位置:第 6 章需求追溯、第 9 章时序图、第 10 章配置
|
||||
Reference in New Issue
Block a user