尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

OSEK网络管理

OSEK网络管理
📅 发布时间:2026/6/20 4:56:32

设计目的

ECU的待机电流消耗(ECU睡眠模式)是汽车环境中一个非常重要的课题,ECU在切换至ECU睡眠模式时有不同的要求。

前人尝试

以前的人帮我们尝试了很多的方。

有这种链接KL15的,但是无法满足各个ECU的要求。其中Seat Control小阳台立即关机,Security Control需要持续工作以检测盗窃意图,Climate Control需要延迟一点时间再关机。

还有这种直接连接KL30的,功耗就会一直很高。

这种直接连接KL30+网络管理的方式就很接近正确答案了,能解决很多问题,但最核心的功耗问题还是没能解决。

经过了前人这么多的路,我们得到了一个很重要的结论,总线睡眠是ECU进入低功耗模式或关闭ECU的必要条件,于是引入了OSEK网络管理:

控制切换至总线睡眠模式
确定网络配置
运行期间的配置监控
准备状态信息
总线关闭处理

报文结构

令牌环机制

OSEK网络管理采用令牌环机制。令牌通过目标操作码传递给下一个更高编号的ECU。如果没有下一个更高编号,则令牌传递给编号最低的ECU。 环路根据各ECU的编号逐步构建而成。

每条消息都来自所有参与的ECU。只有目标ECU会解释NM消息并接收令牌。

唤醒和正常运行流程

每个 ECU 分配唯一的网络管理地址,NM 报文 ID 遵循基础ID(0x400) + 节点地址的命名规则:

表格

节点地址模块名称NM 报文 ID
0Climate Control(空调控制单元)0x400
7Security Control(安全控制单元)0x407
9Seat Control(座椅控制单元)0x409
  • Byte 0:目标后继节点地址,标识令牌要传递给的下一个节点
  • Byte 1:控制位向量(CBV),标识当前节点状态
    • 0x01:ALIVE 状态,节点上线宣告
    • 0x02:RING 状态,令牌环稳定运行中

阶段 1:硬件唤醒,初始待机

KL15 由 OFF 切换为 ON,总线上 3 个 ECU 被硬件同时唤醒,进入WakeUp初始状态。此时仅完成底层硬件启动,尚未启动网络管理协议,总线无报文输出,令牌归属、逻辑拓扑均未确定。

阶段 2:首节点发送上线宣告

地址最小的 0 号空调单元率先启动 NM 状态机,持有初始令牌,发送第一帧ALIVE 报文(ID=0x400,数据 =00 01)。

  • 作用:向全网宣告自身已上线,触发其他节点的 NM 状态机启动;
  • 此时其余两个节点处于监听状态,识别到总线上已有节点在线。

阶段 3:7 号节点响应,确立第一跳路径

7 号安全单元监听到 ALIVE 报文后,经过自身配置的固定延迟T_Delay_7 = 12ms,发送自身 ALIVE 报文(ID=0x407,数据 =07 01)。

  • 0 号节点识别到 7 号节点上线,将自身Successor更新为 7,令牌第一跳逻辑路径0 → 7确立;
  • 延迟时间与节点地址绑定:地址越高,发送延迟越长,从机制上避免多节点同时发包造成总线冲突。

阶段 4:9 号节点响应,确立第二跳路径

9 号座椅单元经过累计延迟T_Delay_9 = 12ms + 19ms = 19ms后,发送自身 ALIVE 报文(ID=0x409,数据 =09 01)。

  • 7 号节点识别到 9 号节点上线,将自身后继更新为 9,令牌第二跳逻辑路径7 → 9确立;
  • 至此所有节点均完成上线宣告,逻辑环的正向链路全部打通。

阶段 5:环闭合,进入稳定 RING 状态

9 号节点确认无更晚上线的节点,将自身后继设回起点 0 号,令牌传递路径闭合为完整逻辑环:0 → 7 → 9 → 0。

  • 0 号节点在典型周期T_TYP = 100ms时刻发送RING 报文(ID=0x400,数据 =07 02),标志网络从 ALIVE 发现阶段进入稳定令牌环运行阶段;
  • 本次报文将令牌传递给 7 号节点,7 号获得下一轮令牌持有权。

阶段 6:稳定环运行 —— 令牌传递至 9 号

令牌按固定顺序在环内流转:7 号节点持有令牌后,发送 RING 状态报文(ID=0x407,数据 =09 02),将令牌传递给 9 号节点。

  • 所有节点通过持续的令牌传递,确认彼此在线状态,维持总线唤醒;
  • 100ms 为 OSEK NM 的典型令牌周期(Ttype),是网络稳定运行的基准节拍。

