FlexRay介绍

2019-01-08 11:44:33


FlexRay是戴姆勒克莱斯勒公司的注册商标。FlexRay联盟 (FlexRay Consortium)推进了FlexRay的标准化,使之成为了新一代汽车内部网络通讯协议。FlexRay关注的是当今汽车行业的一些核心需求,包括更快的数据速率,更灵活的数据通信,更全面的拓扑选择和容错运算。

因此,FlexRay可以为下一代的车内控制系统提供所需的速度和可靠性。CAN网络最高性能极限为1Mbps。LIN和K-LINE分枝网络最高性能极限为20Kbit/s。而FlexRay两个信道上的数据速率最大可达到10Mbps,总数据速率可达到20Mbit/秒,因此,应用在车载网络,FlexRay 的网络带宽可能是CAN的20倍之多。

FlexRay还能够提供很多CAN网络所不具有的可靠性特点。尤其是FlexRay具备的冗余通信能力可实现通过硬件完全复制网络配置,并进行进度监测。FlexRay同时提供灵活的配置,可支持各种拓扑,如总线、星型和混合拓扑。设计人员可以通过结合两种或两种以上的该类型拓扑来配置分布式系统

另外,FlexRay可以进行同步(实时)和异步的数据传输,来满足车辆中各种系统的需求。譬如说,分布式控制系统通常要求同步数据传输。

为了满足不同的通信需求,FlexRay在每个通信周期内都提供静态和动态通信段。静态通信段可以提供有界延迟,而动态通信段则有助于满足在系统运行时间内出现的不同带宽需求。FlexRay 帧的固定长度静态段用固定时间触发(fixed-time-trigger)的方法来传输信息,而动态段则使用灵活时间触发的方法来传输信息。

FlexRay不仅可以像CAN和LIN网络这样的单信道系统一般运行,而且还可以作为一个双信道系统运行。双信道系统可以通过冗余网络传输数据--这也是高可靠系统的一项重要性能。

FlexRay的各种特点均适合实时控制的功能。

FlexRay的应用

FlexRay 面向的是众多的车内线控操作(X-by-Wire)。

FlexRay 导线控制应用的例子包括:

线控操作转向-典型的是使用电子控制单元

防抱死制动系统(ABS)-包括车辆稳定控制(VSC)和车辆稳定助手(VSA)

FlexRay 节点运算

每个FlexRay节点都包括一个控制器和一个驱动器部件。控制器部件包括一个主机处理器和一个通信控制器。驱动器部件通常包括总线驱动器和总线监控器(可选择)。总线驱动器将通信控制器与总线相连接,总线监控器监视接入总线的连接。主机通知总线监控器通信控制器分配了那些时槽。接下来,总线监控器只允许通信控制器在这些时槽中传输数据,并激活总线驱动器。若总线监控器发现时间时序有间隔,则断开通信信道的连接。

FlexRay的节点有几个基本的运行状态:

配置状态(默认配置/配置)-用于各种初始化设置,包括通信周期和数据速率

就绪状态-用于进行内部的通信设置

唤醒状态-用于唤醒没有在通信的节点。在该状态下,节点向另一节点发送唤醒信号,唤醒并激活总线驱动器、通信控制器、和总线监控器

启动状态-用于启动时钟同步,并为通信做准备。

正常状态(主动/被动)-可以进行通信的状态

中断状态-表明通信中断

FlexRay节点还有与错误处理相关的状态转移。这些转移是在时钟同步和时钟校正错误的错误计数器的数值基础上加以管理的。当个别节点的时钟与FlexRay同步节点时钟有所出入时,就会出现时钟校正错误。FlexRay 网络有一个或一个以上传输同步信息的同步节点。在收到任意一条同步信息后,节点会将其时钟与同步节点的时钟相比较,并根据同步需要做出必要的变化。

每个节点都要进行错误计数,其中包括时钟同步中连续发生错误的次数。同时,节点还要监测和帧转移/接受状态相关的错误,其中包括语法错误、内容错误、总线干扰错误以及转移冲突所导致的错误。一旦某节点发现该类错误,就会通知主机处理器。错误计数器的使用取决于应用用途和系统设计。

FlexRay帧和信号

FlexRay使用的通信帧有三个帧段。

和CAN网络的事件触发协议不同的是,FlexRay使用时间触发协议来转移帧。FlexRay的时间触发模式可以确保数据按照事先确定的时间表进行传输。此外,双冗余通信信道Ach和Bch都能传输数据。

头段包括以下几位:

保留位-为日后的扩展做准备

负载段前言指示-指明帧的负载段的向量信息。在静态帧中,该位指明的是NWVector;在动态帧中,该位指明的是消息ID

零帧指示-指明负载段的数据帧是否为零

同步帧指示-指明这是一个同步帧

起始帧指示-指明发送帧的节点是否为起始帧

帧ID-指明在系统设计过程中分配到每个节点的ID(有效范围:1至2047)

长度-说明负载段的数据长度

头部CRC- 表明同步帧指示器和起始帧指示器的CRC计算值,以及由主机计算的帧ID和帧长度

周期-指明在帧传输时间内传输帧的节点的周期计数

帧的负载段包括三个部分:

数据-可以是0至254字节

消息ID-任意。 该消息ID 使用负载段的前两个字节进行定义,可以在接收方作为可过滤数据使用。

网络管理向量--任意。该向量长度必须为0至10个字节,并和所有节点相同。

该帧的尾段包括硬件规定的CRC值。这些CRC值会在连接的信道上面改变种子值,以防不正确的校正。FlexRay 在时槽中传输帧。图8展示了与FlexRay周期有关的时槽的组成结构。

物理层,FlexRay根据uBP和uBM的不同电压,使用不同的信号BP和BM进行通信。四个信号(见图9)代表了FlexRay总线的各种状态:

Idle_LP: 低功率状态

Idle: 无通信状态

Data_1: 逻辑高

Data_0:逻辑低

折叠编辑本段注意事项

在Data_1 和Data_0之间不允许有冲突

经过数年的改进,FlexRay网络标准已经成熟,BMW已经在X5中有5个ECU(电控减震、主控悬吊系统等)应用了FlexRay,在下一代产品中将有16ECU予以应用。