广告

AUTOSAR与OSEK网络管理比较上集

2022-11-14 汽车电子设计 阅读:
汽车网络管理从根本上来说是为了省电的,基本的实现方式就是汽车在没有使用的情况下一些ECU会通过网络管理协调进入低功耗模式或者睡眠模式,从而达到省电的目的。

01LV0ednc

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

02LV0ednc

OSEK与AUTOSAR网络管理实现原理

OSEK网络管理LV0ednc

1.状态机
OSEK网络管理状态机的状态跳转是有多层的,具有三个主要状态:
图一 OSEK网络管理主状态示意图

NMOff:网络管理关闭LV0ednc

NMOn:网络管理正在运行LV0ednc

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

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

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

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

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

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

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

NMAwake状态下也有三个子状态:
图三 NMAwake 状态下的子状态示意图

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

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

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

一个节点从休眠到唤醒,再到休眠状态的跳转示意图如下:
图四 OSEK网络管理状态跳转示意图
2.NM报文格式
网络管理直接关联的报文为网络管理报文,网络管理报文根据携带数据中byte1字节的不同bit置位可以分为Alive报文、Ring报文和LimpHome报文。
网络管理报文byte1字节中还携带有每个节点是否满足休眠的信息,分别叫SleepInd信息、SleepACK信息。
Alive报文(byte1中bit0置位):每个节点需要加入逻辑环中时发送的声明。
例:
Ring报文(byte1中bit1置位):“令牌”在逻辑环中传递的网络管理报文。
例:
LimpHome报文(byte1中bit2置位):节点处于非正常状态不能收发网络管理报文时发出的特殊报文。
例:
SleepInd信息(byte1中bit4置位):网络管理报文操作码中携带的数据,表明发出此信息的节点不再主动请求网络通信。
例:
SleepACK信息(byte1中bit4和bit5置位):表明网络中所有节点都不再需要网络通信,所有节点收到此信息的报文后就停止通信,进入休眠。
例:
3.逻辑环
逻辑环:网络管理报文传递的逻辑,正常通信的网络中一个节点只有收到其他节点发出指向自身的网络管理报文,也就是“令牌”,才能发出自身网络管理报文,因此网络中同一时间只有一个节点能发出网络管理报文,每个节点按顺序发送网络管理报文,这个顺序就叫做逻辑环。示意图如下:
图五 逻辑环示意图
1️⃣“Token”在Node B,Node B发出指向Node C的网络管理报文
2️⃣ Node B的发出指向Node C的网络管理报文,“Token”转移到Node C
3️⃣“Token”在Node C,Node C发出指向Node A的网络管理报文
4️⃣ Node C的发出指向Node A的网络管理报文,“Token”转移到Node A
5️⃣“Token”在Node A,Node A发出指向Node B的网络管理报文
6️⃣ Node A的发出指向Node B的网络管理报文,“Token”转移到Node B

AUTOSAR网络管理LV0ednc

1.状态机
AUTOSAR网络管理只有三个模式:
图六 AUTOSAR网络管理模式示意图

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

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

Network Mode :网络模式,网络中有通信请求时的状态LV0ednc

Network Mode下还有三个子状态,AUTOSAR网络管理则是根据这三个子状态来判断节点是否需要通信:
图七 Network Mode模式下子状态示意图

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

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

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

一个正常通信网络中的所有节点都会维持在两个状态,一个是Normal Operation State,另一个是Ready Sleep State,这两个状态的差别就是网络管理报文的发送与否。
一个节点从休眠到唤醒,再到休眠状态的跳转如下所示:
图八 AUTOSAR网络管理状态跳转示意图
2.NM报文格式
AUTOSAR网络管理报文由于是广播发送的且不需要指定任何节点,所以报文只包含自身的ID,和少量的控制信息,叫做控制位向量,以及用户数据。
图九 AUTOSAR网络管理报文格式
至此,本文分别在状态机,网络管理报文格式对OSEK和AUTOSAR网络管理进行了简单介绍。
 
责编:Ricardo
文章来源及版权属于汽车电子设计,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Demi.xia@aspencore.com
汽车电子设计
博主和汽车电子的行业的工程师们一起交流、探讨、思考的小结,以作为技术交流和沟通的桥梁。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了