Files
autosar_standard_spec_v4.4/Communication/AUTOSAR_SWS_LINNetworkManagement.md
T

8.6 KiB

LIN 网络管理规范 (Specification of LIN Network Management)

AUTOSAR CP Release 4.4.0 文档 ID 297: AUTOSAR_SWS_LINNetworkManagement

元信息

项目 内容
文档标题 LIN 网络管理规范
文档所有者 AUTOSAR
文档责任方 AUTOSAR
文档标识号 297
文档状态 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 关于 BSW 模式管理器交互
2015-07-31 4.2.2 AUTOSAR Release Management DET 修正
2014-10-31 4.2.1 AUTOSAR Release Management 编辑变更
2014-03-31 4.1.3 AUTOSAR Release Management 编辑变更
2013-10-31 4.1.2 AUTOSAR Release Management 初始正式版本

目录


1. 介绍与功能概述

AUTOSAR LIN 网络管理(LinNm)是硬件无关协议,仅可用于 LIN(限制见第 4.1 节)。其主要目的是协调网络在正常运行与总线睡眠模式之间的转换。

AUTOSAR 网络管理一般功能见 [8]。LIN 栈在 AUTOSAR 中支持主节点行为以及 LIN 2.x 和 LIN 1.x 协议。


2. 缩略语

缩略语 描述
API Application Programming Interface
BSW Basic Software
DET Default Error Tracer
LinNm LIN Network Management
NM Network Management
PDU Protocol Data Unit
SDU Service Data Unit

3. 相关文档

3.1 输入文档

  • [1] Layered Software Architecture
  • [2] General Requirements on Basic Software Modules
  • [3] Requirements on Network Management
  • [4] Requirements on LIN
  • [5] Specification of Communication Stack Types
  • [6] Specification of ECU Configuration
  • [7] Specification of BSW Scheduler
  • [8] Specification of Generic Network Management Interface
  • [9] Specification of Communication Manager
  • [10] Specification of ECU State Manager
  • [11] Specification of Operating System
  • [12] Specification of Default Error Tracer
  • [13] Specification of Standard Types
  • [14] Specification of Platform Types
  • [15] Specification of Compiler Abstraction
  • [16] Basic Software Module Description Template
  • [17] List of Basic Software Modules
  • [18] General Specification of Basic Software Modules

3.2 相关标准

无。

3.3 相关规范

AUTOSAR 提供 SWS BSW General [18],同样适用于 LIN 网络管理。


4. 约束与假设

4.1 限制

  1. 一个 LinNm 实例只与一个网络中的网络管理集群关联。一个网络管理集群在节点中可有多个 LinNm 实例。
  2. 一个 LinNm 实例只与同一 ECU 中的一个网络关联。
  3. LinNm 仅适用于 LIN 系统。

LinNm 策略管理无需特定协调算法(如 CanNm)。LIN 主节点可将连接到总线的所有 LIN 从节点送入睡眠并唤醒,无需等待其确认。

4.2 适用车域

可应用于任何车域(在上述限制下)。


5. 与其他模块的依赖

LinNm 向通用网络管理接口(Nm)提供服务。

5.1 文件结构

  • [SWS_LinNm_00000] ⌈代码文件结构不在本规范中完整定义。⌋

注:本模块无后构建时可配置参数。


6. 需求可追溯性

需求 ID 描述 满足者
SRS_BSW_00101 BSW 模块应能初始化变量和硬件 SWS_LinNm_00041
SRS_BSW_00323 API 参数检查 SWS_LinNm_00047, SWS_LinNm_00048
SRS_BSW_00373 main 函数命名 SWS_LinNm_00045
SRS_BSW_00407 版本信息读取 SWS_LinNm_00050
SRS_Nm_00040 启动协调 SWS_LinNm_00043
SRS_Nm_00041 网络释放 SWS_LinNm_00044
SRS_Nm_00042 协调睡眠 SWS_LinNm_00046

[摘要] 完整需求追溯表见原文 PDF 第 14-21 页。


7. 功能规范

7.1 LinNm 工作机制

LinNm 是 LIN 总线上 NM 协议的简单实现。其概念基于 LIN 主节点能控制集群上所有从节点的事实。

7.1.1 网络模式

LinNm 实现两种主要模式:

  • Bus-Sleep Mode:LIN 总线处于睡眠
  • Network Mode:网络运行中

7.1.2 模式转换

  • LIN 主节点请求 Network Mode 时,LinNm 转换到 Network Mode 并通知 Nm 模块。
  • LIN 主节点请求 Bus-Sleep Mode 时,LinNm 转换到 Bus-Sleep Mode 并通知 Nm 模块。