阶段 7:稳定环运行 —— 令牌回归起点

9 号节点持有令牌后,发送 RING 状态报文(ID=0x409,数据 =00 02),将令牌传回起点 0 号节点。

  • 至此完成一个完整的令牌环周期,后续将以 100ms 为周期循环传递;
  • 只要令牌持续正常流转,所有 ECU 保持唤醒;若节点超时(Tmax)未收到令牌,将触发环重建或进入跛行模式(LimpHome)。

后续正常运行就是循环5-7阶段。

  • 分布式无主架构无需专门主控节点,所有节点地位平等,通过令牌自动完成拓扑发现、在线监控、休眠协同,单节点故障不会导致整个网络管理瘫痪。

  • 休眠的反向流程Prep Sleep、Sleep Ind对应休眠阶段:车辆下电后,令牌会携带休眠指示位在环内传递,逐个节点确认可进入休眠,所有节点一致应答后才统一进入低功耗模式,避免部分节点提前休眠导致总线通信异常。

休眠流程

一、第一次休眠尝试:部分节点未就绪,协商失败

阶段 1:KL15 下电,0 号节点发起休眠请求

  • 触发条件:KL15 点火电源由 ON 切换为 OFF,0 号、7 号节点率先完成业务收尾,满足自身休眠条件,进入Prep Sleep预休眠状态,置位Sleep Indication休眠指示位。
  • 动作:0 号节点持有令牌,发送RING + SLEEPIND报文(ID=0x400,数据 =07 12),将休眠请求随令牌传递给后继 7 号节点。
  • 状态:9 号座椅节点仍有未完成业务,不满足休眠条件,未置位 SleepInd。

阶段 2:7 号节点接力传递休眠请求

  • 7 号节点收到指向自身的休眠令牌,自身已就绪,保持 SleepInd 置位。
  • 动作:发送RING + SLEEPIND报文(ID=0x407,数据 =09 12),将令牌和休眠请求继续传递给后继 9 号节点。

阶段 3:9 号节点未就绪,中断休眠指示

  • 9 号节点收到休眠请求,但自身应用层仍需总线通信,不满足休眠条件,因此清除 SleepInd 位。
  • 动作:仅发送普通RING报文(ID=0x409,数据 =00 02),令牌传回起点 0 号节点。
  • 结果:休眠指示未能完整绕环一周,第一轮休眠协商失败。

阶段 4:令牌回到起点,第一轮协商终止

  • 0 号节点收到 9 号传回的普通 RING 报文(无 SleepInd),判定全网未全部就绪,本轮休眠流程终止。
  • 由于 0 号和 7 号节点仍保持休眠就绪状态,在下一个令牌周期会再次发起休眠请求,开始第二轮协商。

二、第二次休眠尝试:所有节点就绪,协商成功

阶段 5:9 号节点就绪,接力传递休眠请求

  • 此时 9 号节点完成所有业务,满足休眠条件,置位 SleepInd,进入 Prep Sleep 状态。
  • 7 号节点再次传递来带 SleepInd 的令牌,9 号节点确认自身就绪,保持 SleepInd 置位。

阶段 6:令牌完整绕环,全网休眠就绪确认

  • 9 号节点发送RING + SLEEPIND报文(ID=0x409,数据 =00 12),令牌传回 0 号节点。
  • 关键判定:令牌携带 SleepInd 完整绕环一周,说明所有节点均同意休眠,休眠协商条件达成。

阶段 7:发送休眠应答,确认最终休眠

  • 0 号节点作为首个检测到全网就绪的节点,发送RING + SLEEPACK报文(ID=0x400,数据 =07 32,即 RING 位 + SleepInd 位 + SleepAck 位置位)。
  • 作用:这是全网休眠的最终确认指令,所有节点收到该报文后,停止发送 NM 报文,进入总线休眠等待阶段。

阶段 8:超时等待,进入 Bus Sleep

  • 最后一帧 NM 报文发出后,所有节点启动T_WaitBusSleep计时器(典型值 500ms,图中 1.000s 发最后一帧,1.500s 总线完全静默)。
  • 计时期间总线无任何报文,超时后所有节点关闭 CAN 收发器,正式进入Bus Sleep 总线休眠低功耗状态。
  • 设计提示:若单个 ECU 内存在多个独立使用总线的应用,需做好内部休眠仲裁,避免部分应用仍需通信时总线已休眠,导致异常唤醒。

跛行状态

