AUTOSAR CAN NM核心状态机讲解

发布时间:2026/11/7 1:23:49

AUTOSAR CAN NM核心状态机讲解 在深入讲解 AUTOSAR CAN NM 状态机之前需要明确一个关键事实没有报文发出不代表程序没有运行。CAN NM 的状态管理逻辑复杂即使总线静默ECU 也可能处于不同的网络管理状态执行着相应的定时器管理和状态跳转逻辑。AUTOSAR CAN NM状态机详解目录1. 状态介绍1.1 总线睡眠模式Bus-Sleep Mode1.2 预睡眠模式Prepare Bus-Sleep Mode1.3 网络工作模式Network Mode1.3.1 报文重复状态Repeat Message State1.3.2 常规运行状态Normal Operation State1.3.3 就绪睡眠状态Ready Sleep State2. 状态间跳转条件2.1 状态跳转表格2.2 BSM→RMS2.3 PBSM→BSM2.4 PBSM→RMS2.5 RMS→NOS2.6 NOS→RMS2.7 RMS→RSS2.8 RSS→RMS2.9 RSS→PBSM3. 常见配置参数4. 参考文献状态介绍本小节主要介绍每个状态主要职责ECU在这个状态里面需要做哪些动作。最重要的是就是 网络工作模式Network Mode它涉及到的配置项是最多的也是最复杂的。CANNM的状态机可以分成3个大状态总线睡眠模式Bus-Sleep Mode预睡眠模式Prepare Bus-Sleep Mode网络工作模式Network Mode其中网络工作模式Network Mode又分三个子状态报文重复状态Repeat Message State常规运行状态Normal Operation State就绪睡眠状态Ready Sleep State总线睡眠模式Bus-Sleep Mode这个模式是ECU上电之后CAN NM的默认状态。ECU关闭CAN发送功能、停止NM报文收发CAN收发器进入休眠模式仅保留基础唤醒检测能力应用层无CAN数据交互。预睡眠模式Prepare Bus-Sleep Mode该状态是工作态到休眠态的过渡缓冲状态核心作用是避免瞬时总线空闲导致的频繁休眠唤醒提升网络稳定性。其实这个状态和 总线睡眠模式BSM没什么太大区别只是用于过渡一下避免芯片反复掉电重启。其中比较关键的配置项是CANNM_WAIT_BUS_SLEEP_TIME这个参数是决定ECU待在预睡眠模式PBSM的最长时间时间一到就会跳到总线睡眠模式BSM网络工作模式Network Mode网络工作模式为ECU正常通信状态包含三种子状态报文重复状态RMS、常规运行状态NOS、就绪睡眠状态RSS。这里有一个贯穿整个网络工作模式NM的参数NM-Timeout Timer说来也是非常神奇这个定时器只要一进NM状态就会开始计时他有非常多的重置条件在RMS和NOS状态下只要计数器记满就自动重新计时成功发出NM报文也会重新计时接收到了NM报文也会重新计时那么什么时候NM-Timeout Timer能够真正的超时并且不重置呢答案就是在RSS状态下如果NM-Timeout Timer超时了就会跳出NM状态跳到PBSM状态。报文重复状态Repeat Message State在这个状态里主要是做应用报文和NM报文的发送。在这个状态下有几个比较重要的参数CANNM_REPEAT_MESSAGE_TIME 这个参数决定ECU在报文重复状态RMS待多久CanNmImmediateNmTransmissions 这个参数决定NM快发的帧数CanNmImmediateNmCycleTime 这个参数决定NM快发的周期CANNM_MSG_REDUCED_TIME 这个参数决定NM报文的正常发送周期常规运行状态Normal Operation State在这个状态里主要是做应用报文和NM报文的发送别的特殊操作没有属于是一个老实人了。CanNmMsgCycleTime 这个参数决定NM报文的正常发送周期CANNM_MSG_REDUCED_TIME 这个参数一般是大于1/2的CANNM_TIMEOUT_TIME如果开启了就绪睡眠状态Ready Sleep State在这个状态ECU是被禁止发送NM报文只能发送应用报文。状态间跳转条件这部分我们要结合一个UML的状态机图来做一个详细讲解比较更容易理解。我们首先稍微讲一下这个图该怎么看他的跳转线上有许多条件“/”前面的代表跳转条件“/”后面的代表跳转时执行的动作。状态跳转表格如下当前状态目标状态跳转条件伴随动作BSMRMS- CanNm_PassiveStartup();- CanNm_NetworkRequest();- Start NM-Timeout Timer;- Start Repeat Message Timer;- Nm_NetworkMode();PBSMBSMWait Bus-Sleep Timer超时Nm_BusSleepMode()PBSMRMS- CanNm_RxIndication();- CanNm_PassiveStartUp();- CanNm_NetworkRequest();- Start NM-Timeout Timer;- Start Repeat Message Timer;- Nm_NetworkMode();RMSNOSNetwork Requested/NOSRMS- Repeat Message Bit Received- CanNm_RepeatMessageRequest();Start Repeat Message TimerRMSRSSNetwork Release/RSSRMS- Repeat Message Bit Received- CanNm_RepeatMessageRequest();Start Repeat Message TimerRSSPBSMNM-Timeout Timer has expired- Start Wait Bus-Sleep Timer;- Nm_PrepareBusSleepMode();BSM-RMS由图可知这个路径有两个条件满足任意条件都可跳转CanNm_PassiveStartup(); 可以看做是被动唤醒是由上层组件决定是否运行进入NM模式CanNm_NetworkRequest(); 属于主动唤醒属于是本ECU检测到了某些硬件唤醒源然后主动将网络唤醒的一种。在BSM状态下接收到NM报文不会自动的跳转到NM状态而是通过调用Nm_NetworkStartIndication通知上层组件去做决策如果决策允许进入就会调用CanNm_PassiveStartup去跳转。在跳转时会伴随着三个动作启动NM-Timeout 定时器启动Repeate Message 定时器调用NM_NetworkMode函数PBSM-BSM进入的条件非常简单就一个Wait Bus-Sleep Timer超时PBSM-RMS由图可知这个路径有三个条件满足任意条件都可跳转CanNm_RxIndication(); 属于被动唤醒收到了其他ECU发出来的NM报文。CanNm_PassiveStartup();CanNm_NetworkRequest(); 属于主动唤醒属于是本ECU检测到了某些硬件唤醒源然后主动将网络唤醒的一种。在跳转时会伴随着三个动作启动NM-Timeout 定时器启动Repeate Message 定时器调用NM_NetworkMode函数RMS-NOS进入NOS的条件由两点需要同时满足Repeat Message Timer 过期Network Requested 由主动唤醒网络请求注意接收到NM报文不会满足Network Requested条件NOS-RMS两个条件满足任意一个接收到Repeat Message Bit这个是由其他节点发出的处于CBV区域CanNm_RepeatMessageRequest(); 由其他组件决定调用/一般不会使用这个会伴随着启动 Repeat Message TimerRMS-RSS进入NOS的条件由两点需要同时满足Repeat Message Timer 过期Network Released 收到网络释放信号RSS-RMS两个条件满足任意一个接收到Repeat Message Bit这个是由其他节点发出的处于CBV区域CanNm_RepeatMessageRequest(); 由其他组件决定调用/一般不会使用这个会伴随着启动 Repeat Message TimerRSS-PBSM这个条件很简单就只有一个NM-Timeout Timer 超时退出。并且伴随着启动Wait Bus-Sleep Timer; 以及调用Nm_PrepareBusSleepMode();进入PBSM状态。常见配置参数配置参数解释CANNM_TIMEOUT_TIME处于NM的超时时间和NM-Timeout Timer相关CANNM_REPEAT_MESSAGE_TIME待在RMS的时间CanNmMsgCycleTimeNM报文正常发送周期CanNmImmediateNmCycleTimeNM报文快发的周期CanNmImmediateNmTransmissionsNM报文快发的次数CANNM_WAIT_BUS_SLEEP_TIMEPBSM跳转到BSM的等待时间CANNM_MSG_REDUCED_TIMENM报文降低时间需要开启CANNM_BUS_LOAD_REDUCTION_ENABLED参考文献《AUTOSAR_SWS_CANNetworkManagement.pdf》
延伸阅读

