FlexRay通讯协议是一种具备故障容错的高速汽车总线系统,已经成熟运用在BMW X5的电控减震和主控悬吊系统中。这里将喝大家一起来了解FlexRay协议及对应的解码方案。
一、FlexRay总线介绍
FlexRay是一种高速可确定性的,具备故障容错的汽车总线系统。如今大多数汽车中主要是通过CAN总线进行数据交换,新的x-by-wire系统设计思想的出现,也导致了车辆系统对信息传送速度尤其是故障容错与时间确定性的需求不断增加。而FlexRay通过在确定的时间槽中传递信息,以及在两个通道上的故障容错和冗余信息的传送,满足了这些新增加的要求。
FlexRay的拓扑结构可分为单信道和双信道,包括单信道总线型、单信道星型、单信道混合型和双信道可独立选择拓扑形式。如图1所示为单信道总线型,图2为双信道拓扑形式。
图1 单通道总线拓扑
图2 双通道总线拓扑
· FlexRay 在物理上通过两条分开的总线通信,总数据速率可高达到20Mbit/秒;
· FlexRay具有可靠性特点,尤其其冗余通信能力可实现通过硬件完全复制网络配置,并进行进度监测;
· FlexRay可支持各种拓扑,如总线、星型和混合拓扑。
图3 各个协议数据速率的比较
虽然FlexRay本身不能确保系统安全,但它可以支持以安全为导向的系统(如线控系统X-by-Wire)的设计。
图4 FlexRay应用系统
二、FlexRay数据帧结构
一个数据帧由帧头、有效数据段和帧尾三部分组成。如图5所示:
图5 FlexRay 数据帧
· 帧头
1、保留位(1 位),为日后的扩展做准备;
2、负载段前言指示(1 位),指明帧的负载段的向量信息;
3、空帧指示(1 位),指明负载段的数据帧是否为零;
4、同步帧指示(1 位),指明这是一个同步帧;
5、起始帧指示(1 位),指明发送帧的节点是否为启始帧;
6、帧 ID(11 位),指明在系统设计过程中分配到每个节点的 ID;
7、有效数据长度(7 位),指示有效数据的的长度;
8、头部 CRC(11 位),表明同步帧指示器和起始帧指示器的CRC计算值;
9、周期(6 位)。指明在帧传输时间内传输帧的节点的周期计数。
· 有效数据部分
1、 数据部分,在图中分别以 data0、data1…表示;
2、 信息ID;
3、 网络管理向量。
· 帧尾部分
只含有单个的数据域,即CRC部分,包括帧头CRC和数据帧的CRC。
三、ZLG致远电子示波器FlexRay解码方案
依托于ZDS4054 Plus示波器强大的运算平台,免费标配FlexRay协议的解码功能。既可以对512M全内存的FlexRay数据进行解码,又可以对车辆通讯信号监测,每一帧数据的信息均可在事件表中进行查看,如下图6所示:
图6 Flexray总线解码
对长时间监测的数据进行异常分析,可在示波器的缩放模式下使用双ZOOM多窗口显示的功能,对信号进行多窗口异常监测和分析,可就某一个数据帧进行分析,也可对某一个上升沿的上升时间进行分析测量等,同时还可以实时观测事件表中的数据变化,如下图7所示。
图7 Flexray细节分析