阶段 1:初始唤醒,发送首帧 ALIVE 上线宣告

节点上电唤醒后进入初始状态,向总线发送第一帧上线报文:

  • 报文 ID = 0x403(基础 ID 0x400 + 节点地址 3)
  • 数据场03 01:第一字节03为后继节点地址(未发现其他节点,暂指向自身);第二字节0x01为 ALIVE 状态位,宣告节点上线、请求建立逻辑环
  • 节点持有令牌,启动超时计时,等待其他节点响应;本场景无其他 NM 节点,因此无任何应答

阶段 2:反复重试建环,ALIVE 与 RING 交替循环

节点按标准时序反复尝试建立令牌环,始终失败:

  1. 按T_Typ = 100ms周期尝试发送 RING 报文(数据03 02,0x02为 RING 状态位),模拟令牌传递,但无后继节点承接,令牌无法流转
  2. 达到T_Max = 260ms令牌超时阈值后,判定令牌丢失,退回重新发送 ALIVE 报文重试
  3. Trace 呈现固定规律:100ms 发 RING → 260ms 超时发 ALIVE → 循环往复
  • 图中标注的4x Alive Ring,即指多次重复「ALIVE 上线→尝试 RING 传牌→超时重试」的建环流程

阶段 3:错误超时达标,正式进入 LimpHome 状态

连续建环失败持续达到T_Error = 1000ms故障阈值后,节点判定网络异常,正式切换到NMLimpHome 跛行状态:

  • 发送 LimpHome 专属报文:数据03 04(0x04为 LimpHome 状态位)
  • 核心行为发生本质变化:
    • 彻底放弃逻辑令牌环机制,不再等待其他节点的令牌
    • 改为自主按固定周期发送报文,仅用于宣告自身在线
    • 后继节点固定指向自身,不再动态更新网络拓扑

阶段 4:LimpHome 状态下发起休眠申请

当应用层休眠条件满足(如 KL15 下电、无活跃业务),节点在跛行状态下自主启动休眠流程:

  • 报文更新为03 14(0x14 = 0x10 SleepInd休眠指示 + 0x04 LimpHome),同时携带跛行状态与休眠请求
  • 对应操作GotoMode(BusSleep),节点进入预休眠准备;因无其他节点,无需协同休眠应答,自主完成休眠协商

阶段 5:进入总线休眠 Bus Sleep

发送完带休眠指示的报文后,等待总线静默超时到期,节点停止所有报文发送:

  • Trace 中 1.000s 为最后一帧 NM 报文,1.500s 后总线完全静默
  • 节点关闭 CAN 收发器,进入Bus Sleep 低功耗休眠状态,整个状态机流程终止

LimpHome 的触发场景与设计意义

LimpHome 是 OSEK NM 的容错机制,触发场景包括:

  • 总线上仅有单个 NM 节点(如台架单 ECU 调试)
  • 其他 NM 节点全部离线、故障或未启动 NM
  • 总线物理层故障导致令牌报文持续丢失
  • 节点地址、NM 基础 ID 配置错误,节点间无法互相识别

其核心价值是:即使网络管理的协同功能失效,ECU 依然能独立完成在线宣告、自主休眠,不会因 NM 异常导致 ECU 无法下电、静态电流超标。

加入新节点

阶段 1:初始稳态 —— 三节点正常令牌环运行

  • 现有三节点逻辑环稳定运行,令牌按0 → 7 → 9 → 0循环传递。
  • 当前 7 号节点持有令牌,发送 RING 报文(ID=0x407,数据 =09 02),将令牌传递给后继 9 号节点。
  • 新节点 3 号刚上电唤醒,处于初始状态,暂将后继指向自身,独立持有令牌,尚未接入现有逻辑环。

阶段 2:新节点上线宣告,环首节点更新后继

  • 新节点 3 号超时未收到令牌,主动发送ALIVE 上线报文(ID=0x403,数据 =03 01,时间 0.010s),向全网宣告自身存在。
  • 0 号节点监听到该 ALIVE 报文,根据地址升序选举规则,发现地址 3 比原后继 7 更小,因此将自身后继从 7 更新为 3。

阶段 3:令牌传回起点,新节点暂设后继

  • 9 号节点按原环路径发送 RING 报文(ID=0x409,数据 =00 02,时间 0.090s),令牌传回 0 号节点。
  • 3 号节点监听到 9 号的 RING 报文,识别到 9 号的后继是 0(9 为当前最大地址节点),结合自身地址 3,暂时将 9 号设为自身后继(此时尚未发现 7 号节点,属于过渡状态)。

