广告

AUTOSAR与OSEK网络管理比较

2022-12-02 汽车电子设计 阅读:
AUTOSAR网络管理和OSEK网络管理是汽车电子网络管理中的两个常见协议,本文就状态机、报文格式等方面对二者进行了相应的科普和比较。

01ocSednc

OSEK与AUTOSAR网络管理特点对比
本篇就是本文的重点了,接下来对比下这两种网络管理之间的共同点以及差别。

共同点ocSednc

1ocSednc

都是基于状态机的网络管理。ocSednc

2ocSednc

都是协调网络中的节点同时进入休眠以及唤醒。ocSednc

3ocSednc

都分配了特定的网络管理报文在网络中进行网络管理,属于直接网络管理。ocSednc

4ocSednc

通常情况每个节点都有独有的节点ID(如0x1),与基础ID(如0x400)共同构成网络管理报文的ID(0x401)。ocSednc

图一 通常情况网络管理报文ID组成

5ocSednc

网络唤醒方式都相同,每个节点都可以由于自己需要通信而主动唤醒网络,也可以被网络中其它的节点唤醒。ocSednc

不同点ocSednc

唤醒行为不一样ocSednc

OSEK网络管理唤醒后会发出一帧特殊网络管理报文,用来进行建环,建环完成后才根据逻辑环发送网络管理报文;以三个节点建立逻辑环简单举个例子:

1.通信启动ocSednc

网络中所有节点发出Alive报文。
图二 OSEK网络管理建环示意图(1)

2.确认逻辑后继节点ocSednc

所有节点根据总线上出现的Alive报文判断自身节点的逻辑后继节点。
图三 OSEK网络管理建环示意图(2)

3.发出Ring报文ocSednc

某个节点发出Ring报文尝试建环。
图四 OSEK网络管理建环示意图(3)

4.令牌传递ocSednc

节点收到指向自身的网络管理报文也就是收到令牌后,将数据更新后再次发出。
图五 OSEK网络管理建环示意图(4)
下一个节点收到指向自身的网络管理报文,也是将数据更新后再次发出。
图六 OSEK网络管理建环示意图(5)

5.建环完成ocSednc

令牌再次传递到第一个发送Ring报文的节点,且令牌传递期间没有节点发出Alive报文。
图七 OSEK网络管理建环示意图(6)
而AUTOSAR网络管理唤醒后直接周期性发出自身的网络管理报文即可,无需发出特殊的网络管理报文。

休眠行为不一样ocSednc

OSEK网络管理在总线睡眠之前,所有节点正常发送网络管理报文,待所有节点都准备好休眠并发送SleepInd后,最后一个节点发送SleepACK,网络中各节点再同时休眠,同样以三个节点简单举个例子:
A/B/C三个节点处于正常通信,节点B/C维持网络处于通信状态,A被维持通信。

1.节点B就绪休眠ocSednc

就绪睡眠的节点在收到指向自身的网络管理报文时,将数据更新为携带睡眠指示信息的网络管理报文再次发出,此时仅C请求网络通信,A/B被维持通信。
图八 OSEK网络管理控制同时休眠示意图(1)

2.仅节点C主动维持网络通信ocSednc

1️⃣Node B准备休眠发出携带睡眠指示的网络管理报文,被节点C维持通信。ocSednc

2️⃣Node C依然需要请求网络,发出未携带睡眠指示的网络管理报文,维持节点A/B处于通信状态。ocSednc

3️⃣Node A准备休眠发出携带睡眠指示的网络管理报文,被节点C维持通信。ocSednc

图九 OSEK网络管理控制同时休眠示意图(2)

3.节点C也准备休眠ocSednc

1️⃣Node B准备休眠发出携带睡眠指示的网络管理报文。ocSednc

2️⃣Node C准备休眠发出携带睡眠指示的网络管理报文。ocSednc

3️⃣Node A检测到所有节点都准备休眠,发出后继节点指向自身且携带睡眠应答信息的网络管理报文。ocSednc

图十 OSEK网络管理控制同时休眠示意图(3)
此后所有节点停止网络管理报文的发送,并同时进入休眠。
而AUTOSAR网络管理在整个网络休眠之前,只要某个节点准备休眠,那么这个节点就不再发送网络管理报文,直到总线上不再发送网络管理报文,那么所有节点则自行判断已经可以休眠,无需确认休眠信息,如下以三个节点协调睡眠举例:

1.A/B/C三个节点都处于请求网络状态ocSednc

所有节点都周期发送自身网络管理报文。ocSednc

ocSednc

图十一 AUTOSAR网络管理控制同时休眠示意图(1)ocSednc

2.节点A准备休眠,节点B/C依然维持通信ocSednc

节点A停发自身网络管理报文,但被节点B/C维持通信。ocSednc

ocSednc

图十二 AUTOSAR网络管理控制同时休眠示意图(2)ocSednc

3.所有节点准备好睡眠ocSednc

所有节点停发网络管理报文,等待NM-Timeout timer 超时并启动Wait Bus-Sleep Timer。ocSednc

ocSednc

图十三 AUTOSAR网络管理控制同时休眠示意图(3)ocSednc

每个节点Wait Bus-Sleep Timer超时后就各自进入睡眠模式,总线上不再有通信。

网络管理逻辑不同ocSednc

1)OSEK网络管理需要建环,网络管理报文的发送必须按照逻辑环进行,只有得到“令牌”才能发送网络管理报文,因此需要一个稳定的逻辑环,网络管理才能正常进行,对网络的稳定性要求比较高。
2)AUTOSAR网络管理则不会受到其他节点状态的影响,节点状态的跳转只与自身需求和总线的状态有关,只需要监视总线状态即可,网络管理报文的发送是周期性的。

网络管理报文格式不一样ocSednc

1)OSEK网络管理由于逻辑环的存在报文包含节点自身的ID和下一个发出网络管理报文的节点的ID,包含用于指示报文类型以及节点状态的数据,即操作码以及用户数据。

操作码(Opcode):OSEK网络管理PDU中的byte1,置位这个字节中不同位置的位就表现为不同的报文类型,分别为Alive报文,Ring报文,LimpHome报文,但同一时刻只能发送一种类型;这个字节中还包含节点的状态信息,也就是节点是否准备好睡眠以及是否确认睡眠,各占一个位。这个字节中的其它位则是预留的。ocSednc

图十四 OSEK网络管理操作码示例
2)AUTOSAR网络管理报文则由于是广播发送的且不需要指定任何节点,所以报文只包含自身的ID,和少量的控制信息,即控制位向量,以及用户数据。

控制位向量(CBV):AUTOSAR网络管理PDU中的byte1,这个字节中包含重复消息请求信息,主动唤醒信息以及PN相关等表明节点进行网络管理的控制信息。ocSednc

图十五 AUTOSAR网络管理控制位向量

对于节点掉线或者加入的处理不一样ocSednc

1)在正常通信OSEK网络管理网络中不论是加入某个新节点还是掉线某个节点,都会影响网络管理的状态,需要重新建环才能维持正常的网络管理。
2)而AUTOSAR网络管理不论是加入新节点还是已有的节点掉线都不会影响原有节点的网络管理状态。

02ocSednc

总 结
AUTOSAR网络管理和OSEK网络管理是汽车电子网络管理中的两个常见协议,本文就状态机、报文格式等方面对二者进行了相应的科普和比较。
责编:Ricardo
文章来源及版权属于汽车电子设计,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Demi.xia@aspencore.com
汽车电子设计
博主和汽车电子的行业的工程师们一起交流、探讨、思考的小结,以作为技术交流和沟通的桥梁。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了