浅析PREEvision中AUTOSAR NM开发

AUTOSAR Network Management(以下简称:AUTOSAR NM),即“AUTOSAR网络管理”,是AUTOSAR体系中的网络管理机制。在AUTOSAR NM中,按照总线协议的类型,又可以分为在CAN总线上使用的CAN NM;在FlexRay上使用的FlexRay NM;在J1939上使用的NM;以及在ETH上使用的UDP NM等等。

那我们为什么要做网络管理呢?请看下图:当前整车上有许多ECU,都连接到了蓄电池,假如我们实行一刀切政策,简单粗暴地把这些ECU全都连到15电或者30电,分别会有什么样的后果呢?

图片

图1

很明显,如果所有ECU全都连接30电,那么ECU一直处于运行状态,很快蓄电池就亏电了;如果将ECU全都连接到15电,那么像图中的安全控制模块这类需要一直供电的模块,就没办法正常工作了。那么如何做到在满足ECU正常通信需求的情况下,又能节省蓄电池的电量呢?答案之一就是网络管理。

网络管理的目的,就是使网络中的ECU节点有序的睡眠和唤醒。当ECU在没有通信需求的时候睡眠,在需要通信的时候唤醒,用这种方法来达到节约汽车蓄电池电量的效果。

今天,小怿的任务就是给大家重点科普一下CAN以及ETH的网络管理。

AUTOSAR NM体系

图片

图2 拓展的AUTOSAR通信栈(Udp NM)

图2中框出了AUTOSAR NM体系,其中各个模块又有不同的作用:

  • Communication Manager:又称ComM,是BSW(Basic Software)中的一个组件。它是一个封装了底层通信服务控制的资源管理器,主要用于为用户简化总线通信栈的使用,ComM模块收集来自通信请求者的总线通信访问请求,并协调总线通信访问请求,控制总线通信模式;

  • State Manager:控制与ComM模块请求的通信模式所对应的总线实际状态;

  • Network Management Interface:网络管理接口,用于支持通用的底层模块,这些模块遵循特定总线NM模块的一组固定需求;

  • NM Coordinator:用于协调多个网段的同睡同醒;

  • NM Module:网络管理模块,通过发送NM PDU来进行网络管理。

以上的这些模块共同组成了AUTOSAR NM体系,用于对不同类型的总线进行网络管理。

网络管理工作模式

AUTOSAR NM体系中,CAN和UDP NM存在的三种主模式如下:

  • Bus Sleep Mode:睡眠模式,总线无通讯,ECU处于低功耗状态。该模式下NM报文只收不发,APP报文不收不发。

  • Network Mode:网络模式,总线有通讯。该模式下NM报文又收又发,APP报文又收又发。

  • Prepare Bus Sleep Mode:预睡眠模式,总线无通讯。该模式下NM报文只收不发,APP报文不收不发。

图片

图3 CAN/UDP NM主模式跳转

在Network Mode中,又存在三种状态:

  • Repeat Message State重复报文状态,此时NM报文以快速周期发送。在重复报文状态中又存在两种子状态:快速发送报文状态(以一个快速周期,按照规定的快发次数发送NM报文)、正常发送报文状态(以正常发送周期发送NM报文)。

  • Normal Operation State正常运行状态,此时NM报文以正常周期发送。

  • Ready Sleep State准备睡眠状态,NM报文只收不发,APP报文可收可发。

图片

图4 Network Mode中的状态跳转

下图为CAN NM的状态机,从图中我们可以对节点之间的状态跳转有一定的了解。

图片

图5 节点状态以及跳转总览

NM PDU

下图为有n个Byte的NM PDU的格式:

图片

图6 NM PDU默认格式

在CAN NM中,PDU长度为8Byte;而在UDP NM中,PDU长度可以自行定义,当然,一个NM报文的长度不能超过底层物理传输层的MTU(最大传输单元)。

  • Byte0:源节点ID,由基地址+ECU源地址两部分组成

  • Byte1:Control Bit Vector(CBV),控制比特矢量

  • Byte2-n:User Data,用户数据,主要用于部分网络管理和自定义功能参数

下表是控制比特矢量(CBV)的格式:

图片

表1 控制比特矢量

Bit0:重复发送报文请求位

  • 0:没有进入重复发送状态(Repeat Message Request)的请求;

  • 1:有进入重复发送状态(Repeat Message Request)的请求。

Bit1:PN关闭请求位(PNSR)

  • 0:NM报文中不含有同步的部分网络管理关闭请求;

  • 1:NM报文中至少含有一个PNC的同步部分网络管理关闭请求。

Bit3:NM协调器睡眠位

  • 0:主协调器没有请求启动同步休眠;

  • 1:主协调器请求启动同步休眠。

Bit4:激活唤醒位

  • 0:作为NM报文发送方的节点没有唤醒网络(被动唤醒);

  • 1:由作为NM报文发送方的该节点唤醒网络(主动唤醒)。

Bit5:部分网络管理学习位(PNL)

  • 0:没有请求PNC learning;

  • 1:表示请求PNC learning。

Bit6:Partial Network Information Bit(PNI),部分网络管理信息位

  • 0:NM报文中没有部分网络管理的请求信息;

  • 1:NM报文中含有部分网络管理的请求信息。

NM在PV工具中的实现

PREEvision工具支持可视化的NM参数配置,目前支持CAN Nm、FlexRay Nm、UDP Nm、LIN Nm等Cluster的创建,以下举例CAN Nm Confoguration的设置。

在PREEvision中有专门用于放置Nm配置的Network Management Package,创建位置如下:

图片

图7 创建Network Management Package的路径

在创建完文件夹后,就可以开始创建一个CAN Nm的Nm Configuration了,当前有两种方法可以创建CAN Nm Configuration:

  • 在Network Management Package下直接创建Network Management Configuration

图片

图8 创建Network Management Configuration

  • 在CAN Cluster上进行refactoring

图片

图9 Refactoring CAN Cluster

在CAN Cluster基础上refactoring的Network Management Configuration会直接展示比较完整的相关联的网络管理工件。如果手动创建也可以参考下图中网络管理工件的结构:

图片

图10 CAN Cluster与其对应的Network Management Configuration

在CAN NM Cluster的Property页,可以配置NM所需要的一些关键属性,例如NM Timeout Time等,这些可配置的属性都是AUTOSAR NM中所定义好的。

图片

图11 一些PREEvision中可配置的NM参数

此外,在CAN NM Node的Property页,还可以直接配置Nm节点的Node ID等重要参数。

图片

图12 CAN NM Node的一些属性配置

PREEvision工具中还可以创建网络管理所专有的NM PDU,并配置相应的报文。可以说需要配置的参数都已经被PREEvision安排的明明白白了,是不是很方便呢?不过,在AUTOSAR NM中,除了有像NM Node这类特殊的属性需要配置外,NM PDU与普通的Signal IPDU其实并没有太大的差别,因此在这里也就不做过多的赘述了。今天的内容小怿就介绍到这里啦,我们下期见咯~

更多精彩推荐:

传输层安全协议TLS——密码学概述

传输层安全协议TLS——协议解析

基于Adaptive AUTOSAR的SOA仿真介绍(上篇)

基于Adaptive AUTOSAR的SOA仿真介绍(下篇)

说说AUTOSAR数据类型的那些事儿

如何利用PREEvision和MATLAB开发AUTOSAR软件组件

浅谈AUTOSAR架构及开发方法

基于PREEvision的AUTOSAR Adaptive设计——上篇

基于PREEvision的AUTOSAR Adaptive设计——下篇

图片

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值