更多相关文章

2026/10/26 21:00:52

针对硬件实时计算值(非 Transaction 字段)的错误注入

问题现象 在 UART 验证环境中,奇偶校验位(parity)通常不会被定义为 transaction 数据结构的字段,而是在 driver 的 send_to_dut 任务中根据待发送的 data 数组实时计算得出,例如采用偶校验时直接执行 parity ^(data)&…

2026/11/5 20:43:56

深度学习与计算机视觉在结构位移测量中的创新应用

1. 项目概述:深度学习在结构位移测量中的革新应用结构位移测量是土木工程健康监测的核心环节,传统接触式传感器存在安装复杂、成本高昂等痛点。我们团队开发的这套基于深度学习的非接触式测量系统,通过计算机视觉与亚像素算法的融合&#xff…

2026/11/7 1:23:13

电工证焊工证考什么与多少钱,外省证怎么转过来全讲明白了

电工证焊工证考什么与多少钱,外省证怎么转过来全讲明白了 之前考的证在外省能不能转过来?这几乎是每个想考电工证、焊工证的朋友最先问的问题。别急,今天咱们就从头聊到尾,讲清楚 电工证焊工证考什么 ,到底要花 多少钱…

2026/11/7 1:23:13

电工证考试资料怎么考?证书过期了不知道怎么复审延期怎么报名

