P1 batch translation: 94 PDFs (Communication + Diagnostics + SystemServices + MCAL)
This commit is contained in:
@@ -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 不适用需求
|
||||
Reference in New Issue
Block a user