OSEK网络管理

OSEK网络管理入门 以下分级纯粹个人瞎分,专业人士无怪 OSEK初级认知 有几个小朋友要玩“击鼓传花”游戏,游戏规则很简单: 1、想玩的人自己随机报个数,所有人报完后自己排个序,花从小数往大数传,最大数者传给最小数,花到谁手里谁发言:表明想继续玩还是想退出。 2、第一个报数的人等一段时间后看没人再报数了就可以开始传花了。 3、如果有人想退出,花到他手里轮到他发话时,需要他通知大家,申请退出,并继续将花传给下一个人... 阅读详情
AI摘要

文章介绍了车载控制器为何需要网络管理,以降低功耗并确保长期停放后的正常启动。OSEK网络管理涉及到状态机,包括Reset、Normal和LimpHome状态,以及逻辑环的建立和报文帧结构。此外,还详细阐述了正常上线建环、跛行状态和休眠状态的机制,确保ECU在不同条件下高效节能地工作。

目录

1. 概述

为什么车上的控制器需要做网络管理?

2. 状态机

2.1 逻辑环

2.2 报文帧结构

2.3 正常上线建环

2.4 跛行状态

2.5 休眠状态


1. 概述

为什么车上的控制器需要做网络管理?

因为在目前的整车电子电器架构下,整车的部分ECU是需要一直供电,从整车下线到车辆报废,它都一直在工作,想想你的使用情况就明白了,你在任何时候按下遥控寻车,你的车都能作出反应,这是因为ECU它是一直在工作的。既然ECU一直在工作,它就需要耗电呀,咱们车上就一个蓄电池(商用车是两个),如果你长时间不开车,车上的ECU一直在费电,时间长了,你的车是不是就启动不了了。

所以为了规避这个问题,整车厂都给常电供电的ECU都加入了网络管理的功能,比如OSEKNM或者是AutosarNM。做了网络管理的ECU,当整车下电到OFF档时,一段时间内没有操作车辆的话,所有这些ECU都会进入低功耗状态,此时每个ECU的电流非常小,几乎会小于2mA,整车静态功耗基本能控制在20mA左右,即使将车辆放置一个月,到时候也能正常启动,这就是网络管理的作用。

2. 状态机

OSEKNM分为3个主要状态,分别为Reset状态、Normal状态、Limphome状态。ECU刚上电时,处于Reset状态,当它其他ECU建立好逻辑环之后(OSEKNM的核心就是逻辑环),进入Normal状态状态,如果该ECU有故障或总线有故障,ECU进入Limphome状态。

2.1 逻辑环

直接网络管理(以下简称为NM)通过发送和接收两种类型的消息来建立逻辑环:Alive message和Ring message。其中,Alive message是一个节点要加入逻辑环时要发送的消息,Ring message是网络正常工作时的环消息,是从一个节点传递给下一个节点,依次在逻辑环中传递,以表示网络中的节点正常工作。当某一节点功能不正常时,就会周期性的向网络中发送LimpHome message。

Alive在100ms内随机相应,而Ring是以100ms的时间间隔发送的。

逻辑环的建立通过一种发送“令牌(Token)”的方式来进行,按标识符由小到大的顺序进行传递,最初发送Alive message的节点(或者标识符优先级高的节点)成为逻辑环中的第一个发送节点,消息都是以广播的方式发送的,这就使得每个节点发送的消息,其他节点都可以监测到,以确定自己是否为上一个发送节点的后继节点,并更新节点的运行状态等。

2.2 报文帧结构

NM报文帧的结构构成可分为三部分,即CAN ID、报文帧数据场第一个字节及第二个字节(以下简称data[0]和data[1])

  • OSEK网络管理报文CAN ID :一般为4XX,其中XX就是设备的网络ID
  • data[0]:在Alive状态时填充设备ID,但注意建环前表明身份还是靠监听CAN ID XX而不是Alive时的data[0],在Ring状态时填充传递Token令牌的ID
  • data[1]:表明当前节点状态,其各个位具体参数如下

    • 0x01 Alive(上线)
    • 0x02 Ring(建环)
    • 0x04 LimpHome(跛足,网络无人响应无法建环)
    • 0x10 SleepIndicatio(休眠申请)
    • 0x20 SleepAcknowledege(应答申请)
    • 以上命令可以组合比如建环中想申请休眠就是0x12

