今天我们来拆解 AUTOSAR 里非常关键的 Nm 网络管理模块!
先来想一个生活场景:家里的智能音箱、扫地机器人、空调都可以联网联动。但到了夜间休息,没必要让全部设备持续联网运行,既消耗电量,又没有实际用处;可如果全部断网,后续想要唤醒设备又会失效,这就是一个很现实的矛盾。

整车的 CAN、LIN 总线系统,面临的是完全相同的难题。车辆行驶过程中,车灯、空调、制动、雨刮,还有新能源车的电池管理单元,全部依靠总线完成数据交互,就如同家用智能设备依靠 WiFi 互通。当车辆熄火之后,总线和各个电控单元该如何处理?持续工作会消耗蓄电池电量,全部直接关机,又会导致后续无法正常唤醒。Nm 模块,就是专门用来解决这个痛点的核心组件。
Nm 的全称是 Network Management,也就是网络管理。可以把它看作车载总线系统的调度管家兼功耗控制器,一方面统筹管理总线上全部 ECU,另一方面管控网络的启停,专门处理网络唤醒与休眠,把整车通信的工作、待机状态调度妥当。

理解完它的定位,再来看 Nm 两大核心能力,掌握这两点就抓住了主体内容。第一个能力:网络唤醒。
车辆熄火之后,绝大多数电控单元和总线会进入低功耗休眠,类似睡前关闭家里大部分智能设备,仅保留唤醒触发通道。一旦产生工作需求,Nm 就可以快速把整个网络唤醒。举个例子,按下遥控钥匙解锁,信号传入之后,Nm 就触发唤醒逻辑,通知车门、灯光、防盗等相关 ECU 进入工作状态,总线通信恢复,完成车门解锁动作。

唤醒分为两类典型场景:一类是本地唤醒,像直接开启车门、钥匙上电这类本地触发事件;另一类为网络唤醒,总线上接收到指定报文,Nm 同样可以触发唤醒,让需要工作的模块及时投入运行。
第二个核心能力:休眠降功耗,燃油车、新能源车都十分看重这一项能力。
车辆熄火之后,各个 ECU 内部的 Nm 不会立刻让本控制器进入休眠,而是持续监听总线上面其余节点的 Nm 报文,判断整个网络是否还有业务在运行。只有所有 ECU 的业务全部结束,不再发出 Nm 报文,总线也接收不到任何 Nm 报文的时候,各个电控单元才会同步执行休眠流程,依次关闭总线通信,整车网络进入低功耗待机。
这套机制,既保障后续可以正常唤醒网络,又最大程度节约蓄电池电能,避免车辆静置几天后亏电无法启动的问题,对于新能源车,也能够减少静态耗电,保护动力电池。
⚠️重要提醒:Nm 无法独立完成全部工作,需要和 ComM、CanIf、CanSM 等模块协同工作。比如 Nm 接收到唤醒信号,会先告知 ComM 激活 CAN 控制器,再经由 CanIf 完成和总线的数据交互,一步步走完完整唤醒流程,属于典型的多模块协同工作。

很多同学会疑惑,做车载软件开发,Nm 是必学内容吗?答案是肯定的。
不管从事 ECU 应用开发、总线开发还是诊断开发,都会接触 Nm。如今新能源车越来越多,整车对静态功耗、通信可靠性要求持续提高,Nm 的参数配置直接关系整车稳定性;同时面试当中,Nm 的休眠、唤醒逻辑也是高频考点,吃透 Nm 能够拉开你的技术竞争力。
给新手的学习小建议:刚接触 Nm,不要直接硬啃长篇 AUTOSAR 规范。优先吃透唤醒、休眠两大核心逻辑,牢牢记住 “调度管家 + 功耗控制器” 这个类比。接着搞懂它和 ComM、CanIf 之间的调用关系,之后再去钻研唤醒报文配置、休眠延时等细节,循序渐进学习,上手会轻松很多。

本期 Nm 模块的分享就到这里。简单回顾:Nm 就是车载总线的调度管家与功耗控制器,兼顾网络正常通信和低功耗休眠,是车载软件开发必须掌握的核心模块。


上述资料可在如下公众号链接获取:
夜雨聆风