Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OSEK直接网络管理(一)

OSEK直接网络管理(一)

作者头像
xbai921031
发布于 2022-05-25 07:24:29
发布于 2022-05-25 07:24:29
2.1K0
举报

OSEK,是指德国的汽车电子类开放系统和对应接口标准(Open Systems and their Interfaces for the Electronics in Motor Vehicles),而VDX则是汽车分布式执行标准(Vehicle Distributed Executive),后者最初是由法国独自发起的,后来加入了OSEK团体。 词条来源:百度百科

OSEK NM定义了一系列的服务来进行对节点的监测。网络管理的主要目的是确保汽车网络的安全性、通信的可靠性等。NM在嵌入式软件系统中所处的位置,如下图所示:

图1 NM在软件系统中的位置示意

OSEK NM主要包含以下几个方面:

(1)与应用程序的接口(API

(2)节点监测算法

(3)OSEK内部的一些接口(如NM与COM间接口等)

(4)睡眠模式转换算法

(5)NM协议数据单元(NMPDU)

直接网络管理(Direct Network Management)

(1)逻辑环(Logical Ring)

逻辑环,通俗的来说,就是由若干个节点组成的环状结构,每个节点都有一个逻辑上的后继节点,而最后一个节点的后继节点又是第一个节点,这样就组成了一个环状的结构,有点类似于数据结构里面的循环链表那种结构。

图2 NM逻辑环 (Logical Ring)结构

如上图所示,图中有两个总线系统,左右两个环形的结构就是“逻辑环”,从上图可以看出逻辑环和总线结构是独立的,两者没有包含关系,不同总线上的节点可能在同一个逻辑环上。

逻辑环的建立:

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

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

(2)节点状态

  • 发送状态 静默(mute):发送特定NM消息超时 非静默(not mute):在timeout之前发送特定NM消息(Alive message/Ring message)
  • 接收状态 离线(Absent):在timeout之前没有接收到特定的NM消息 在线(Present):接收到特定的NM消息(Alive message/Ring message)

(3)节点地址(Node addressing)

包含接收和发送消息的标识符,每个节点都会分配一个独特的ID。

图3 NM message示意

(4)数据交换

NM与应用层之间的数据交换是通过逻辑环进行的。在Ring message发送(接收)的时间延时内,应用层可以修改数据。

图4 通过逻辑环传递应用层数据

logical predecessor:当前节点的前一个节点

logical successor:当前节点的后继节点

在t=0至t=Tdelay时间内允许修改Data部分数据。

(5)NM状态转换机制

图5 NM状态图

总的来说NM包含3个大的状态,分别为NMOff,NMOn,NMShutDown。

ECU上电以后处于NMOff状态,通过任务调用StartNM,启动NM,这时候NM就开始运行,直到调用StopNM接口,状态又会跳到NMShutDown,进而进入NM关闭状态。

图6 NM子状态图1

在上述图5所示中,如果进入NMOn状态,又会按照图6所示状态进行转换,首先是进行初始化,进行一些网络配置,然后在有通信请求的时候处于NMAwake的状态,没有通信请求的时候就进入NMBusSleep的状态。

图7 NM子状态图2

在进入图6所示的NMAwake状态后,会进行如图7所示子状态的切换。首先进入NMReset状态,没有错误跳入NMNormal状态,在NMNormal下逻辑环上就开始进行周期性发送和接收消息,并且同时对网络的配置进行管理,如果Ring message发送(接收)超时又会跳回NMReset状态。当没有NM消息传输的时候或者总线错误时会进入NMLimpHome状态,如果错误解除则跳转回NMReset状态。

读者可以根据上述内容对OSEK NM有一个大致的了解,后续笔者还会更深入地对每个部分进行一些详细地介绍,欢迎持续关注本公众号。


参考资料:OSEK/VDX Network Management Version 2.5.3

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击的程序喵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
OSEK直接网络管理(三)
直接网络管理节点监测基于分散式的配置管理,各个过程可以用一个状态转换图来描述。这种算法可用于:
xbai921031
2022/05/25
1.1K0
OSEK直接网络管理(三)
OSEK直接网络管理(四)
每个节点都有一个静默状态的标识(silent mark),通过在应用层中设置这个标识,来决定是否参与网络通信。
xbai921031
2022/05/25
1.4K0
OSEK直接网络管理(四)
计算机网络概述及 参考模型
计算机网络是指将多台计算机通过通信设备互相连接起来,以便它们之间可以共享资源、传递信息和协同工作的系统。网络可以按照规模和范围划分为不同的类型,包括局域网(LAN)、城域网(MAN)、广域网(WAN)和全球性互联网络(如互联网)。
神秘泣男子
2024/06/03
1910
OSEK直接网络管理(二)
NMPDU(NM protocal data unit),NM协议数据单元。由以下几个部分组成:
xbai921031
2022/05/25
8370
OSEK直接网络管理(二)
我用一晚上时间给女朋友讲懂CAN总线的AUTOSAR网络管理
前言:最近正好在学习CAN总线的AUTOSAR网络管理,前期踩了很多的坑,总结了一下最近所学和大家一起学习。学的很浅,有不正确的地方请各位前辈同仁不吝赐教~
Defry
2022/04/19
1.4K0
我用一晚上时间给女朋友讲懂CAN总线的AUTOSAR网络管理
简单网络管理协议SNMP(史上最全)
SNMPv1 是 SNMP 协议的最初版本,提供最小限度的网络管理功能。SNMPv1 的 SMI 和 MIB 都比较简单,且存在较多安全缺陷。SNMPv1 采用团体名认证。团体名的作用类似于密码,用来限制NMS对Agent 的访问。如果 SNMP 报文携带的团体名没有得到 NMS/Agent 的认可,该报文将被丢弃。SNMPV1 是一种简单的请求/响应协议。网络管理系统发出一个请求,管理器则返回一个响应。这一行为的实现是通过使用四种协议操作中的其中任一种完成的。这四种操作分别是 GET、GETNEXT、SET 和 TRAP。NMS 通过 GET 操作,从 SNMP 代理处得到一个或 更多的对象(实例)值。如果代理处不能提供请求列表中所有的对象(实例)值,它也就不提供任何值。 NMS 使用 GETNEXT 操作请求代理从请求列表或对象列表中取出下一 个对象实例值。NMS 通过 SET 操作向 SNMP 代理发送命令,要求对对象值重新配置。SNMP 代理通过 TRAP 操作不定时的通知 NMS 所发生的特定事件 SNMP 是一种应用程序协议。
全栈程序员站长
2022/11/02
4K0
LIN网络管理
分为主节点的唤醒和从节点的唤醒。处于睡眠状态时,任何一个节点都可以发送唤醒信号。唤醒信号一般是在总线上发送一个持续250us~5ms显性电平。
xbai921031
2022/05/25
1.4K0
LIN网络管理
业界 | 百度引入Ring Allreduce算法,大规模提升模型训练速度
AI科技评论消息,美国西部时间2月21日,百度硅谷人工智能实验室(SVAIL)宣布将Ring Allreduce算法引进深度学习领域,这让基于GPU训练的神经网络模型的训练速度显著提高。 Ring Allreduce是高性能计算(HPC)领域内一个众所周知的算法,但在深度学习领域内的应用相对较少。而百度SVAIL实验室研究员Andrew Gibiansky也录制了一个视频介绍了关于Ring Allreduce的基本情况。 高效并行训练的需求 随着神经网络参数越来越庞大,从几亿个参数与到数十亿参数,所需的GP
AI科技评论
2018/03/12
2K0
业界 | 百度引入Ring Allreduce算法,大规模提升模型训练速度
【计算机网络】局域网学习笔记
参考书籍 《计算机网络-自顶向下》       作者 James F. Kurose 《计算机网络技术基础教程》 作者  刘四清, 龚建萍 (教科书) 《图解TCP/IP》              
啦啦啦321
2018/01/03
1.5K0
【计算机网络】局域网学习笔记
全球IPv4 AS级拓扑测绘初探
网络拓扑测绘是网络空间测绘中的关键一环,主要体现了网络空间中资源之间的物理和逻辑通联关系。根据OSI七层网络体系结构分,有物理层的光纤、电缆拓扑,数据链路层的二层交换机拓扑,网络层的路由器拓扑,应用层的服务拓扑等等。本文主要考虑网络层的AS(Autonomous System,自治域)级拓扑,面向全球IPv4地址空间自治域编号,研究其注册、分配、使用现状,为后续重点关注地区网络拓扑测绘提供数据和技术支撑。
绿盟科技研究通讯
2022/11/14
1.6K0
全球IPv4 AS级拓扑测绘初探
网络管理
网络管理工具 HP Open View 、IBM Tivoli NetView 、Cisco Works
见贤思齊
2020/10/27
1.3K0
网络管理
计算机网络体系结构及其简单通信技术_简述计算机网络体系结构的概念
我们知道,通信的目的是快速、有效地传递信息。下面我们先来简单地介绍一点通信的基本知识: 现代信息的表达方式有文字、符号、声音、图像数据等多种形式。为了实现信息传递,通常以光、电等信号作为信息的载体。
全栈程序员站长
2022/09/29
1K0
关于网络的一次推演
本文旨在对用一个连续的思路对网络知识做一个梳理。包含了:集线器、交换机、路由器等元器件出现的原因;环型、星型、多互联型、总线型、以及树型拓扑的适用场景;Dijstra算法、生成树协议、RIP、OSPF相关原理;二层选路、三层选路相关思考;二层组播和三层组播以及相关协议。
晴日飞鸢
2022/03/07
8862
[源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识
Horovod 是Uber于2017年发布的一个易于使用的高性能的分布式训练框架,在业界得到了广泛应用。
罗西的思考
2021/06/10
2.2K0
[源码解析] 深度学习分布式训练框架 Horovod (1) --- 基础知识
Linux 实现群聊功能
今天的主题是在 Linux 上实现一个群聊功能,支持群聊,指定人私聊,群主禁言,踢出群聊的功能,实际上要实现这个功能,如果你阅读过我前两天我写一篇 Linux原始系统api实现两个终端实时聊天 ,那么,在以上的基础上其实就是追加一下 两个功能即可,及群主禁言,和将谁踢出群聊的功能,因为群聊的基本功能我们实现了,而且私信的逻辑我们也实现了,ps,文本的代码在此。
老码小张
2023/12/09
6325
Linux 实现群聊功能
A核与M核异构通信过程解析
现在越来越多的产品具有M core和A core的异构架构,既能达到M核的实时要求,又能满足A核的生态和算力。比如NXP的i.MX8系列、瑞萨的RZ/G2L系列以及TI的AM62x系列等等。虽然这些处理器的品牌及性能有所不同,但多核通信原理基本一致,都是基于寄存器和中断传递消息,基于共享内存传输数据。
刘盼
2023/08/23
7270
A核与M核异构通信过程解析
Docker默认网络管理
在进行Docker安装时,Docker就会自动创建三种网络。客户端可以通过网络管理指令进行查看,具体操作指令如下。
张哥编程
2024/12/19
1360
Docker默认网络管理
深入了解服务器 CPU 的型号、代际、片内与片间互联架构
在前面两篇文章《个人 CPU 的型号、代际架构与微架构》 和 《聊聊近些年 CPU 在微架构、IO 速率上的演进过程》 , 我们介绍了个人台式机电脑中的 CPU 型号规则、核设计细节,以及各代 CPU 的关键变化。在这一节中,让我们进入到和大家手头工作相关度更高的服务器 CPU 原理部分。
开发内功修炼
2024/01/03
3.7K0
深入了解服务器 CPU 的型号、代际、片内与片间互联架构
【ZStack】2.ZStack的伸缩性秘密武器:无状态服务
每个ZStack服务都是无状态的,让服务高可用以及横向拓展(scale out)可以很简单,只需要启动剩余的服务实例,然后进行负载均衡即可。此外,ZStack将所有的服务打包到名为管理节点(management node)的单个进程,它让部署和管理变得超级简单。
泊浮目
2024/01/09
1710
【ZStack】2.ZStack的伸缩性秘密武器:无状态服务
Aloha:一个分布式任务调度框架
Aloha 是一个基于 Scala 实现的分布式的任务调度和管理框架,提供插件式扩展功能,可以用来调度各种类型的任务。Aloha 的典型的应用场景是作为统一的任务管理入口。例如,在数据平台上通常会运行各种类型的应用,如 Spark 任务,Flink 任务,ETL 任务等,统一对这些任务进行管理并及时感知任务状态的变化是很有必要的。
Spark学习技巧
2019/05/15
1.3K0
相关推荐
OSEK直接网络管理(三)
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档