2.3 正常上线建环

在所有参与建环的ECU在建环初期,发出报文数据的第一字节都是自己的ID,第二字节都是0x01,即协议里讲的发出指向自身的Alive报文,每个ECU都发完Alive报文之后,就建立起来逻辑环了。

如下表所示,前三帧报文进行上线Alive,而在后三帧报文中,ECU 00指向了ECU 07,ECU 07指向了ECU 09,形成一个封闭的逻辑环,且第二字节都是Ring置1的Ring报文。

CAN ID

Time interval

Frame

400

0.000

00 01 00 00 00 00 00 00

407

0.012

07 01 00 00 00 00 00 00

409

0.019

09 01 00 00 00 00 00 00

400

0.069

07 02 00 00 00 00 00 00

407

0.100

09 02 00 00 00 00 00 00

409

0.100

00 02 00 00 00 00 00 00

2.4 跛行状态

在网络上只有一个NM节点的情况下,ECU上电后,先尝试建立逻辑环,尝试5次后,依旧无法建立逻辑环,则ECU进入LimpHome状态,ECU按TError(一般是1000ms)的周期发送LimpHome位置“1”的报文,从下表可以看出,LimpHome报文的第一字节指向自己,第二字节为0x04。

CAN ID

Time interval

Frame

4EE

0.251

EE 01 00 00 00 00 00 00

4EE

0.100

EE 02 00 00 00 00 00 00

4EE

0250

EE 01 00 00 00 00 00 00

4EE

0.100

EE 02 00 00 00 00 00 00

4EE

0.250

EE 01 00 00 00 00 00 00

4EE

0.100

EE 02 00 00 00 00 00 00

4EE

0.250

EE 01 00 00 00 00 00 00

4EE

0.100

EE 02 00 00 00 00 00 00

4EE

0.250

EE 01 00 00 00 00 00 00

4EE

0.100

EE 02 00 00 00 00 00 00

4EE

1.000

EE 04 00 00 00 00 00 00

4EE

1.000

EE 04 00 00 00 00 00 00

2.5 休眠状态

OSEK网络管理的休眠过程,当我们下到 OFF 档时,控制器满足了休眠条件,就会发出睡眠指示位 (Sleep.Ind) 置 1 的 Ring 报文,即的第二字节数据为 0x12 的报文,当所有节点都满足休眠条件,发出 0x12 的报文后,最后一个休眠节点的下一个节点,就会发出睡眠应答位 (Sleep.Ack) 置 1 的 Ring 报文。

  • 当轮到自己发言0x12表明休眠申请后,只需处理3种状态:
  1. Token未到自己(即下轮发言未轮到自己)时监听到休眠应答(其他节点发22或32)则进入休眠等待(1.5s)
  2. Token未到自己时监听到有节点不想休眠发02,则退出休眠申请状态,轮到自己时重新发起
  3. Token到自己时监听并检查所有节点都发出过休眠申请,则自己发32广播集体休眠,进入休眠等待(1.5s)
  • 发出0x32应答命令后1.5s内有任何报文,则退出休眠申请

下表展示了00、07、09节点的上线,再到建环,建环完成后,00节点发出0x12休眠申请,07节点也发出休眠申请,但09节点不想休眠,发出0x02Ring继续建环;这时00继续发送休眠申请,07发送休眠申请,09也准备好了并发送了休眠申请,00节点最后发出0x32命令广播进入休眠等待。

CAN ID

Time interval

Frame

400

0.000

00 01 00 00 00 00 00 00

407

0.012

07 01 00 00 00 00 00 00

409

0.019

09 01 00 00 00 00 00 00

400

0.069

07 02 00 00 00 00 00 00

407

0.100

09 02 00 00 00 00 00 00

409

0.100

00 02 00 00 00 00 00 00

400

0.100

07 12 00 00 00 00 00 00

407

0.100

09 12 00 00 00 00 00 00

409

0.100

00 02 00 00 00 00 00 00

400

0.100

07 12 00 00 00 00 00 00

407

0.100

09 12 00 00 00 00 00 00

