点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
本文将重点介绍通用网络管理接口块。通用网络管理接口 (NM)是 AUTOSAR 分层架构的通信服务模块通用模块的一部分。它是 AUTOSAR 通信管理器 (ComM) 与总线特定或网络相关网络管理 (NM)块之间的适配层(例如:CAN 总线的CanNm)。通过管理网络状态,即从唤醒状态更改为休眠状态来实现节省ECU功耗的目标。
注意: 请不要将通用网络管理模块与总线特定网络管理模块混淆。
上图是Com Stack,仅突出显示了 Generic Network Management 块。这是一个独立于网络的块,因此它只被实例化一次并用于所有总线,即CAN Bus和FlexRay Bus不会有不同的NM模板,相反,两个总线将使用相同的 NM 模板。通用 NM 为通信管理器 (ComM) 提供接口,并使用总线特定 NM 模块(如 CanNm)提供的服务。ComM 通过 Generic NM 模块与总线特定的 NM 模块通信,从而实现完全的抽象和硬件(总线)独立性。
通用网络管理模块的一些特性:
-
通用 NM 允许无缝地临时添加新节点,只是该节点应在配置期间将“NmSelectiveNmChannel”属性设置为 False。这种新添加的节点可以是以下类型:连接较晚的节点、从故障状态恢复的节点或在现网中动态添加的节点。 -
Generic NM 允许SWC进行通信,即使 Generic NM 无法初始化或尚未初始化。 -
通用 NM 是一个独立于网络的模块,只要 AUTOSAR 支持,它就可以同时适用于任何通信总线。 -
如果没有节点需要总线,则 Generic NM 将总线置于睡眠模式。
Generic NM 模块主要执行如下两个操作:
-
将通用函数调用转换为特定于总线的调用,反之亦然:来自通信管理器的函数调用本质上是独立于总线的,通用 NM 模块将这些调用转换并“引导”它们到总线特定调用,这些调用将在 CAN 的 CanNm 或 FlexRay 的 FrNm 中。它还将总线特定的回调转换为定向到 ComM 的总线独立调用。 -
执行 NM 协调器的角色:通用 NM 模块可用于在称为网关 ECU 的单独 ECU 中实现 NM 协调器功能,该 ECU 连接到多个总线(如 CAN 总线、FlexRay 等)。在多总线场景下,同步关闭总线的 NM(这意味着总线另一端的 ECU 中的总线特定 NM)需要这样的功能,这种总线称为协调总线. 这里同步的意思是,总线中的所有节点将由 NM 协调器同步关闭(或进入断电状态),因为总线中的每个节点都会知道是否有任何节点正在使用总线或准备休眠,以及是否没有节点正在使用总线,然后所有节点将在 NM 协调器的帮助下相互进入掉电状态。通用 NM 模块使用一种特殊算法来实现此功能,称为协调器算法。如果网络中至少有一个节点需要总线,则 NM 协调器保持总线唤醒,这意味着即使其他节点想睡觉,它也不会让其他人睡觉! -
每个协调总线(应该听 NM 协调器的 ECU)都具有可配置的属性,可以在Vector DaVinci Configurator等配置器软件中进行配置“NmSelectiveNmChannel”如果设置为True,则NM coordinator将忽略该节点,其关闭不受NM coordinator控制,否则将异步关闭。如果只有 NM 协调器正在使用总线而所有其他协调的总线都没有使用,则 NM 协调器通过向网络中的其他节点发送 NM 消息来关闭整个总线,如果网络中其他节点没有 NM 消息,则 NM协调员认为这是“没有人需要总线”,然后关闭总线。通用 NM 对“同步唤醒”没有帮助,因为它不是必需的,因为当节点需要使用总线时,通信管理器将唤醒相应的节点。
NM Coordinator 功能是可选的,通用 NM 要么支持以下功能:
-
没有 NM 协调器功能的 NM 接口功能 -
NM 接口功能仅限于使用基于 AUTOSAR 的网络管理模块的 ECU 支持 NM 协调器功能。 -
NM 接口功能支持 NM 协调器功能,ECU 使用基于 AUTOSAR 的 NM 以及基于OSEK的 NM。AUTOSAR 基于OSEK 实现,但与OSEK 相比,它有更多的扩展。所以 AUTOSAR 使用与 OSEK 的 NM 不同的 NM 实现,存在细微差别。NM 接口可以同时支持两种类型的 NM 实现,因为 AUTOSAR 向后兼容 OSEK。
为通用 NM 生成的文件
只 为 NM 生成一个名为Nm.c的C 文件。它具有上面讨论的 NM 功能的所有实现以及根据配置。一些工具还实现了宏而不是单独的 C 文件来实现 NM 功能。
生成四个头文件,即:
-
Nm.h:该文件包含 Nm.c 文件中函数的函数原型。 -
Nm_Cbk.h:此文件包含 Nm.c 文件中的函数原型回调函数 -
Nm_Cfg.h:此文件包含预编译时可配置的参数。 -
Nm_StackTypes.h:此文件包含Nm.c 文件中使用的typedef和结构。
码上报名
AutoAI 2022 第五届无人驾驶与智能驾舱峰会火热报名中
码上报名
AES 2022 第三届中国国际以太网峰会火热报名中
码上报名
AutoSec 2022 第六届中国汽车网络安全周暨汽车数据安全展火热报名中
华为蔡建永:智能网联汽车的数字安全和功能安全挑战与思考
汽车数据合规要点
车载以太网技术发展与测试方法
车载以太网防火墙设计
SOA:整车架构下一代的升级方向
会员权益: (点击可进入)谈思实验室VIP会员
END
微信入群
谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。
每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全、功能安全、自动驾驶、TARA、渗透测试、SOTIF、WP.29、以太网、物联网安全等,现专题社群仍然开放,入满即止。
扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。
谈思实验室,为汽车科技赋能,推动产业创新发展!
原文始发于微信公众号(谈思实验室):一文读懂AutoSAR通用网络管理接口
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论