【AutoSar_网络管理】CanNM模块详解

1 简介和功能概述

本文档描述了AUTOSAR CAN网络管理 (CanNm) 的概念、核心功能、可配置特性、接口和配置问题。

AUTOSAR CAN网络管理是一个独立于硬件的协议,只能在CAN上使用(有关限制,请参阅章节4.1)。其主要目的是协调网络正常运行和总线睡眠模式之间的转换

除了核心功能外,还提供了可配置的功能,例如:实现一个服务来检测所有当前节点或检测所有其他节点是否准备好休眠。

CAN网络管理 (CanNm) 功能提供网络管理接口 (NmIf) 和 CAN接口 (CanIf) 模块之间的适配。
总结如下:

  • 作用:网络管理就是通过在各个ECU的网络上,发送一些命令制定一套规则,来实现各个ECU的协同睡眠和唤醒。
  • 核心思想:如果节点需要保持通信,则节点需要周期的发送NM消息,否则停止发送NM消息。如果总线上的所有节点不需要使用总线,那么总线上过了一段时间没有NM Messages时,则会进入Bus-Sleep Mode。

2 缩略语

2.1 缩写表

缩写 描述 解释
CanIf CAN Interface CAN接口层
CanNm CAN Network Management CAN网路管理模块
CBV Control Bit Vector 控制位向量
ERA External Request Array 外部请求数组
EIRA External and Internal Request Array 外部和内部请求数组
NM Network Management 网络管理
PNC Partial Network Cluster 部分网络集群
PNI Partial Network Information 部分网络信息
PNL Partial Network Learning 部分网络学习
SNI Source Node Identifier 源节点标识符

2.2 术语

术语 描述
PDU transmission ability is disabled 通过服务CanNm_DisableCommunication禁止NM PDU的发送
Repeat Message Request Bit Indication CanNm_RxIndication接收到NM PDU的CBV中的重复消息状态请求位被置1
PN filter mask 配置参数CanNmPnFilterMaskByte的过滤掩码字节,用于过滤与节点相关的NM PDU
Top-level PNC coordinator 顶级PNC协调器是一个ECU,它在网络中充当PNC网关,并在所有分配的通道上处理至少一个主动协调的PNC;如果同步PNC关闭被启用且如果网络中没有其他ECU请求它们,顶级PNC协调器触发这些PNC关闭,
Intermediate PNC coordinator 中间PNC协调器是一个ECU,它在网络中充当PNC网关,并在至少一个指定的信道上处理至少一个被动协调的PNC。如果启用了同步PNC关闭,它将这些pnc收到的关闭请求转发到相应的主动协调通道,并相应地开始关闭它们
Subordinated PNC node 从属的PNC节点是一个ECU,它在网络中根本不充当PNC协调器。它像处理普通的NM消息一样处理PN关闭消息
PN shutdown message 顶级PNC协调器发送PN关闭消息,以指示跨PN拓扑的同步PNC关闭。PN关闭消息与NM消息一样,在控制位矢量中具有PNSR位,并且所有pnc都被指示为同步关闭设置为“1”

3 相关文档

3.1. 输入文件

[1] General Requirements on Basic Software Modules

AUTOSAR_SRS_BSWGeneral.pdf
[2] Specification of the AUTOSAR Network Management Protocol

AUTOSAR_PRS_NetworkManagementProtocol.pdf
[3] Requirements on Network Management

AUTOSAR_RS_NetworkManagement.pdf
[4] Specification of CAN Interface

AUTOSAR_SWS_CANInterface.pdf
[5] Specification of Communication Stack Types

AUTOSAR_SWS_CommunicationStackTypes.pdf
[6] Specification of ECU Configuration

AUTOSAR_TPS_ECUConfiguration.pdf
[7] Specification of Generic Network Management Interface

AUTOSAR_SWS_NetworkManagementInterface.pdf
[8] Specification of Communication Manager

AUTOSAR_SWS_ComManager.pdf
[9] Specification of Standard Types

AUTOSAR_SWS_StandardTypes.pdf
[10] General Specification of Basic Software Modules

AUTOSAR_SWS_BSWGeneral.pdf
[11] Specification of SystemTemplate

AUTOSAR_TPS_SystemTemplate

3.2 相关规范

AUTOSAR 提供了基础软件模块的通用规范 [10] (General Specification of Basic Software Modules),它也适用于CAN网络管理。

因此,规范基础软件模块的通用规范应被视为CAN网络管理的附加和必需规范。

4 约束和限制

4.1. 限制

  1. CanNm的一个通道只关联一个网络中的一个网络管理集群(network management cluster)。
  2. 一个网络管理集群的一个节点只能有一个CanNm通道
  3. CanNm的一个通道只关联同一个ECU内的一个网络。
  4. CanNm仅适用于CAN系统。

图4-1展示了一个示例ECU中的AUTOSAR网络管理堆栈,该示例ECU至少包含一个CanNm集群。
在这里插入图片描述

4.2 适用于汽车领域

CanNm模块可以在上述限制下应用于任何汽车领域。

5 对其他模块的依赖

CAN网络管理(CanNm)主要使用CAN接口(CanIf[4])的服务,并为通用网络管理接口(NmIf[7])提供服务。

6 主要学习方向

  • 具备PN功能的网络管理
  • 不具备PN功能的网络管理
  • 网络协调功能

7 功能规范

7.1 协调算法

AUTOSAR CanNm基于分散的直接网络管理策略,这意味着每个网络节点仅根据在通信系统内收发的网络管理PDU执行自给自足的活动。

AUTOSAR CanNm算法基于周期性的NM PDU,集群中的所有节点接收这些广播传输的NM PDU。NM PDU的接收表明发送节点希望保持网络管理集群处于唤醒状态。如果任何节点准备好进入总线睡眠(Bus-Sleep)模式,它就会停止传输NM PDU,但只要收到来自其他节点的NM PDU,节点就需推迟转换到Bus-Sleep模式。最后,如果由于不再接收到NM PDU而导致专用计时器超时,则每个节点都会启动到总线睡眠模式的转换。

如果网络管理集群中的任何节点需要总线通信,它可以通过传输NM PDU将网络管理集群从总线睡眠模式唤醒。有关唤醒过程本身的更多详细信息,请参阅ComM规范。

AUTOSAR CanNm算法的主要概念可以通过以下两个关键需求来定义:CanNm集群中的每个网络节点只要需要总线通信,就应该定期传输网络管理PDU;否则它将无需传输网络管理PDU。

如果CanNmStayInPbsEnabled被禁用,并且CanNm集群中的总线通信被释放,并且在可配置的(CanNmTimeoutTime + CanNmWaitBusSleepTime)时间里,总线上没有任何NM PDU,则需转换到Bus-Sleep模式。

CanNm算法的整体状态机可以定义如下图:
在这里插入图片描述

注意:状态转换最晚必须在下一个主函数中执行。

  • 36
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值