409

0.100

00 12 00 00 00 00 00 00

400

0.100

07 32 00 00 00 00 00 00

网络管理之AUTOSAR和OSEK的区别 如果有节点准备好进入总线睡眠模式 (BUS SLEEP MODE),它就停止发送NM消息,但是只要它还能够接收到从其他节点发来的NM消息,它就延迟到总线睡眠模式的变迁。最终,在一定的时限内,由于不再接收到NM消息,每个节点都启动到总线睡眠模式的变迁。网络管理使用令牌环机制,令牌从网络地址低的节点传到网络地址高的节点,如果没有更高的节点,就传给最低地址节点。令牌环根据ECU的网络地址建立。2)当逻辑环中所有的节点都设置了Sleep.Ind指示位,也意味着任何节点接收到所有其它节点的Sleep.Ind指示位。 阅读详情

相关推荐

Osek网络管理及ETAS实现

OSEK/VDX是一个针对汽车电子控制单元(ECU)的开放系统及其接口标准。它起源于欧洲,由德国、法国和意大利的汽车制造商和供应商共同发起,最初于1993年成立。其主要目标是为汽车电子系统提供一个通用、可扩展和可重用的软件架构,以降低开发成本、提高互操作性,从而更好地满足汽车行业的需求。OSEK网络管理旨在确保分布式嵌入式系统中的各个节点能够协同工作,实现高效、可靠的网络通信。它提供了一套用于节点状态管理、总线通信管理和网络诊断的方法和机制,以支持系统在不同场景下的通信需求。

weixin_46481662的博客 1655

【AUTOSAR网络管理】OsekNm

OSEK规范对网络管理提出了2种实现机制,直接网络管理和间接网络管理。1、直接网络管理使用逻辑环结构并通过主动广播专门的NM报文来实现。在直接网络管理中,通过在环中发送报文来主动监控和报告站点的状态,使得每个站点都能在一定的延迟内获得整个网络的状态信息。所有节点是完全对等,无主站点和从站点。2、间接网络管理通过被动地监听各个站点周期发送的网络报文来获得网络状态。如果在一段时间内没有收到周期报文,那么就认为站点已经离线。3、直接网络管理的特点(1)强实时性。

JJCar 的博客 1428

细聊Oracle通过ODBC数据源连接SQL Server数据库

    类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,废话不多说。    我的应用场景:    项目系统使用oracle数据库,与客户的第三方系统供应商实现资源共享,对方为sql server数据库;    我的测试开发环境为64bitwin7PC机,本机上装有64位Oracl...

xueren_83的博客 1万+

(万字长文)OsekNm,讲解OSEK网络管理(直接),并对比Autosar网管。

搞了两年的Autosar,用到的网络管理都是Autosar网络管理,虽然偶尔有听到或看到Osek网络管理,但是一直没机会具体进行开发和测试。最近有机会具体接触和开发到,弄完之后感受就是:还是Autosar的网络管理好用,Osek Nm状态比Autosar Nm复杂一点,而且Osek Nm不好测试。

qq_41848098的博客 1万+

Python | 处理CMIP6 NC数据,以tas为例

各位同学,一般在文章最后一章我们可能会做不同气候情景下变量的未来时空变化特征,类似上图。从cmip6下载的nc数据常需要转换格式、裁剪到研究区和重采样等,本期代码可以解决这类问题。

qq_48539301的博客 1384

Mplus实战:如何用潜在类别分析(LCA)快速搞定心理学数据分类?

本文详细介绍了如何运用Mplus软件进行潜在类别分析(LCA),以快速处理心理学数据并识别内部异质性群体。文章从数据准备、Mplus语法编写、模型拟合与选择,到结果解读与高级应用(如纳入协变量),提供了完整的实战指南,帮助研究者从变量视角转向个体视角,有效挖掘数据中的潜在子类别。

weixin_28318011的博客 410

OSEK网络管理(NM)详解

NM_State;// CAN报文格式: | CAN_ID | SRC_NODE | SUCCESSOR |

Liquor_D的博客 3901

k8s 查看cpu使用率最高的pod

在 Kubernetes 中,可以使用命令查看 Pod 的资源使用情况,从而找到 CPU 使用率最高的 Pod。

