P1 batch translation: 94 PDFs (Communication + Diagnostics + SystemServices + MCAL)
This commit is contained in:
@@ -0,0 +1,304 @@
|
||||
# SAE J1939 网络管理规范 (Specification of Network Management for SAE J1939)
|
||||
|
||||
> **AUTOSAR CP Release 4.4.0**
|
||||
> **文档 ID 426: AUTOSAR_SWS_SAEJ1939NetworkManagement**
|
||||
|
||||
## 元信息
|
||||
|
||||
| 项目 | 内容 |
|
||||
| --- | --- |
|
||||
| 文档标题 | SAE J1939 网络管理规范 |
|
||||
| 文档所有者 | AUTOSAR |
|
||||
| 文档责任方 | AUTOSAR |
|
||||
| 文档标识号 | 426 |
|
||||
| 文档状态 | 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 | 初始正式版本 |
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
- [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 基础软件模块 **J1939 网络管理** (J1939Nm) 的功能、API 和配置。
|
||||
|
||||
J1939Nm 实现 SAE J1939-81 中定义的地址声明(Address Claiming)协议,为每个 ECU 在 J1939 网络中分配唯一的 8 位地址。
|
||||
|
||||
### 1.1 地址声明协议
|
||||
|
||||
地址声明协议步骤:
|
||||
1. ECU 启动后,发送 AddressClaimed (AC) PG 声明使用的地址
|
||||
2. 如收到的 AC PG 与本节点地址相同:
|
||||
- 本节点 NAME 优先(数值较小)→ 保留地址
|
||||
- 对方 NAME 优先 → 申请下一个地址或发送 CannotClaimAddress
|
||||
3. 进入正常运行模式
|
||||
|
||||
---
|
||||
|
||||
## 2. 缩略语
|
||||
|
||||
| 缩略语 | 描述 |
|
||||
| --- | --- |
|
||||
| AC | AddressClaimed PG (PGN = 0x0EE00) |
|
||||
| CCA | CannotClaimAddress |
|
||||
| CA | Controller Application |
|
||||
| NAME | 64 位 ECU 唯一标识符 |
|
||||
| PG | Parameter Group |
|
||||
| PGN | Parameter Group Number |
|
||||
| RQST | Request PG |
|
||||
| SA | Source Address |
|
||||
| ECU | Electronic Control Unit |
|
||||
| BSW | Basic Software |
|
||||
|
||||
---
|
||||
|
||||
## 3. 相关文档
|
||||
|
||||
### 3.1 输入文档
|
||||
|
||||
- [1] List of Basic Software Modules
|
||||
- [2] Layered Software Architecture
|
||||
- [3] General Requirements on Basic Software Modules
|
||||
- [4] General Specification of Basic Software Modules
|
||||
- [5] Requirements on BSW Modules for SAE J1939
|
||||
- [6] Specification of Communication Stack Types
|
||||
- [7] System Template
|
||||
- [8] Specification of CAN Interface
|
||||
- [9] Specification of a Request Manager for SAE J1939
|
||||
- [10] Specification of Generic Network Management Interface
|
||||
- [11] Specification of Default Error Tracer
|
||||
- [12] Specification of BSW Scheduler
|
||||
- [13] Specification of ECU Configuration
|
||||
|
||||
### 3.2 相关标准
|
||||
|
||||
- [14] SAE J1939-81 (2003-06), Network Management
|
||||
|
||||
### 3.3 相关规范
|
||||
|
||||
SWS BSW General [4] 适用。
|
||||
|
||||
---
|
||||
|
||||
## 4. 约束与假设
|
||||
|
||||
### 4.1 限制
|
||||
|
||||
J1939Nm 仅适用于 SAE J1939 网络。一个 J1939Nm 实例服务一个 J1939 网络。
|
||||
|
||||
### 4.2 适用车域
|
||||
|
||||
商用车域。
|
||||
|
||||
---
|
||||
|
||||
## 5. 与其他模块的依赖
|
||||
|
||||
- **Nm**:通用网络管理接口
|
||||
- **CanIf**:用于 AC PG 的发送和接收
|
||||
- **J1939Rm**:用于地址声明的入站请求
|
||||
- **DET**:错误上报
|
||||
- **BswM**:模式管理
|
||||
|
||||
---
|
||||
|
||||
## 6. 需求可追溯性
|
||||
|
||||
| 需求 ID | 描述 | 满足者 |
|
||||
| --- | --- | --- |
|
||||
| SRS_J1939_00026 | 支持地址声明 | SWS_J1939Nm_00010 |
|
||||
| SRS_J1939_00027 | 支持 RQST AC | SWS_J1939Nm_00050 |
|
||||
| SRS_BSW_00101 | 初始化 API | SWS_J1939Nm_00018 |
|
||||
| SRS_BSW_00407 | 版本信息 | SWS_J1939Nm_00050 |
|
||||
|
||||
> **[摘要]** 完整需求追溯表见原文 PDF 第 17-22 页。
|
||||
|
||||
---
|
||||
|
||||
## 7. 功能规范
|
||||
|
||||
### 7.1 地址声明状态机
|
||||
|
||||
| 状态 | 描述 |
|
||||
| --- | --- |
|
||||
| J1939NM_OFFLINE | 模块未活跃 |
|
||||
| J1939NM_PREP_ADDRESS_CLAIM | 准备发送 AC |
|
||||
| J1939NM_NORMAL_OPERATION | 正常运行 |
|
||||
| J1939NM_CANNOT_CLAIM | 无法分配地址 |
|
||||
|
||||
### 7.2 地址竞争解决
|
||||
|
||||
ECU 收到与自身地址相同的 AC 时:
|
||||
- 比较 NAME 数值
|
||||
- 较小者获胜
|
||||
- 失败者根据配置:申请新地址 / 发送 CCA
|
||||
|
||||
### 7.3 BAM/PG 接收和发送
|
||||
|
||||
- AC PG 接收 → 比较 NAME
|
||||
- 通过 CanIf 发送 AC PG
|
||||
|
||||
### 7.4 错误分类
|
||||
|
||||
#### 7.4.1 开发错误
|
||||
|
||||
| 错误名 | 错误码 | 含义 |
|
||||
| --- | --- | --- |
|
||||
| J1939NM_E_UNINIT | 0x01 | 未初始化 |
|
||||
| J1939NM_E_PARAM_POINTER | 0x02 | NULL 指针 |
|
||||
| J1939NM_E_INVALID_USER | 0x03 | 无效用户 |
|
||||
| J1939NM_E_INVALID_NETWORK | 0x04 | 无效网络 |
|
||||
|
||||
---
|
||||
|
||||
## 8. API 规范
|
||||
|
||||
### 8.1 导入类型
|
||||
|
||||
| 模块 | 头文件 | 导入类型 |
|
||||
| --- | --- | --- |
|
||||
| ComStack_Types | ComStack_Types.h | NetworkHandleType, PduInfoType, PduIdType |
|
||||
| Std_Types | Std_Types.h | Std_ReturnType, Std_VersionInfoType |
|
||||
|
||||
### 8.2 类型定义
|
||||
|
||||
#### 8.2.1 J1939Nm_ConfigType
|
||||
```c
|
||||
typedef struct J1939Nm_ConfigType J1939Nm_ConfigType;
|
||||
```
|
||||
|
||||
#### 8.2.2 J1939Nm_StateType
|
||||
```c
|
||||
typedef enum {
|
||||
J1939NM_OFFLINE,
|
||||
J1939NM_PREP_ADDRESS_CLAIM,
|
||||
J1939NM_NORMAL_OPERATION,
|
||||
J1939NM_CANNOT_CLAIM
|
||||
} J1939Nm_StateType;
|
||||
```
|
||||
|
||||
### 8.3 函数定义
|
||||
|
||||
#### 8.3.1 J1939Nm_Init
|
||||
```c
|
||||
void J1939Nm_Init(const J1939Nm_ConfigType* configPtr)
|
||||
```
|
||||
| Service ID | 0x01 |
|
||||
| --- | --- |
|
||||
|
||||
#### 8.3.2 J1939Nm_DeInit
|
||||
```c
|
||||
void J1939Nm_DeInit(void)
|
||||
```
|
||||
|
||||
#### 8.3.3 J1939Nm_PassiveStartUp
|
||||
```c
|
||||
Std_ReturnType J1939Nm_PassiveStartUp(NetworkHandleType nmChannelHandle)
|
||||
```
|
||||
|
||||
#### 8.3.4 J1939Nm_NetworkRequest / J1939Nm_NetworkRelease
|
||||
请求/释放网络。
|
||||
|
||||
#### 8.3.5 J1939Nm_GetState
|
||||
读取当前状态。
|
||||
|
||||
#### 8.3.6 J1939Nm_GetNodeAddress
|
||||
读取节点地址。
|
||||
|
||||
#### 8.3.7 J1939Nm_GetNodeName
|
||||
读取节点 NAME。
|
||||
|
||||
#### 8.3.8 J1939Nm_GetVersionInfo
|
||||
版本信息。
|
||||
|
||||
#### 8.3.9 J1939Nm_RxIndication / J1939Nm_TxConfirmation
|
||||
回调通知。
|
||||
|
||||
### 8.4 调度函数
|
||||
|
||||
#### 8.4.1 J1939Nm_MainFunction
|
||||
```c
|
||||
void J1939Nm_MainFunction(void)
|
||||
```
|
||||
|
||||
### 8.5 期望接口
|
||||
|
||||
#### 8.5.1 强制
|
||||
- CanIf_Transmit
|
||||
- Nm_NetworkMode / Nm_BusSleepMode
|
||||
- Det_ReportError
|
||||
- J1939Rm_SendAck
|
||||
|
||||
---
|
||||
|
||||
## 9. 时序图
|
||||
|
||||
> **[摘要]** 详细时序图见原文 PDF 第 36-42 页:Init、地址声明、RQST AC 处理、地址竞争解决等。
|
||||
|
||||
---
|
||||
|
||||
## 10. 配置规范
|
||||
|
||||
### 10.1 容器与配置参数
|
||||
|
||||
#### J1939Nm
|
||||
根容器。
|
||||
|
||||
#### J1939NmGeneral
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| J1939NmDevErrorDetect | bool | DET 启用 |
|
||||
| J1939NmVersionInfoApi | bool | 版本信息 API |
|
||||
| J1939NmMainFunctionPeriod | float | main 周期 |
|
||||
|
||||
#### J1939NmNode
|
||||
每节点配置:
|
||||
| 参数 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| J1939NmNodeName | uint64 | 64 位节点 NAME |
|
||||
| J1939NmNodeAddress | uint8 | 8 位初始地址 |
|
||||
| J1939NmDynamicAddress | bool | 是否支持动态地址 |
|
||||
| J1939NmAddressClaimTimeout | float | 地址声明超时(250ms) |
|
||||
|
||||
> **[摘要]** 完整配置详见原文 PDF 第 45-52 页。
|
||||
|
||||
### 10.2 已发布信息
|
||||
按 BSW General。
|
||||
|
||||
---
|
||||
|
||||
## 11. 不适用需求
|
||||
|
||||
详见原文 PDF 第 53 页。
|
||||
|
||||
---
|
||||
|
||||
## 翻译说明
|
||||
|
||||
- 本译本基于 AUTOSAR CP 4.4.0 的 J1939 网络管理规范 (Document ID 426,共 53 页)
|
||||
- 摘要标记位置:第 6 章需求追溯、第 9 章时序图、第 10 章配置、第 11 章不适用需求
|
||||
Reference in New Issue
Block a user