[AUTOSAR] [NM网络管理]-深度解读

目录

1. NM网络管理介绍

2. 网络管理基本概念

3. 网络管理模式

3.1 网络管理参数说明

3.2 睡眠模式(Bus-Sleep Mode)

3.3 预睡眠模式(Prepare Bus-Sleep Mode)

3.4 网络模式(Network Mode)

4. 网络管理报文

4.1 网络管理报文格式

4.2 源节点标识符

4.3 控制比特向量

4.4 数据域

5. NM网络管理状态机

5.1 状态转换及条件说明

6. 诊断报文处理

7. 故障处理


1. NM网络管理介绍

       汽车上挂载ECU节点有很多,不可能一启动所有ECU都同时正常工作。而是当用户请求相关功能时,参与该功能的相关ECU节点才需要启动起来,否则带来的只是过多对电池的无用消耗。为了更好的去利用整车的能源,防止出现不必要的电池浪费,网络管理(Network Management,以下简称NM)便可以很好的解决此类问题,实现车上的ECU能够协同睡眠以及唤醒,最大可能的高效利用整车电池能源,节约用车成本,延长电池使用寿命。

2. 网络管理基本概念

唤醒请求可分为如下两种:
本地唤醒请求: 即来自该节点内部的对网络的唤醒请求。主动唤醒节点的网络 管理报文必须先于应用报文发送。
远程唤醒请求: 即来自网络上其他节点的网络管理报文请求。
节点的网络状态包括以下两种:
网络请求: 模块需要主动与总线上其他节点进行信息交换时,它必须通过发送 网络管理报文来请求网络, 并将其网络状态设置为“网络请求”;
网络释放: 模块不需要主动与总线上其他节点进行信息交换时,必须将其网络 状态设置为“网络释放”;需要注意的是,在网络释放状态下模块仍可能因总 线上的其他节点请求网络而与其进行信息交互。

3. 网络管理模式

3.1 网络管理参数说明
网络管理参数说明

        网络管理包含如下三种模式: 睡眠模式(Bus-Sleep Mode) 、预睡眠模式Prepare Bus-Sleep Mode) 、网络模式(Network Mode)。

下表描述了在不同的网络模式下报文的发送情况:

NM Mode说明
3.2 睡眠模式(Bus-Sleep Mode)
       当节点没有本地网络唤醒及远程唤醒请求时, ECU 通讯控制器切换至睡眠模式, ECU 功耗降低至适当水平。 在睡眠模式下,节点的网络管理报文和应用报文禁止发送,并且不能对总线上的 报文进行 ACK 应答;但可以被总线上的报文唤醒,在被唤醒后才可以对总线报文进行 ACK 应答。同时节点在该模式下,如果检测到有效的唤醒源,节点必须被唤醒。
3.3 预睡眠模式(Prepare Bus-Sleep Mode)
       当节点进入预睡眠模式时,将启动 T_WAIT_BUS_SLEEP 定时器。 在预睡眠模式下,总线活动需静止下来,最终达到总线上没有活动,但ECU 通讯 控制器状态应处于工作模式。 在该模式下,节点的网络管理报文和应用报文禁止发送(为了清空发送缓存,允 许将发送队列中已有的报文发完),但需对总线上的报文进行ACK 应答。
3.4 网络模式(Network Mode)
       当节点进入网络模式时,将启动 T_NM_TIMEOUT 定时器。在网络模式下成功接 收或者发送网络管理报文时,节点将重新启动 T_NM_TIMEOUT 定时器。  网络模式分为三种内部状态:重复报文状态(Repeat Message State) 常规操作状态:(Normal Operation State)、 准备睡眠状态(Ready Sleep State)。

(1) 重复报文状态 (Repeat Message State)

### AUTOSAR 网络管理中 PNC-WAKEUP-DATA-MASK 的配置与定义 #### 背景介绍 AUTOSAR(Automotive Open System Architecture)是一种标准化的汽车软件架构设计方法,旨在提高车载电子系统的开发效率和灵活性。在网络管理方面,AUTOSAR 提供了一种分布式直接网络管理模式,其中每个节点通过 CAN 总线上的特定消息来管理和同步自身的网络状态[^1]。 部分网络集群(Partial Network Cluster, PNC)是 AUTOSAR 中的一个重要概念,用于支持动态激活和去活化某些功能组的功能簇成员 ECUs。这种机制允许车辆中的不同子系统根据实际需求进入休眠或唤醒状态,从而优化功耗并延长电池寿命[^2]。 #### PNC-WAKEUP-DATA-MASK 的作用 PNC-WAKEUP-DATA-MASK 是一种掩码配置参数,在 AUTOSAR 网络管理系统中被用来过滤接收到的唤醒信号数据包的内容。具体而言: - **目的**: 它帮助区分哪些比特位的数据变化可以触发 PNC 成员从睡眠模式切换到活动模式。 - **工作原理**: 当某个 ECU 接收到来自总线的唤醒请求帧时,会利用此掩码对比特序列进行逻辑运算,判断是否有足够的条件满足唤醒标准。只有当指定位置上发生了预期的变化后,ECU 才会被真正唤醒[^3]。 #### 配置过程概述 为了正确实施基于 PNC 的唤醒机制,开发者需要完成以下几个方面的设定: 1. **确定目标硬件平台特性** - 明确所使用的微控制器及其外设接口能力,比如 GPIO 引脚分配情况以及它们如何映射至物理层连接线路之上。 2. **创建基础软件组件实例** - 借助 ARXML 文件描述符建立必要的通信实体对象模型结构,包括但不限于 NM-PDU 和关联传输路径设置等细节信息[^4]. 3. **调整高级别的应用级属性选项** - 设置诸如 `CanIfRxPduId`, `ComStackConfig` 或者其他类似的高层抽象变量值以便于后续操作流程顺利执行. 以下是简化版伪代码展示了一个可能涉及上述提到的一些关键要素的例子: ```c // Example configuration snippet demonstrating usage of wakeup mask within an AUTOSAR environment. typedef struct { uint8_t pncWakeupDataMask; // Mask applied to incoming wake-up data bits. } CanNm_ConfigType; void configureNetworkManagement(CanNm_ConfigType* config) { /* Assume default initialization values here */ // Apply custom-defined bit pattern as per system requirements. config->pncWakeupDataMask = CUSTOM_DEFINED_WAKEUP_PATTERN; } ``` #### 结论 综上所述,PNC-WAKEUP-DATA-MASK 在 AUTOSAR 架构下的网络管理体系里扮演着至关重要的角色——它不仅能够精确控制何时何地启动设备恢复程序,而且还能有效减少不必要的资源消耗现象发生几率。因此合理规划此类技术细节对于构建高效可靠的现代汽车信息系统至关重要。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值