u010674101的专栏 3345

AUTOSAR和OSEK关系及网络管理比较

AUTOSAR与OSEK的关系 AUTOSAR与OSEK二者都是汽车电子软件的标准。OSEK/VDX是基于ECU开发的操作系统标准,AUTOSAR基于整体汽车电子开发的功能标准。AUTOSAR中规定的操作系统标准就是基于OSEK/VDX,通信和网络管理虽然和OSEK有区别,但是是有继承性的。可以认为,AUTOSAR是基于OSEK/VDX发展出来的,OSEK/VDX被AUTOSAR标准软件架构所包含。

BeginnerMind 7848

YOLO26中 RepVGGBlock_OREPA 架构的设计与性能提升分析(mAP +4.89)

REPVGGOREPA模块代表了重参数化技术的最新发展,它通过巧妙的架构设计实现了训练时的丰富表达和推理时的高效计算。其核心创新包括多分支特征聚合、动态权重生成、频域先验知识融合等技术,为深度学习模型的效率优化提供了新的解决方案。这种设计理念不仅在技术上具有重要意义,在实际应用中也展现出了显著的优势,特别是在需要高精度和高效率的工业场景中表现突出。随着重参数化技术的不断发展,REPVGGOREPA为未来的网络架构设计提供了重要的参考和启发。

know_F0727的博客 66

【推荐100个unity插件】unity易于使用模块化设计的天空、体积云和天气系统——Enviro 3

Enviro 3是一款功能强大的Unity天空与天气系统插件,提供动态天空、体积云、天气模拟等丰富功能。安装时需将预制体拖入场景并配置主相机,URP支持需激活深度纹理和添加渲染特性。模块化设计允许自由添加/移除时间、光照、雾效等模块,并通过API控制参数。推荐配合色调映射(如ACES模式)获得最佳视觉效果。插件支持季节、温湿度模拟及闪电风暴等特效,适用于需要逼真环境渲染的Unity项目。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2094

AutoSar和OSEK网络管理比较

共同点: 1. 都属于直接网络管理。 2. 网络管理的目的都是协调各节点同步进入休眠及唤醒(主要是休眠)。 3. 都依靠特定的网络管理CAN报文,每个节点的网络管理ID都不一样。 4. 唤醒方法相同,第一个唤醒的节点发送网络管理帧即同时唤醒其它节点。 不同点: 1. 唤醒帧类型不一样: 网络唤醒后,OSEK要求节点发出的第一帧必须是Alive类型,不能是Ring, Limpho...

Lincanman的博客 1万+

matlab处理las点云(1)——las/laz格式解析【2024最新版】

matlab中的las/laz格式解析。博客长期更新,本文最近一次更新时间为:2024年11月9日。

点云侠的博客 8460

OSEK-NM直接网络管理一:概念部分

OSEK直接网络管理 1:背景 随着整车网络中由不同制造商提供的电控单元日益增长,一个旨在避免开发过充中不必要的变体和节省开发时间的基础、非竞争机制的基础结构标准就尤为必要了。 网络管理的首要任务是确保通信的安全性和可靠性。 2:功能 网络管理为了实现确保通信安全性和可靠性的首要任务,提供如下的功能: 初始化ECU资源(网络接口) 启动网络 提供网络配置功能 管理不同的节点监控机制 检测、通知和处理网络节点的工作状态 读取设置网络和节点指定的参数 协调全局的工作模式(协调网络节点同步进入休眠功能) 支持诊

u014156403的博客 1万+

【AIGC】大模型面试高频考点07-注意力(Attention)篇

AIGC面试高频考点

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 3363

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Autosar & OSEK 网络管理学习笔记

Autosar & OSEK 网络管理学习笔记网络管理的意义Autosar 与OSEK 的区别Autosar 与OSEK 的特点Autosar核心内容报文格式流转状态架构图比对 网络管理的意义 1.使网络中的ECU节点有序地睡眠和唤醒,在没有通信需求的时候睡眠,可以节约整车电池的电量 2.保证网络通信的稳定性 Autosar 与OSEK 的区别 开发基准不同,Autosar 是基于整车开发的,OSEK 是基于 ECU 开发的 白话来讲,Autosar 可以支持一套软件,来控制多种类型的ECU,比如之