阶段 4:令牌正式传递给新节点

  • 0 号节点持有令牌,按照更新后的后继地址,发送 RING 报文(ID=0x400,数据 =03 02,时间 0.100s),将令牌正式传递给 3 号节点。
  • 3 号节点成功收到令牌,正式接入令牌环,此时其后继仍暂指向 9 号。

阶段 5:新节点首次传牌,7 号被临时跳过

  • 3 号节点持有令牌,按当前后继 9 号发送 RING 报文(ID=0x403,数据 =09 02),令牌直接传给 9 号。
  • 由于地址排序3 < 7 < 9,7 号节点在本轮令牌传递中被跳过,未收到前驱令牌,属于建环过程中的临时过渡现象,并非故障。

阶段 6:被跳过节点补发 ALIVE,新节点修正后继

  • 7 号节点超时未收到令牌,判定自身被跳过,主动发送ALIVE 报文(ID=0x407,数据 =09 01),重新宣告自身在线。
  • 3 号节点监听到 7 号的 ALIVE,发现地址 7 介于自身地址 3 和原后继 9 之间,因此将自身后继从 9 更新为 7,修正令牌传递路径。

阶段 7:四节点稳定环建立完成

  • 令牌沿修正后的路径完整流转一圈:0 → 3 → 7 → 9 → 0,所有节点的后继地址均正确匹配。
  • 最终形成 4 个 ECU 的稳定逻辑环,每个节点都拥有正确的后继节点,令牌按地址升序规则正常循环传递,新节点接入流程全部完成。

运行过程当中丢失一个节点

阶段 1:令牌发向离线节点,令牌开始丢失

  • 正常背景:四节点逻辑环稳定运行,令牌传递到 0 号节点。
  • 执行动作:0 号节点按原有拓扑配置,向其后继 3 号节点发送 RING 令牌报文(ID=0x400,数据03 02,对应 Trace 中 0.100s 的帧)。
  • 故障发生:3 号 ECU 已经物理离线(图中灰色淡化、总线处波浪符号表示物理链路断开),无法接收该令牌报文,也不能继续向下传递令牌,令牌在此处中断。
  • 中间状态:7 号、9 号节点此时尚未感知故障,仍维持原有后继配置,等待令牌按序传递。

阶段 2:令牌传递中断,全网进入超时判定

  • 总线现象:令牌在 3 号节点处彻底断流,总线上不再有新的 RING 报文,Trace 中 0.100s 之后没有出现预期的 0x403 报文。
  • 节点行为:所有在线节点各自启动Tmax超时计时器(本示例典型值 260ms):
    • 正常情况下,节点每收到一帧非指向自己的 RING 报文,都会重置 Tmax 计时器;
    • 当超过 Tmax 时长仍未收到任何 RING 报文时,节点判定「令牌丢失、逻辑环断裂」。

阶段 3:Tmax 超时触发,全网复位重建逻辑环

  • 触发条件:260ms 的 Tmax 超时到期,所有在线节点同步判定令牌丢失。
  • 全网统一动作:
    1. 所有 ECU 复位自身 NM 状态机,回到 NMReset 初始状态;
    2. 清空原有拓扑配置,所有节点暂时将后继地址指向自身;
    3. 所有节点重新发送 ALIVE 上线报文(如 Trace 中 0.260s 的400 00 01),重新启动拓扑发现流程。
  • 最终结果:全网重新走完建环流程,自动排除已离线的 3 号节点,最终收敛形成新的三节点稳定环0 → 7 → 9 → 0。

状态转换图

相关新闻

  • 我的卡丁车我做主
  • 2026襄阳本地人必选防水补漏检测维修公司靠谱服务商TOP5推荐:房屋渗漏水检测维修/卫生间/厨房/天花板/阳台/外墙渗漏水检测补漏维修-暗管漏水检测专业仪器精准定位漏水点 - 即刻修防水
  • DVWA集成TTS API安全案例:从命令注入到纵深防御实战

最新新闻

  • 彻底解决PowerShell SSL/TLS安全通道错误:系统级永久配置指南
  • IC-DiT:多模态病理图像生成技术解析与应用
  • CVE-2026-42897漏洞深度解析:Exchange OWA XSS攻击链与实战防御指南
  • SoC内存仲裁器设计:TDMA、优先级与轮询混合调度实战解析
  • Docker 容器化部署 ZeroTier:打造跨平台私有网络接入点
  • Wireshark在渗透测试中的实战应用:从流量分析到漏洞挖掘

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号