车载FlexRay网络管理策略的初步研究
扫描二维码
随时随地手机看文章
1 FlexRay简介
F1exRay是高速串行通信的车载网络,它的带宽高、可靠性高、灵活、实时性强的特点,可以很好地满足现代车载控制系统的强实时需求。目前已成立的FlexRay联盟正在推广FlexRay标准,主要成员包括BMW、Daimler—Chrvsler、Freescale、Bosch和Philips等,在BMW X5上,FlexRay已有实际应用。
与事件触发的CAN网络不同,FlexRay是一种能够兼容事件触发的时间触发总线协议。它的介质访问方式为FTDMA(灵活的时分多路访问)。FTDMA不同于TDMA(时分多路访问)。TDMA静态地分配时间片(timeslot),可能造成某些节点没有数据可发却占用了一定的时间片,造成资源浪费。
一个FlexRay循环包括静态数据段和动态数据段,如图1所示。两段可以同时出现,也可以只有其中一种。静态数据段被分成相等的静态时间片,每个节点最多分配16个时间片,每个时间片有唯一的标识符。动态数据段用于事件触发消息及诊断信息的传输,但时间和带宽是受限的。
2 OSEK/VDX车载网络管理
OSEK/VDX网络管理的主要任务是保证网络中各个ECU之间通信的可靠性和安全性。OSEK NM定义了直接网络管理和间接网络管理两种网络管理方法,同时定义了监测静态网络节点状态的规范,并提供控制网络管理组件接口程序。另外,在汽车应用中大多数网络是静态配置的,所以网络中的节点大多固定,具有一个独一无二的标识符,用OSEK NM对其进行管理是非常合适的,因此现在国外各大汽车制造厂商应用的几乎都是基于OSEKNM的管理算法。
通常在车辆环境下ECU有3种不同的工作模式:正常模式(normal operation)、低功耗模式(low power)和睡眠模式(sleep)。网络管理要在整个通信系统范围内协调各个ECU节点工作状态的切换,以减少总线的负载及功率损耗。OSEK VDX定义的网络管理主要具备:网络配置功能(OSEK NM将网络配置区分为normal和1imphome两个级别),状态管理功能(哪些节点在网络上处于活跃状态)和睡眠管理功能。
网络管理的各种功能最终需要网络协议来实现,0S—EK NM定义了网络管理协议数据单元(Network Man—agement Protocol Data Unit,NMPDU)。如图2所示,它包含了所有网络管理要求的消息。
3 OSEK/VDX的FlexRay网络管理协议
在OSEK/VDX NM中,要求参与网络通信的每个节点有独立的标识符,各节点依照逻辑环的顺序发送网络管理消息。逻辑环独立于网络的物理结构,每个节点具有一个逻辑后继节点,逻辑环第一个节点是该逻辑环最后一个节点的逻辑后继。
FlexRay是时间触发的总线协议,因此FlexRay网络管理消息在发送时,可以脱离逻辑环的模式,而且NMP—DU可以不需要源节点和目标节点的ID。
图3给出了一个与OSEK/VDX标准兼容的FlexRayNMPDU。图中,Byte 0为源节点ID,保留它是为了与OSEK标准兼容;Byte 1则包含网络管理协议的一系列标识符,Sleep Ind(休眠指示)位与Sleep Ack(休眠确认)位是必需的,节点是否切换进入休眠模式由这两个标识符来决定,Ring位也是为了与OSEK标准兼容,其他位(如Config位等)为1;Byte2~7为将来扩展保留。
4 AUTOSAR针对FlexRay的网络管理
为了与FlexRay的应用前景相适应,AUTOSAR组织已经基于OSEK/VDX定义了一套针对FlexRay的网络管理规范。针对FlexRay,AUTOSAR v2.O.1将网络管理模块划分为2个部分:Generic NM和F1exRay NM。在这一规定中,每个节点必须周期性地发送一个网络管理信息,也就是按事先设定好的时间触发顺序进行网络管理信息的传输,直到所有节点不再进行任何总线通信为止。如果在一个系统定义的时间周期内,传输介质上没有发送或收到任何网络管理信息时,节点将同步转入总线休眠模式状态(BUS_SLEEP_MODE)。这里给出了一个可行的网络管理的状态机,如图4所示。
图中的几个状态分别是:
◆NETw0RK_MODE(网络工作状态)及其包含的子状态
一NORMAL_0PERATION(正常工作状态)
一REPEAT_MESSAGE(进入NETWORK_MODE时的初始状态)
一READY__SLEEP(准备进入休眠状态)
◆PREPARE_BUS_SLEEP_MODE(总线准备进入休眠状态)
◆BUS_SLEEP_MODE(总线休眠状态)
这里所给出的网络管理状态机,参照了AUTOSAR中关于NM的标准,使用最简化的算法结构来实现最大化的效率及高稳定性,减少了总线的通信负荷及复杂性。在具体实现中,网络管理位于FlexRay通信系统的最顶层,动态部分的第一个时间片用来传输网络管理信息。每个节点把自己的网络管理ID与FlexRay通信系统当时的循环数比较,如果相符,则这一节点发送此次通信循环的网络管理消息,所有其他节点接受这一消息。
5 网络管理测试实例
为了验证上文所述FlexRay网络管理的实用性及其应用前景,一家德国汽车OEM厂商已在多种网络拓扑结构下对FlexRay NM进行了评估。实际上,AUTOSAR应用于F1exRay的网络管理也已经结合Vector公司的FlexRay—Stack进行应用。测试中特别着眼于以下3方面:与AUTOSAR规范保持一致、系统的稳定性,以及在将一个节点重新引入总线系统时,FlexRay—Stack的重新同步情况。
实验中,搭建了一个基于NXP SJA2510的简化通信节点平台,NXP SJA2510是集成了F1exRay通信控制器的ARM9微控制器。FlexRay—Stack包含了FlexRay的网络管理组件(generic和FlexRay协议)。
实验中测试了以下的硬件拓扑结构:
①总线拓扑结构上直接连接FlexRay节点;
②用FlexRay收发器TJAl080互连的方式来实现主动星型拓扑结构,如图5所示。
上述测试系统可以用来了解混合拓扑结构下的实际系统情况,以确定F1exRay网络管理模块在不同拓扑结构下的容错程度。
实验结果是:网络系统工作平稳,与AUTOSAR规范保持一致,将一个节点重新引入总线系统时,FlexRay-StacK的重新同步情况良好,即添加和减少节点时,网络仍能良好地进行通信
6 结 论
FlexRay的网络管理与其他的事件触发的总线协议(如CAN)不同,并拥有以下优势:①网络管理启动时不会造成网络拥堵,由于是时间触发,在任何网络状态下它所产生的网络负荷不变;②响应迅速;③容错度高。网络管理可以很好地保证F1exRay在高速、高灵活性的同时,可靠、安全地进行通信。在可靠、安全的前提下,合适的网络管理使F1exRay在灵活性方面的优势更加凸现。