科普系列:AUTOSAR与OSEK网络管理比较(上)

发布时间:2023-11-02  

一、前言

汽车网络管理从根本上来说是为了省电的,基本的实现方式就是汽车在没有使用的情况下一些ECU会通过网络管理协调进入低功耗模式或者睡眠模式,从而达到省电的目的。目前主流的网络管理标准有两个,一个是AUTOSAR(Automotive Open System Architecture,即汽车开放系统架构),另一个是OSEK。AUTOSAR与OSEK的网络管理方式虽然有区别,但是可以认为AUTOSAR是基于OSEK/VDS发展出来的。


那么这两种标准分别是怎么实现网络管理功能的,有什么差异?有什么相同呢?

二、OSEK与AUTOSAR网络管理实现原理

OSEK网络管理

1、状态机

OSEK网络管理状态机的状态跳转是有多层的,具有三个主要状态:

poYBAGNYe1yAQKT_AABg_MSKCuw238.png

图一OSEK网络管理主状态示意图


NMOff:网络管理关闭

NMOn:网络管理正在运行

NMShutDown:关闭网络管理的操作,此过程会清理一些在运行过程中产生的数据

NMOn状态下有两组并行的子状态,互不影响:

pYYBAGNYe1yAM47DAACizNRdthc140.png

图二NMOn状态下的子状态示意图


NMInit:主要是硬件初始化,此状态很短暂(初始)

NMAwake:一般情况下节点长期保持的状态,正常进行网络管理

NMBusSleep:睡眠状态,网络管理通信停止

NMActive:参与网络管理(初始)

NMPassive:节点不参与网络管理,但仍监视网络活动

NMAwake状态下也有三个子状态:

pYYBAGNYe1yAHroGAABleKM5B8c607.png

图三NMAwake状态下的子状态示意图


NMReset:软件初始化,发送alive报文

NMNormal:周期性发送或接受Ring报文,检测节点状态和网络配置的变化

NMLimpHome:节点非正常状态,不能正常发送和接收网络管理报文,尝试周期性发送跛行报文

一个节点从休眠到唤醒,再到休眠状态的跳转示意图如下:

pYYBAGNYe1yAPzaqAACl4vBazIc893.png

图四 OSEK网络管理状态跳转示意图


2、NM报文格式

网络管理直接关联的报文为网络管理报文,网络管理报文根据携带数据中byte1字节的不同bit置位可以分为Alive报文、Ring报文和LimpHome报文。网络管理报文byte1字节中还携带有每个节点是否满足休眠的信息,分别叫SleepInd信息、SleepACK信息。

Alive报文(byte1中bit0置位):每个节点需要加入逻辑环中时发送的声明。

例:

poYBAGNYe1yAbR8tAAAKUxExwgI343.png

Ring报文(byte1中bit1置位):“令牌”在逻辑环中传递的网络管理报文。

例:

poYBAGNYe1yAMXpsAAALvC8kSSs370.png

LimpHome报文(byte1中bit2置位):节点处于非正常状态不能收发网络管理报文时发出的特殊报文。

例:

poYBAGNYe16AfaHsAAAKiAdpgX4210.png

SleepInd信息(byte1中bit4置位):网络管理报文操作码中携带的数据,表明发出此信息的节点不再主动请求网络通信。

例:

poYBAGNYe16AKu0VAAALp00t70s245.png

SleepACK信息(byte1中bit4和bit5置位):表明网络中所有节点都不再需要网络通信,所有节点收到此信息的报文后就停止通信,进入休眠。

例:

pYYBAGNYe16AGfRnAAAMivgaL2I329.png

3、逻辑环

逻辑环:网络管理报文传递的逻辑,正常通信的网络中一个节点只有收到其他节点发出指向自身的网络管理报文,也就是“令牌”,才能发出自身网络管理报文,因此网络中同一时间只有一个节点能发出网络管理报文,每个节点按顺序发送网络管理报文,这个顺序就叫做逻辑环。示意图如下:

pYYBAGNYe16ADlyAAADGQMcbAwQ525.png

图五 逻辑环示意图

poYBAGNYe16AcUFVAAAGNsr6z8M465.png

“Token”在NodeB,NodeB发出指向NodeC的网络管理报文。

pYYBAGNYe16AWQEzAAAK-2mF6eo263.png

NodeB的发出指向NodeC的网络管理报文,“Token”转移到NodeC。

pYYBAGNYe1-ASzFtAAALLCpC09A702.png

“Token”在NodeC,NodeC发出指向NodeA的网络管理报文。

poYBAGNYe1-ANd3TAAAHO0Js9Gw606.png

NodeC的发出指向NodeA的网络管理报文,“Token”转移到NodeA。

pYYBAGNYe1-AdpiTAAALewohGn0796.png

“Token”在NodeA,NodeA发出指向NodeB的网络管理报文。

pYYBAGNYe1-ACpO9AAAKDwpJmF0070.png

NodeA的发出指向NodeB的网络管理报文,“Token”转移到NodeB。

AUTOSAR网络管理

1、状态机

AUTOSAR网络管理只有三个模式:

poYBAGNYe1-ASEkyAACvrXD2Yow301.png

图六AUTOSAR网络管理模式示意图


BusSleepMode:总线睡眠模式,当具备AUTOSAR网络管理功能的控制器正常休眠时的状态。

PrepareBusSleepMode:总线预睡眠模式,此状态为网络中节点停止通信准备进入睡眠模式的一个过渡状态,不会长期处于此状态

NetworkMode:网络模式,网络中有通信请求时的状态。

NetworkMode下还有三个子状态,AUTOSAR网络管理则是根据这三个子状态来判断节点是否需要通信:

poYBAGNYe1-AF8q5AAB9Y-8bZo0863.png

图七Network Mode模式下子状态示意图


RepeatMessage State:重复消息状态,此状态不是一个长时间的状态,当从睡眠模式或者准备睡眠模式进入网络模式时进入此状态,发出自身的网络管理报文,让网络中的其他节点可以检测到,也可以用来检测当前在线的节点。

NormalOperationState:正常操作状态,某个节点需要网络通信时处于的状态,周期性的发出自身的网络管理报文。

ReadySleep State:就绪睡眠状态,某个节点不再需要网络通信时处于的状态,不再发出自身的网络管理报文,但正常发送自身的应用报文。

一个正常通信网络中的所有节点都会维持在两个状态,一个是NormalOperationState,另一个是ReadySleep State,这两个状态的差别就是网络管理报文的发送与否。

一个节点从休眠到唤醒,再到休眠状态的跳转如下所示:

pYYBAGNYe2CAczRsAACPk_S5rWU002.png

图八AUTOSAR网络管理状态跳转示意图


2、NM报文格式

AUTOSAR网络管理报文由于是广播发送的且不需要指定任何节点,所以报文只包含自身的ID,和少量的控制信息,叫做控制位向量,以及用户数据。

poYBAGNYe2CAelraAACzqMnFDPQ908.png

图九AUTOSAR网络管理报文格式


至此,本文分别在状态机,网络管理报文格式对OSEK和AUTOSAR网络管理进行了简单介绍。

本文重点在两种网络管理特点的比较,因文章篇幅限制,还请各位看官移步至文章《科普系列:AUTOSAR与OSEK网络管理比较(下)》。

未完待续。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>