XIAOBING_110的博客 5041

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

OSEK网络管理机制详解

OSEK网络管理通过逻辑环机制实现高效的休眠同步与故障恢复,适用于对功耗和通信可靠性要求严格的汽车电子系统。其核心在于动态令牌传递与状态机管理,但复杂度较高,需结合时间参数和异常处理策略确保稳定性。开发者需重点关注建环流程、休眠同步及与AUTOSAR的差异设计。更多实现细节可参考相关测试工具与配置器开发文档。

Liquor_D的博客 2231

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

OSEK 网络管理之认识NM报文

关于OESK网络管理睡眠的文章有很多, 大多只有文字的介绍。笔者是汽车测试人员, 认为真实的log分析会更有利于初学者理解。 如有问题, 欢迎指正。

神猪的博客 9447

汽车CAN总线OSEK网络管理

逻辑环机制是直接网络管理的核心机制,是指处于逻辑环中的节点根据节点地址的大小顺序依次发送 Ring 报文,通过这种环状的通信机制,网段中的节点可以有效地进行节点信息交互。在初始化完成之后,向总线上发送一帧 Alive 报文申明自己的地址,同时检测到网络上其他节点发送的Ring 报文,在规定的时间 tTyp 超时之后,根据其它节点发送 Ring 报文中的节点地址信息参与到逻辑环的常规运行中。OSEK网络管理初始化及主要逻辑文件,完成NM报文的接收、发送,NM逻辑环建立,错误机制处理,网络的休眠及唤醒等。

BoBofisher的博客 3321

osek网络管理_OSEK网络管理心得

OSEK网络管理总结:1、建环机制:网络管理报文ID从小到大发送,然后从最大节点到最小节点依次建成逻辑环。2、OSEK网络管理报文规则:ID:4xx,其中4代表此帧报文为网络管理报文。xx代表当前节点的基地址,在OSEK网络管理中会给每个节点分配一个基地址(00~FF) Byte0:代表此帧网络管理报文发送的目标地址。通俗说就是这帧网络管理报文是发送给BCM还是给PEPS或者其他节点。 B...

weixin_32260275的博客 3901

OSEK/VDX网络管理

OSEK/VDX网络管理通常有直接网络管理和间接网络管理 直接网络管理:通过建立逻辑环形令牌网络使用网络管理报文来监测网络节点状态(网络) 间接网络管理:通过监测周期性应用报文来确定网络节点状态(单节点) 主要讲解一下直接网络管理:实际场景中会遇到以下主要四种情况 1、正常上线、建环、传递令牌(Taken)及休眠 2、已建环有新节点插入 3、已建环现有节点异常掉线 4、上线未发现其他节点建环失败(跛足模式) ...

weixin_39807914的博客 2194

osek网络管理规范_AUTOSAR和OSEK关系及网络管理比较

AUTOSAR与OSEK的关系AUTOSAR与OSEK二者都是汽车电子软件的标准。OSEK/VDX是基于ECU开发的操作系统标准,AUTOSAR基于整体汽车电子开发的功能标准。AUTOSAR中规定的操作系统标准就是基于OSEK/VDX,通信和网络管理虽然和OSEK有区别,但是是有继承性的。可以认为,AUTOSAR是基于OSEK/VDX发展出来的,OSEK/VDX被AUTOSAR标准软件架构所包含。...

weixin_39760389的博客 870

osek网络管理_CAN总线系列OSEK网络管理之逻辑环

今天给大家介绍下OSEK网络管理最核心的部分,建立逻辑环,先看图4-4,可以看出,正常建环的情况下,上一条NM报文的ID就是下一条NM报文的第一字节的数据,比如划线的3条报文,第一条报文的ID为0x19,数据的第一字节为0xE8,第二条报文的ID为0xE8,数据的第一字节为0xEE,第三条报文的ID为0xEE,数据的第一字节为0x19,所有正常建环的报文的第二字节,其Bit2置1,表示发...

weixin_29200741的博客 1984
上一篇: 多通道半桥驱动器 NSD8308
下一篇: 上位机中的CAN-TP网络层参数整定
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

您猜我猜不猜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值