揭秘高速汽车总线系统FlexRay:CAN总线已OUT?!看看宝马X5协议解码分析之道

电子说

1.3w人已加入

描述

FlexRay通讯协议是一种具备故障容错的高速汽车总线系统,已经成熟运用在BMW X5的电控减震和主控悬吊系统中。本文和大家共同了解FlexRay协议及对应的解码方案。

 

FlexRay总线介绍

 

 

FlexRay是一种高速可确定性的,具备故障容错的汽车总线系统。如今大多数汽车中主要是通过CAN总线进行数据交换,新的x-by-wire系统设计思想的出现,也导致了车辆系统对信息传送速度尤其是故障容错与时间确定性的需求不断增加。而FlexRay通过在确定的时间槽中传递信息,以及在两个通道上的故障容错和冗余信息的传送,满足了这些新增加的要求。

 

FlexRay的拓扑结构可分为单信道和双信道,包括单信道总线型、单信道星型、单信道混合型和双信道可独立选择拓扑形式。如图1所示为单信道总线型,图2为双信道拓扑形式。

FlexRay

图1 单通道总线拓扑

 

FlexRay

图2 双通道总线拓扑

 

  • FlexRay 在物理上通过两条分开的总线通信,总数据速率可高达到20Mbit/秒;

  • FlexRay具有可靠性特点,尤其其冗余通信能力可实现通过硬件完全复制网络配置,并进行进度监测;

  • FlexRay可支持各种拓扑,如总线、星型和混合拓扑。

 

FlexRay

图3 各个协议数据速率的比较

 

虽然FlexRay本身不能确保系统安全,但它可以支持以安全为导向的系统(如线控系统X-by-Wire)的设计。

 

FlexRay

图4 FlexRay应用系统

 

FlexRay数据帧结构

 

 

一个数据帧由帧头、有效数据段和帧尾三部分组成。如图5所示:

 

FlexRay

图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。

 

致远电子示波器FlexRay解码方案

 

 

依托于ZDS4054 Plus示波器强大的运算平台,我们免费标配FlexRay协议的解码功能。既可以对512M全内存的FlexRay数据进行解码,又可以对车辆通讯信号监测,每一帧数据的信息均可在事件表中进行查看,如下图6所示:

 

FlexRay

图6 FlexRay总线解码

 

对长时间监测的数据进行异常分析,可在示波器的缩放模式下使用双ZOOM多窗口显示的功能,对信号进行多窗口异常监测和分析,可就某一个数据帧进行分析,也可对某一个上升沿的上升时间进行分析测量等,同时还可以实时观测事件表中的数据变化,如下图7所示。

 

FlexRay

图7 FlexRay细节分析

 

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分