Files
autosar_standard_spec_v4.4/Communication/AUTOSAR_SWS_SAEJ1939NetworkManagement.md
T

7.2 KiB

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. 介绍与功能概述

本规范规定了 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

typedef struct J1939Nm_ConfigType J1939Nm_ConfigType;

8.2.2 J1939Nm_StateType

typedef enum {
    J1939NM_OFFLINE,
    J1939NM_PREP_ADDRESS_CLAIM,
    J1939NM_NORMAL_OPERATION,
    J1939NM_CANNOT_CLAIM
} J1939Nm_StateType;

8.3 函数定义

8.3.1 J1939Nm_Init

void J1939Nm_Init(const J1939Nm_ConfigType* configPtr)
Service ID 0x01

8.3.2 J1939Nm_DeInit

void J1939Nm_DeInit(void)

8.3.3 J1939Nm_PassiveStartUp

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

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 章不适用需求