7.1.3 启动与关闭

  • [SWS_LinNm_00041] ⌈LinNm_Init 应初始化所有 LinNm 内部变量。⌋
  • [SWS_LinNm_00042] ⌈LinNm_DeInit 应反初始化模块。⌋

7.2 错误分类

7.2.1 开发错误

错误名 错误码 含义
LINNM_E_UNINIT 0x01 未初始化即调用
LINNM_E_INVALID_CHANNEL 0x02 无效通道
LINNM_E_INVALID_PARAMETER 0x03 无效参数
LINNM_E_PARAM_POINTER 0x12 NULL 指针

7.2.2 运行时错误

无运行时错误。


8. API 规范

8.1 导入类型

模块 头文件 导入类型
ComM ComM.h ComM_ModeType
ComStack_Types ComStack_Types.h NetworkHandleType, PduInfoType, PduIdType
Std_Types Std_Types.h Std_ReturnType, Std_VersionInfoType
Nm Nm.h Nm_ModeType, Nm_StateType

8.2 类型定义

8.2.1 LinNm_ConfigType

typedef struct LinNm_ConfigType LinNm_ConfigType;

8.3 函数定义

8.3.1 LinNm_Init

void LinNm_Init(const LinNm_ConfigType* linnmConfigPtr)
Service ID 0x01
Sync/Async Synchronous
描述 初始化 LinNm 模块

8.3.2 LinNm_DeInit

void LinNm_DeInit(void)
Service ID 0x02
描述 反初始化模块

8.3.3 LinNm_PassiveStartUp

Std_ReturnType LinNm_PassiveStartUp(NetworkHandleType nmChannelHandle)
Service ID 0x14
描述 被动启动网络

8.3.4 LinNm_NetworkRequest / LinNm_NetworkRelease (主节点)

请求/释放网络。

8.3.5 LinNm_GetVersionInfo

void LinNm_GetVersionInfo(Std_VersionInfoType* versionInfo)
Service ID 0x03

8.3.6 LinNm_RequestBusSynchronization

请求总线同步。

8.3.7 LinNm_CheckRemoteSleepIndication

检查远程睡眠指示。

8.3.8 LinNm_SetSleepReadyBit

设置睡眠就绪位。

8.3.9 NM Interface 通信控制服务

  • LinNm_GetState
  • LinNm_DisableCommunication / LinNm_EnableCommunication

8.3.10 NM Interface 额外服务

  • LinNm_GetLocalNodeIdentifier
  • LinNm_RepeatMessageRequest
  • LinNm_GetNodeIdentifier

8.4 回调通知

无。

8.5 调度函数

8.5.1 LinNm_MainFunction

void LinNm_MainFunction(void)
Service ID 0x13
描述 LinNm main 函数

8.6 期望接口

8.6.1 强制接口

  • Nm_NetworkMode / Nm_BusSleepMode
  • LinIf_GotoSleep
  • Det_ReportError

8.6.2 可选接口

  • Det_ReportRuntimeError

8.6.3 可配置接口

无。

8.6.4 任务结束通知

无。

8.7 服务接口

无。

8.8 参数检查

所有 API 参数应根据需求检查。

8.9 版本检查

应实现版本检查。


9. 时序图

9.1 LinNm_Init

初始化序列(简单调用)。

9.2 LinNm_PassiveStartUp

被动启动序列。

9.3 LinNm_NormalOperation

正常运行场景。

[摘要] 详细时序图见原文 PDF 第 41-43 页。


10. 配置规范

10.1 如何阅读本章

参考 [ECU Configuration Specification]。

10.2 容器与配置参数

10.3.1 LinNm

根容器。

10.3.2 LinNmGlobalConfig

参数 类型 说明
LinNmDevErrorDetect bool 启用/禁用开发错误检测
LinNmVersionInfoApi bool 启用版本信息 API
LinNmMainFunctionPeriod float main 函数周期(秒)

10.3.3 LinNmChannelConfig

参数 类型 说明
LinNmChannelId int 通道 ID
LinNmComMNetworkHandleRef ref 引用 ComM 网络句柄

10.4 已发布参数

按 BSW General 提供模块版本信息。


11. 不适用需求

详见原文 PDF 第 53 页。


翻译说明

  • 本译本基于 AUTOSAR CP 4.4.0 的 LIN 网络管理规范 (Document ID 297,共 53 页)
  • 摘要标记位置:第 6 章需求追溯、第 9 章时序图、第 11 章不适用需求