P1 batch translation: 94 PDFs (Communication + Diagnostics + SystemServices + MCAL)

This commit is contained in:
opencode-translator
2026-06-13 00:29:54 +08:00
parent 0d470d1f17
commit 6f293acbf7
95 changed files with 70811 additions and 83 deletions
@@ -0,0 +1,487 @@
# 网络管理接口规范 (Specification of NetworkManagement Interface)
> **AUTOSAR CP Release 4.4.0**
> **文档 ID 228: AUTOSAR_SWS_NetworkManagementInterface**
## 元信息
| 项目 | 内容 |
| --- | --- |
| 文档标题 | 网络管理接口规范 |
| 文档所有者 | AUTOSAR |
| 文档责任方 | AUTOSAR |
| 文档标识号 | 228 |
| 文档状态 | 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 | 通用总线类型支持 |
| 2015-07-31 | 4.2.2 | AUTOSAR Release Management | 编辑修正 |
| 2014-10-31 | 4.2.1 | AUTOSAR Release Management | NM 协调器增强 |
| 2014-03-31 | 4.1.3 | AUTOSAR Release Management | 编辑变更 |
| 2013-10-31 | 4.1.2 | AUTOSAR Release Management | car wake-up 添加 |
| 2013-03-15 | 4.1.1 | AUTOSAR Administration | 协调器逻辑增强 |
| 2011-12-22 | 4.0.3 | AUTOSAR Administration | NM 协调器初始版本 |
| 2010-09-30 | 3.1.5 | AUTOSAR Administration | 抽象层 |
| 2010-02-02 | 3.1.4 | AUTOSAR Administration | 初始发布 |
---
## 目录
- [1. 介绍与功能概述](#1-介绍与功能概述)
- [2. 缩略语](#2-缩略语)
- [3. 相关文档](#3-相关文档)
- [4. 约束与假设](#4-约束与假设)
- [5. 与其他模块的依赖](#5-与其他模块的依赖)
- [6. 需求可追溯性](#6-需求可追溯性)
- [7. 功能规范](#7-功能规范)
- [8. API 规范](#8-api-规范)
- [9. 时序图](#9-时序图)
- [10. 配置规范](#10-配置规范)
---
## 1. 介绍与功能概述
本文档描述网络管理接口模块的概念、接口和配置。
网络管理接口是 **AUTOSAR 通信管理器 (ComM)****AUTOSAR 总线特定网络管理模块**(如 CAN Network Management、FlexRay Network Management)之间的适配层。这称为 **基本功能 (Basic functionality)**
此外,本文档还描述了连接到同一(协调器)ECU 的多个网络之间的互操作性,这些网络运行 AUTOSAR NM。"互操作性"意味着这些网络可以同步进入睡眠。这称为 **NM 协调器功能 (NM Coordinator functionality)**
支持 NM 协调器功能是可选的。NM 接口实现可以仅支持 Basic functionality,或同时支持 Basic 和 NM Coordinator functionality。
NM 接口设计支持通用底层模块,允许第三方提供对 OEM 特定或传统 NM 协议(如直接 OSEK NM)的支持。
---
## 2. 缩略语
| 缩略语 | 描述 |
| --- | --- |
| CanIf | CAN Interface |
| CanNm | CAN Network Management |
| CC | Communication controller |
| ComM | Communication Manager |
| EcuM | ECU State Manager |
| DEM | Diagnostic Event Manager |
| Nm | Generic Network Management Interface |
| NM | Network Management |
| OEM | Original Equipment Manufacturer |
| CBV | Control Bit Vector in NM-message |
### 术语
| 术语 | 定义 |
| --- | --- |
| Bus-Sleep Mode | 所有互连通信控制器都处于睡眠模式的网络模式 |
| NM-Channel | 与 NM-cluster 关联的逻辑通道 |
| NM-Cluster | 使用 NM 算法协调的 NM 节点集 |
| NM-Coordinator | Nm 功能,允许协调多个 NM 通道的网络睡眠 |
| NM-Message | 用于 NM 算法目的的信息包 |
| NM-Timeout | NM 算法中发起向 Bus-Sleep 模式过渡的超时 |
| NM User Data | 附加在每个 NM 消息上的应用特定数据 |
| Node Identifier | 用于 NM 算法的节点地址信息 |
| Node Identifier List | NM 算法识别的节点标识符列表 |
| Bus | NM 节点/ECU 连接到的物理通信媒介 |
| network | 连接到同一总线的所有 NM 节点/ECU |
| channel | NM 节点/ECU 连接到的逻辑总线 |
| Coordinated shutdown | 两个或更多总线的同步关闭 |
| Coordination algorithm | 所有条件满足时启动协调关闭 |
---
## 3. 相关文档
### 3.1 输入文档
- [1] Glossary — AUTOSAR_TR_Glossary
- [2] General Specification of Basic Software Modules
- [3] Specification of CAN Network Management
- [4] Specification of FlexRay Network Management
- [5] Specification of UDP Network Management
- [6] Specification of Network Management for SAE J1939
- [7] General Requirements on Basic Software Modules
- [8] Requirements on Network Management
### 3.2 相关规范
SWS BSW General [2] 适用。
---
## 4. 约束与假设
### 4.1 限制
- 仅支持每个网络一个 NM 实例
- NM 协调器仅在 ECU 连接多个网络时使用
### 4.2 适用车域
适用于所有车域。
---
## 5. 与其他模块的依赖
| 模块 | 依赖关系 |
| --- | --- |
| ComM | NM 接口与 ComM 协作管理通信模式 |
| CanNm/FrNm/UdpNm/J1939Nm | 底层 NM 模块 |
| EcuM | 唤醒源通知 |
| DEM | 错误事件上报 |
---
## 6. 需求可追溯性
| 需求 ID | 描述 | 满足者 |
| --- | --- | --- |
| SRS_Nm_00040 | 启动协调 | SWS_Nm_00041 |
| SRS_Nm_00041 | 网络释放 | SWS_Nm_00057 |
| SRS_Nm_00042 | 协调睡眠 | SWS_Nm_00046 |
| SRS_Nm_00043 | NM 协调器 | SWS_Nm_00050 |
| SRS_BSW_00101 | 初始化 | SWS_Nm_00030 |
| SRS_BSW_00407 | 版本信息 | SWS_Nm_00220 |
> **[摘要]** 完整需求追溯表见原文 PDF 第 30-45 页。
---
## 7. 功能规范
### 7.1 NM 接口的基本功能
#### 7.1.1 状态管理
- **Bus-Sleep**:所有节点睡眠
- **Prepare-Bus-Sleep**:准备进入睡眠
- **Network**:网络运行中
#### 7.1.2 模式控制
- Nm_PassiveStartUp:被动启动
- Nm_NetworkRequest:请求保持唤醒
- Nm_NetworkRelease:释放网络
### 7.2 NM 协调器功能
NM 协调器协调多个网络同步睡眠。
#### 7.2.1 协调算法
- 检测所有协调网络是否准备睡眠
- 协调发送 SleepReady 通知
- 所有网络同步进入睡眠
#### 7.2.2 协调器与网络
NM 协调器在多个网络间共享状态。
### 7.3 NM 消息处理
NM 接口将底层 NM 消息转发给上层。
### 7.4 同步模式
新增同步模式用于多通道协调。
### 7.5 错误分类
#### 7.5.1 开发错误
| 错误名 | 错误码 | 含义 |
| --- | --- | --- |
| NM_E_NO_INIT | 0x01 | 未初始化 |
| NM_E_INVALID_CHANNEL | 0x02 | 无效通道 |
| NM_E_INVALID_PARAMETER | 0x03 | 无效参数 |
| NM_E_PARAM_POINTER | 0x12 | NULL 指针 |
---
## 8. API 规范
### 8.1 导入类型
| 模块 | 头文件 | 导入类型 |
| --- | --- | --- |
| ComM | ComM.h | ComM_ModeType |
| ComStack_Types | ComStack_Types.h | NetworkHandleType |
| Std_Types | Std_Types.h | Std_ReturnType, Std_VersionInfoType |
### 8.2 类型定义
#### 8.2.1 Nm_ConfigType
```c
typedef struct Nm_ConfigType Nm_ConfigType;
```
#### 8.2.2 Nm_ModeType
```c
typedef enum {
NM_MODE_BUS_SLEEP,
NM_MODE_PREPARE_BUS_SLEEP,
NM_MODE_SYNCHRONIZE,
NM_MODE_NETWORK
} Nm_ModeType;
```
#### 8.2.3 Nm_StateType
```c
typedef enum {
NM_STATE_UNINIT,
NM_STATE_BUS_SLEEP,
NM_STATE_PREPARE_BUS_SLEEP,
NM_STATE_READY_SLEEP,
NM_STATE_NORMAL_OPERATION,
NM_STATE_REPEAT_MESSAGE,
NM_STATE_SYNCHRONIZE,
NM_STATE_OFFLINE
} Nm_StateType;
```
#### 8.2.4 Nm_BusNmType
```c
typedef enum {
NM_BUSNM_CANNM,
NM_BUSNM_FRNM,
NM_BUSNM_UDPNM,
NM_BUSNM_GENERICNM,
NM_BUSNM_J1939NM
} Nm_BusNmType;
```
### 8.3 函数定义
#### 8.3.1 服务函数
##### Nm_Init
```c
void Nm_Init(const Nm_ConfigType* nmConfigPtr)
```
| Service ID | 0x01 |
| --- | --- |
##### Nm_PassiveStartUp
```c
Std_ReturnType Nm_PassiveStartUp(NetworkHandleType nmChannelHandle)
```
##### Nm_NetworkRequest
```c
Std_ReturnType Nm_NetworkRequest(NetworkHandleType nmChannelHandle)
```
##### Nm_NetworkRelease
```c
Std_ReturnType Nm_NetworkRelease(NetworkHandleType nmChannelHandle)
```
##### Nm_DisableCommunication / Nm_EnableCommunication
启用/禁用 NM 通信。
#### 8.3.2 协调器服务
##### Nm_NetworkGwEraRequest
网关 ERA 请求。
#### 8.3.3 其他服务
##### Nm_SetUserData
```c
Std_ReturnType Nm_SetUserData(
NetworkHandleType nmChannelHandle,
const uint8* nmUserDataPtr
)
```
##### Nm_GetUserData
```c
Std_ReturnType Nm_GetUserData(
NetworkHandleType nmChannelHandle,
uint8* nmUserDataPtr
)
```
##### Nm_GetPduData
```c
Std_ReturnType Nm_GetPduData(
NetworkHandleType nmChannelHandle,
uint8* nmPduDataPtr
)
```
##### Nm_RepeatMessageRequest
```c
Std_ReturnType Nm_RepeatMessageRequest(NetworkHandleType nmChannelHandle)
```
##### Nm_GetNodeIdentifier
```c
Std_ReturnType Nm_GetNodeIdentifier(
NetworkHandleType nmChannelHandle,
uint8* nmNodeIdPtr
)
```
##### Nm_GetLocalNodeIdentifier
```c
Std_ReturnType Nm_GetLocalNodeIdentifier(
NetworkHandleType nmChannelHandle,
uint8* nmNodeIdPtr
)
```
##### Nm_CheckRemoteSleepIndication
```c
Std_ReturnType Nm_CheckRemoteSleepIndication(
NetworkHandleType nmChannelHandle,
boolean* nmRemoteSleepIndPtr
)
```
##### Nm_GetState
```c
Std_ReturnType Nm_GetState(
NetworkHandleType nmChannelHandle,
Nm_StateType* nmStatePtr,
Nm_ModeType* nmModePtr
)
```
##### Nm_GetVersionInfo
```c
void Nm_GetVersionInfo(Std_VersionInfoType* versioninfo)
```
### 8.4 回调通知
#### 8.4.1 标准回调通知
- Nm_NetworkStartIndication
- Nm_NetworkMode
- Nm_BusSleepMode
- Nm_PrepareBusSleepMode
- Nm_SynchronizeMode
- Nm_RemoteSleepIndication
- Nm_RemoteSleepCancellation
- Nm_SynchronizationPoint
- Nm_CoordReadyToSleepIndication
- Nm_CoordReadyToSleepCancellation
#### 8.4.2 额外回调通知
- Nm_PduRxIndication
- Nm_StateChangeNotification
- Nm_RepeatMessageIndication
- Nm_TxTimeoutException
- Nm_CarWakeUpIndication
### 8.5 调度函数
#### 8.5.1 Nm_MainFunction
```c
void Nm_MainFunction(void)
```
### 8.6 期望接口
#### 8.6.1 强制接口
- ComM_Nm_NetworkMode
- ComM_Nm_BusSleepMode
- 各 NM 模块函数(CanNm/FrNm/UdpNm/J1939Nm)
- Det_ReportError
#### 8.6.2 可选接口
#### 8.6.3 可配置接口
- NmCarWakeUpCallout
### 8.7 版本检查
---
## 9. 时序图
### 9.1 基本功能
启动序列、网络请求/释放、Bus Sleep 转换。
### 9.2 NM 协调器功能时序
多通道协调睡眠。
> **[摘要]** 详细时序图见原文 PDF 第 86-87 页。
---
## 10. 配置规范
### 10.1 如何阅读本章
### 10.2 配置参数
#### 10.2.1 Nm
根容器。
### 10.3 全局可配参数
#### 10.3.1 NmGlobalConfig
全局配置。
#### 10.3.2 NmGlobalConstants
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| NmDevErrorDetect | bool | DET 启用 |
| NmVersionInfoApi | bool | 版本信息 API |
| NmMainFunctionPeriod | float | main 周期 |
#### 10.3.3 NmGlobalProperties
全局属性配置。
#### 10.3.4 NmGlobalFeatures
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| NmCarWakeUpRxEnabled | bool | 启用 Car WakeUp |
| NmComControlEnabled | bool | 启用通信控制 |
| NmCoordinatorSupportEnabled | bool | 启用协调器 |
| NmRemoteSleepIndEnabled | bool | 启用远程睡眠指示 |
| NmStateChangeIndEnabled | bool | 启用状态变化指示 |
| NmSynchronizationPointEnabled | bool | 启用同步点 |
| NmUserDataEnabled | bool | 启用用户数据 |
### 10.4 通道可配参数
#### 10.4.1 NmChannelConfig
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| NmChannelId | int | 通道 ID |
| NmBusType | enum | 总线类型 |
#### 10.4.2 NmBusType
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| NmBusNmType | enum | 选择底层 NM 模块 |
#### 10.4.3 NmGenericBusNmConfig
通用 NM 总线配置。
#### 10.4.4 NmStandardBusNmConfig
标准 NM 总线配置(CAN/FlexRay/UDP/J1939)。
> **[摘要]** 完整配置详见原文 PDF 第 88-104 页。
### 10.5 已发布信息
按 BSW General。
---
## A. 不适用需求
详见原文 PDF 第 105 页。
---
## 翻译说明
- 本译本基于 AUTOSAR CP 4.4.0 的网络管理接口规范 (Document ID 228,共 105 页)
- 摘要标记位置:第 6 章需求追溯、第 9 章时序图、第 10 章配置、附录 A 不适用需求