目录
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. 限制
- CanNm的一个通道只关联一个网络中的一个网络管理集群(network management cluster)。
- 一个网络管理集群的一个节点只能有一个CanNm通道。
- CanNm的一个通道只关联同一个ECU内的一个网络。
- 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算法的整体状态机可以定义如下图:
注意:状态转换最晚必须在下一个主函数中执行。