0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

北汇信息POLELINK 2022-10-26 09:28 次阅读

一、前言

汽车网络管理从根本上来说是为了省电的,基本的实现方式就是汽车在没有使用的情况下一些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网络管理比较(下)》。

未完待续。

北汇信息专注于汽车电子测试,与国内外众多OEM和Tier1合作,在车载通信、诊断刷写、OTA、车内网络安全、域控制器功能测试等领域积累了丰富的实践经验,欢迎大家交流、探讨。

注:文中部分图片来源于AUTOSAR_SWS_CANNetworkManagement

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络管理
    +关注

    关注

    0

    文章

    107

    浏览量

    27509
收藏 人收藏

    评论

    相关推荐

    Elektrobit已正式推出现成的Classic AUTOSAROSEK软件和服务

    Elektrobit现已正式推出现成的Classic AUTOSAROSEK软件和服务。无论您的项目大小,我们都能根据您的需求提供可靠且互通的解决方案,同时支持多个汽车制造商规范,并有助于降低软件开发成本。
    的头像 发表于 03-26 10:03 148次阅读

    AUTOSAR架构中复杂驱动设计

    复杂驱动(Complex Driver,CDD)是一种不受 AUTOSAR 标准化约束的软件实体,它可以通过 AUTOSAR 接口和/或基础软件模块 API 进行访问 AUTOSAR 组件或者被
    的头像 发表于 12-21 10:13 943次阅读
    <b class='flag-5'>AUTOSAR</b>架构中复杂驱动设计

    AUTOSAR架构下的多核通信介绍

    随着汽车ECU迅速的往域控制器方向发展,ECU要处理的任务越来越多,单核CPU的负载越来越大,多核ECU势在必行。AUTOSAR架构下OS支持多核处理,本系列文章将详细介绍AUTOSAR架构下的多核机制。本文介绍
    的头像 发表于 11-13 09:24 790次阅读
    <b class='flag-5'>AUTOSAR</b>架构下的多核通信介绍

    AUTOSAR CAN时钟同步问题

    请问有没有AUTOSAR CAN时钟同步的能运行的代码,或者有没有能做这一块的大佬,主要是CanTsyn和STBM这两个模块的。有偿,价格都好商量,急需。
    发表于 11-09 00:00

    AUTOSAR OS操作系统功能特性

    AUTOSAR OS AUTOSAR OS(AUTomotive Open System ARchitecture Operating System)是AUTOSAR架构中的一个组件,用于管理
    的头像 发表于 10-27 16:55 1250次阅读

    AUTOSAR经典平台介绍

    经典平台(AUTOSAR CP) AUTOSAR经典平台(AUTOSAR CP)是AUTOSAR软件架构的一种实现,旨在提供一种标准化的方法来开发和
    的头像 发表于 10-27 15:30 929次阅读
    <b class='flag-5'>AUTOSAR</b>经典平台介绍

    解读AUTOSAR模式管理BswM配置

    模式管理AUTOSAR中的一个难点,也可以说是最庞杂的一块。因为模式管理贯穿整个CP Autosar流程,几乎所有模块都跟BSWM发生着联系。
    的头像 发表于 10-26 16:55 884次阅读
    解读<b class='flag-5'>AUTOSAR</b>模式<b class='flag-5'>管理</b>BswM配置

    科普|电源管理知识

    科普|电源管理知识
    的头像 发表于 10-17 16:31 345次阅读
    <b class='flag-5'>科普</b>|电源<b class='flag-5'>管理</b>知识

    AUTOSAR UDP网络管理策略

    UdpNm,AUTOSAR UDP Network Management,基于TCP/IP协议栈,主要目的是协调网络在normal operation和bus-sleep mode之间的转换。除了
    的头像 发表于 09-27 16:51 343次阅读
    <b class='flag-5'>AUTOSAR</b> UDP<b class='flag-5'>网络</b><b class='flag-5'>管理</b>策略

    一文解析AUTOSAR CAN网络管理

    AUTOSAR CAN 网络管理是一个独立于硬件的协议,只能在 CAN 上使用。它的主要目的是协调网络的正常运行和总线休眠模式之间的转换。
    的头像 发表于 09-09 10:32 2679次阅读
    一文解析<b class='flag-5'>AUTOSAR</b> CAN<b class='flag-5'>网络</b><b class='flag-5'>管理</b>

    详解CAN总线的AUTOSAR网络管理报文

    官方一点: AUTOSAR 就是AUTomotive Open System ARchitecture的简称,中文翻译就是汽车开放系统架构。
    的头像 发表于 07-31 11:27 2920次阅读
    详解CAN总线的<b class='flag-5'>AUTOSAR</b><b class='flag-5'>网络</b><b class='flag-5'>管理</b>报文

    理一理AUTOSAR架构下的唤醒源事件

    最近的项目负责网络管理部分,网路唤醒和ECU系统的休眠关系紧密,对系统的唤醒源事件感觉理解的不是很透彻,今天就来理一理AUTOSAR架构下的唤醒源事件。
    的头像 发表于 07-14 09:11 1626次阅读
    理一理<b class='flag-5'>AUTOSAR</b>架构下的唤醒源事件

    AUTOSAR是什么?AUTOSAR软件架构简介

    AUTOSAR的全称是AUTomotive Open System Architecture,直译为汽车开放系统架构
    的头像 发表于 07-08 17:26 9790次阅读
    <b class='flag-5'>AUTOSAR</b>是什么?<b class='flag-5'>AUTOSAR</b>软件架构简介

    一文入门AUTOSAR OS

    Autosar Os 在Autosar 框架中上至RTE 下至驱动,中间可以和BSW 基础模块进行交互。是整个autosar 框架下最重要的组成部分。
    的头像 发表于 06-29 10:34 2636次阅读
    一文入门<b class='flag-5'>AUTOSAR</b> OS

    如何在具有S32DS IDE和EB Tresos Studio MCAL配置的DEVKIT-MPC5748G使用AUTOSAR

    我们正在尝试在具有 S32DS IDE 和 EB Tresos Studio MCAL 配置的 DEVKIT-MPC5748G 使用 AUTOSAR。 我们正在关注“MPC574XG
    发表于 05-06 08:43