电工证考试资料怎么考?证书过期了不知道怎么复审延期怎么报名 证书过期了不知道怎么复审延期,这事儿真急人。前两天我接了个开封的学员电话,说他手里的电工证已经到期半年了,现在单位不认,想找人帮忙搞复审,结果一打听才发现流程比想象中复杂。这年头,…

2026/11/7 1:23:13

春招电工证行业前景与薪资待遇

新乡电工证春招避坑指南:怎么选含金量最高的证书? 不知道去哪报名怕被中介坑,这是很多想考电工证的兄弟心里最担心的事。电工证不是随便找个机构就能考的,也不是所有证书都能让你在工地、工厂、工程队里吃得开。含金量低的证,考了也是白考。今天从新乡过…

2026/11/7 1:23:12

神木考电工证在哪报名 全国通用电工证怎么考才稳妥

神木考电工证在哪报名 全国通用电工证怎么考才稳妥 实操考试心里没底怕挂科,是很多准备考电工证的朋友们最担心的问题。尤其是像我们这样在神木从事房建工程的电工,不仅需要持证上岗,还得确保考试一次通过,避免耽误工期。其实,只要了解清楚流程、准备充…

2026/11/7 1:23:12

电工作业触电事故家属怎么考特种作业证,考前押题怎么找

电工作业触电事故家属怎么考特种作业证,考前押题怎么找 工地太忙根本没时间复习考试,特别是像电工作业触电事故家属这类群体,平时工作已经够累,还要面对考试的压力,很多人干脆就放弃了。其实特种作业操作证是国家规定的强制性证件,不管你是出于工作需求…

2026/11/7 1:18:12

阳泉去哪里考电工证 全国通用证书怎么考

阳泉去哪里考电工证 全国通用证书怎么考 实操考试心里没底怕挂科,阳泉电工证报考流程不透明,报名材料清单不清楚,这些都成了很多想考电工证的学员心头的疙瘩。特别是对于初次接触特种作业操作证的人来说,考试内容、流程、材料准备、考试地点等都充满了未…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/6 10:49:01

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/7 0:03:08

郑州报考避坑指南:电工证和钳工证怎么选?实操考试心里没底怕挂科

郑州报考避坑指南:电工证和钳工证怎么选?实操考试心里没底怕挂科 实操考试心里没底怕挂科?你不是一个人。特别是在郑州这样的城市,很多施工企业负责人和一线作业人员在报考电工证和钳工证时都面临着同样的困惑。到底该考哪个证?哪个更适合自己?哪个证书…

2026/11/7 0:03:08

广西电工证办理流程全解析:外省证怎么转?在哪考最靠谱?

广西电工证办理流程全解析:外省证怎么转?在哪考最靠谱? 之前考的证在外省能不能转过来?这个问题我遇到太多了,今天就拿广西电工证办理流程来具体说说,别再走弯路了。广西电工证的报考、复审、继续教育这些环节,如果你不了解,真的会吃大亏,尤其对于从…

2026/11/7 0:03:08

电气电工证都有哪些保姆级教程

电气电工证都有哪些保姆级教程 你是不是正愁不知道去哪报名,怕被中介坑?别急,这篇保姆级教程专为河南初次报考人员准备,帮你搞清楚 电气电工证都有哪些 ,以及如何避开那些坑。 电气电工证都有哪些?别被五花八门的证书搞懵了…

2026/11/5 15:39:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/6 10:49:01

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