FlexRay总线网络管理策略
车载网络管理的重要作用是协调网络中的节点同步进入睡眠状态。此外,车载网络管理还应具备网络监测和诊断、网络配置管理的作用。
FlexRay总线协议是FlexRay联盟(FlexRay Consortium)制定的适用于汽车高速网络的新一代车载总线,具备高传输速率、硬实时、安全性和灵活性的特点。FlexRay联盟目前只规定了物理层协议和数据链路层协议,没有制定网络管理方面的标准。
FlexRay总线协议特性分析
(1)通信机制确定性
FlexRay总线采用周期通信的方式,一个通信周期(Communication Cycle)可以划分为静态部分、动态部分、特征窗(SW, Symbol Window)和网络空闲时间(NIT, Network Idle Time)4个部分(图1)。静态部分和动态部分用来传输总线数据,即FlexRay报文。特征窗用来发送唤醒特征符(WUS, Wake Up Symbol)和媒介访问检测特征符(MTS, Media Access Test Symbol)。网络空闲时间用来实现分布式的时钟同步和节点参数的初始化。FlexRay总线所有节点的通信周期必须保持同步。
图1:FlexRay通信周期示例。
FlexRay节点如果通过发送网络管理协议数据单元(NMPDU,Network Management Protocol Data Unit)进行网络管理,NMPDU可以在静态部分或动态部分周期性传输。而NMPDU发送的允许或禁止由节点网络管理状态决定,因此所有FlexRay节点的网络管理状态转换必须在通信周期的间隔处执行。然而,FlexRay总线的通信周期为全局时间,在总线运行过程中会根据部分节点的时间进行实时调整,所以网络管理状态转换不能以内部定时器的方式实现,必须使用计数器的方式配合总线通信周期实现,才能满足所有节点同步转换的要求。
(2)通信调度灵活性
FlexRay总线在一个通信周期采用了两种接入时序:静态部分采用时分多址(TDMA, Time Division Multiple Access)的接入时序,动态部分采用柔性时分多址(FTDMA, Flexible TDMA)的接入时序。(图1)静态部分将通信时间划分为多个等时长的静态时隙(Static Slot),不同帧ID的静态帧在相应ID的时隙内发送,实现了报文发送的确定性。动态部分将通信时间划分为多个等时长的微时隙(Mini Slot),不同帧ID的动态帧在相应ID的动态时隙(Dynamic Slot)内发送。一个动态时隙可以占用一个或多个微时隙,动态帧的发送时间并不确定,根据动态部分的负载情况可能延后发送,甚至延后到下一周期。在双信道传输时,两个信道的动态帧的传输时间也可能不同。动态帧的使用有效地提高了总线的实际带宽,适用于发送对实时性要求不高的事件型报文,例如诊断报文、标定报文。
FlexRay总线的NMPDU需要根据静态帧和动态帧的特点,选择合适的发送方式。静态帧能够实现严格的周期性发送,但是静态帧的资源受限——出于安全性的考虑,同一ID的静态时隙只能分配给一个节点。所以,使用静态帧发送NMPDU需要考虑网络的资源情况。而同一ID的动态时隙可以分配给多个节点,以提高总线的利用率,但是动态帧要考虑总线实际负载情况造成的发送延时。
(3)应用层硬件支持
FlexRay总线协议的数据帧包含起始段(Header Segment)、净荷段(Payload Segment)和结束段(Trailer Segment)(图2)。起始段中的净荷段指示位(Payload Preamble Indicator)指出在净荷段开头是否包含可选变量。如果是静态帧,此位置1时表示净荷段首先发送网络管理向量(NM Vector),长度为0-12字节(所有节点NM Vector长度相同);如果是动态帧,此位置1时表示净荷段首先发送消息标识符(Message ID),长度为2字节。
图2:FlexRay数据帧结构。
FlexRay协议规定了净荷段可选变量由数据链路层实现自动写入和读取的服务,由FlexRay通信控制器芯片实现该功能,以简化软件并提高读取速率。如果使用静态帧的NM Vector发送NMPDU,接收节点可以通过读取NM Vector寄存器,快速识别多个节点的网络请求,从而有效提高信息的更新速率。
FlexRay总线网络管理需求
车载网络管理的重要作用是协调网络中的节点同步进入睡眠状态,适合FlexRay总线的网络管理除了要求实现网络管理的功能外,还需要:
(1)采用分布式网络管理方式。
FlexRay总线协议适用于分布式控制网络,在通信调度表的实现和时钟同步方面均采用了分布式的控制方式,即网络中不存在Master或Slave节点。因此FlexRay总线也须采用分布式的网络管理机制,即每个总线节点独立的执行其网络管理行为,状态转换基于自身的网络请求条件和接收的NMPDU。
(2)通过周期性报文发送NMPDU。
由于FlexRay总线采用确定性通信方式,网络节点的所有报文需要按照通信调度发送和接收。任何通信调度表设计之外的报文均有可能占用分配给其它节
- 基于Flexray总线的车载指挥控制设计与实现(11-17)
- ]基于Flexray总线的车载指挥控制任务计算机的设计与实现(08-28)
- 基于Flexray总线的车载指挥控制任务计算机的设计与实现(08-04)
- 基于MFR4200的FlexRay总线接口技术(08-30)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)