FlexRay介绍
FlexRay背景
FlexRay联盟成立于2000年,于2009年年底解散,核心成员为:
BMW ,Volkswagen,Daimler AG ,General Motors,
Robert Bosch GmbH,NXP Semiconductors,Freescale
FlexRay是由该联盟专为车内局域网设计的一种具备故障容错的高速车载总线系统。
FlexRay为:
Flex Flaxibility 意为灵活的;Ray FlexRay联盟的标志-鳐鱼
由于该总线系统设计时采用了基于时间触发的机制,且具有高带宽、容错性能好等特点,在实时性、可靠性以及灵活性等方面越来越凸显其优势。
FlexRay主要特点
高数据速率
传统CAN线分高低速两种,高速CAN最高速率为1Mbps,低速CAN为250kbps,比较之下,FlexRay有两个信道,其最高速率都可达到10Mbps,总的数据速率可达20Mbps。而正也是因为是两条线路,能更好地实现冗余,使得消息具有容错能力。但当这两条信道传递不同的信息时,使得数据吞吐量加倍。
确定性
由于FalexRay是一种时间触发式的总线系统,符合
TDMA(Time Division Multiple Access)的原则,因此在时间控制区域内,时隙会分配给确定的消息,即会将规定好的时间段分配给特定的消息,时隙是经固定周期重复,也就是说信息在总线上的时间可以被预测出来,因此保证了其确定性。
灵活性
FlexRay是时间触发的总线系统,也可通过事件触发方式来进行部分的数据传输,尤其对于时间要求不高的其他消息,就可以在事件控制区域内传输。因此形成了以时间触发为主,兼顾事件触发的灵活特性。
其次FlexRay的拓扑结构多样,既能像CAN线一样使用线型结构,也可使用星型结构,并且由中心节点来负责消息的转发,当除中心节点外的节点出现故障时,由中心节点断开与该损坏节点的通信,但若中心节点损坏了,整个总线系统就无法工作。
容错性
FlexRay是双信道的系统,在真实的传输环境中,两个信道传输的信息是相同的,称之为通过冗余备份来实现容错。简单理解就是当其中某一条信道出现故障或者信息出现损坏时,另一条信道仍可以继续正常传输,并不会互相影响对方的数据传输。
另外,在灵活性中提到的星型结构也通用具有故障隔离功能,当某控制器出现故障时,主节点可以自动断开故障节点,以防止对其他正常节点功能的影响。
FlexRay的应用
FlexRay最常见的应用场景是汽车的车内线控操作(X-by-wire),这个概念引申自飞机控制系统,飞机上所说的Fly-By-Wire指的是用电线代替机械的控制系统。
X-by-wire引入到其他行业中后特指去掉机械以及液力后备系统并与安全相关的、具有容错能力的线控系统。
其中X对应车内可以包括Brake,Steer,Shitt,Accelerate,Suspension等,如在刹车控制系统中,在取消掉原本的机械传动结构基础上,集成为制动-转向-悬架的电控结构,但正因为取消了传统的液压结构,就会要求现有电子控制线路有足够强的可靠性,能满足严格容错以及确定性的操作。
X-by-wire若使用传统CAN总线,就会出现
- 事件触发——报文不确定
- 总线负载率——接近极限
- 没有带宽储备及对应容错设计
显然,FlexRay总线系统能满足这样条件。宝马5系07款SUV的电子控制减震系统首次搭载了15个FlexRay节点,当时采用的策略是单通道,10Mbps,星型及总线拓扑结构,由此成为了首款FlexRay通信系统车型。
后来宝马新七系上,使用了跨系统方式实现行驶动态管理系统和发动机管理系统的联网,其中用了一个网关来实现CAN/FLEXRAY/MOST/LIN等总线之间的通信。
另一个应用就是由于FlexRay的高速率性,可以利用其成为车载通信骨架,FlexRay的两条信道最高都能达到10Mbps的速率,可以用于连接动力总成、底盘、车身、安全以及多媒体系统等独立系统。
本文大部分转载于
FlexRay的特点详解及其应用。