《FlexRay通信协议中文版》由会员分享,可在线阅读,更多相关《FlexRay通信协议中文版(19页珍藏版)》请在金锄头文库上搜索。
1、FlexRay 介绍FlexRay通讯协议运用于可靠的车内网络中,是一种具备故障容错的高速汽车总线系统。 它已经成为同类产品的基准,将在未来很多年内,引导汽车电子产品控制结构的发展方向。 FlexRay协议标准中定义了同步和异步帧传输,同步传输中保证帧的延迟和抖动,异步传输 中有优先次序,还有多时钟同步,错误检测与避免,编码解码,物理层的总线监控设备等。1.1汽车网络通信协议综述汽车网络通信协议在保证整个系统正常运行方面起着非常重要的作用。它可以帮助解决 系统很多问题,如数据共享、可扩展性、诊断接口等。目前,应用于汽车领域的网络标准除 了 FlexRay 还有很多,如 CAN、LIN、J185
2、0 及 MOST 等。CAN总线全称为控制器局域网总线( Controller Area Network ) ”,是德国博世公司从 80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据 通信协议。它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。CAN通信速率可达1 Mbit/s,每帧的数据字节数为8个。LIN (Local Interconnect Network,控制器局域网)总线是由 LIN协会发布的一种新型低 成本串行通信总线,也称为经济型CAN网络。LIN的目标是为现有汽车网络(例如 CAN总线)提供辅助功能,因此LIN总线是一种辅助的总线网络,
3、在不需要CAN总线的带宽和多功能的场合比如智能传感器和制动装置之间的通信使用LIN总线可大大节省成本。J1850总线是1994年由汽车工程师协会颁布的标准,之后普及运用于美国车厂的汽车中。不过,虽然美国各厂多采用J1850标准,但是各厂的实际做法又不相同,因此相对其他标准来说比较混乱。由于 J1850总线通信速率低,只适合用于车身控制系统及诊断系统,目前在 美国逐步被CAN所取代。MOST (Media Orien ted System Tran sport,面向媒体的系统传输)总线是采用光纤并用于 智能交通及多媒体的网络协议,能够支持24.8Mbps的数据速率,与以前的铜缆相比具有减轻重量和
4、减小电磁干扰的优势。1.2 FlexRay 特点作为一种灵活的车载网络系统,FlexRay具有高速、可靠及安全的特点,它不仅能简化车载通信系统的架构,而且还有助于汽车电子单元获得更高的稳定性和可靠性。在宝马新款 SUV “X5 ”的电子控制减震器系统中,首次采用了控制系列车内LAN接口规格FlexRay ,此次实际应用预示着 FlexRay在高速车载通信网络中的大规模应用已经指日可待。c ost图1-各个协议数据速率的比较FlexRay在物理上通过两条分开的总线通信,每一条的数据速率是10MBit/s。CAN网络最高性能极限为1Mbps,而FlexRay总数据速率可达到20Mbit/秒。因此,
5、应用在车载网络,FlexRay 的网络带宽可能是 CAN的20倍之多。FlexRay还能够提供很多网络所不具有的可靠性特点。尤其是 FlexRay具备的冗余通信 能力可实现通过硬件完全复制网络配置,并进行进度监测。FlexRay同时提供灵活的配置,可支持各种拓扑,如总线、星型和混合拓扑。设计人员可以通过结合两种或两种以上的该类 型拓扑来配置分布式系统。FlexRay本身不能确保系统安全,但它具备大量功能,可以支持以安全为导向的系统(如 线控系统)的设计。1.3 FlexRay 协会FlexRay协会旨在推展开放式高速汇流排系统标准用于汽车的分布式控制应用。自2000年9月成立以来,协会不断发展
6、成长,成员包括汽车产业一些最大、最具影响力的公司。FlexRay的开发工作正在 BMW、戴姆勒 克莱斯勒、Freescale半导体、通用汽车、恩智浦 半导体、博世和大众等核心合作伙伴的推动下大步前进。透过多种会员分级制度,会员企业可与FlexRay协会工作小组进行交流,提出想法,参加评议会,并可提前获得相关规范以及积极参与推展这一国际标准的机会。协会网站:http:/1.4 FlexRay 应用正如图2所示,FlexRay面向的是众多的车内线控操作(X-by-Wire)。图中还展示了一个 把FlexRay和CAN网络结合的网关。曰eugnic Power Steering图2-带有CAN网络扩
7、充的FlexRay线控操作FlexRay导线控制应用的例子包括:线控操作转向:典型的是使用电子控制单元。防抱死制动系统 (ABS):包括车辆稳定控制(V)和车辆稳定助手 (VSA)。动力系:一代替现有的机械系统控制电子节气门。该电子节气门和现有系统结合工作, 如电脑化燃油喷射器、电脑化可变进气系统、电脑化怠速控制系统。1、 FlexRay 架构2.1 FlexRay 节点FlexRay节点的核心是 ECU (Electro nic Co ntrol Un it ),是接入车载网络中的独立完成相应功能的控制单元。 主要由电源供给系统(Power Supply )、主处理器(Host )、固化Fl
8、exRay通信控制器(Communication Controller )、可选的总线监控器(Bus Guardian)和总线驱动器(Bus Driver )组成,如图XX。主处理器提供和产生数据,并通过FlexRay通信控制器传送出去。其中BD和BG的个数对应于通道数,与通讯控制器和微处理器相连。总线监控逻 辑必须独立于其他的通讯控制器。总线驱动器连接着通信控制器和总线,或是连接总线监控器和总线。主处理器把FlexRay控制器分配的时间槽通知给总线监视器,然后总线监视器就允许FlexRay控制器在这些时间槽中来传输数据。数据可以在任何时候被接收。节点的两个通讯过程如下。a. 发送数据Host
9、将有效的数据送给CC,在CC中进行编码,形成数据位流(bitstream),通过BD发送到相应的通道上。b. 接受数据 在某一时刻,由BD访问栈,将数据位流送到CC进行解码,将数据部分由CC传送给Host。图 3 FlexRay 节点(ECU )2.2 FlexRay 状态Figure 23: Overview of protocol operation control如图2-3所示,FlexRay的节点有几个基本的运行状态:配置状态(默认配置/配置):用于各种初始化设置,包括通信周期和数据速率。就绪状态:用于进行内部的通信设置。唤醒状态:用于唤醒没有在通信的节点。唤醒针对的是电源管理系统。有
10、些节点在不工作时处于省电”模式(power-saving mode ),党再次投入工作时就需要唤醒该节点”;单个节点可唤醒整个组群;主机可在通讯信道上传输唤醒模式。节点通过收发器进行唤醒;当节点的收发器接受到唤醒特征符后,对主机处理器和通讯控制器进行上电,唤醒并激活通信控制器、总线驱动器和总线监控器。启动状态:用于启动时钟同步,并为通信做准备。只有将节点唤醒后,才能启动节点工 作。初始化一个启动过程称为“cold-start”,能进行冷启动的节点数目是有限的。系统的启动由两个逻辑步骤组成:冷启动节点启动+其他非冷启动节点通过接受启动帧与冷启动节点整合到一起。正常状态(主动/被动):可以进行通信
11、的状态。中断状态:表明通信中断。2.3 FlexRay 网络FlexRay的网络拓扑结构主要分为 3种:总线式、星形、总线星形混合型。在星型结构 中,还存在联级方式。通常,FlexRay节点可以支持两个信道,因而可以开发单信道和双信道两种系统。在双信道系统中,不是所有节点都必须与两个信道连接。与总线结构相比,星 状结构的优势在于:它在接收器和发送器之间提供点到点连接。该优势在高传输速率和长传 输线路中尤为明显。 另一个重要优势是错误分离功能。 例如,如果信号传输使用的两条线路 短路,总线系统在该信道不能进行进一步的通信。 如果是星状结构,则只有到连接短路的节点才会受到影响。其它所有节点仍然可以
12、继续与其它节点通信。双通道总线结构如1-1,双通道备用星型结构如1-2,单双通道级联如1-3和1-4,单双通道混合型结构如图1-5,1-6。Channel AChannel BFigure Dual channel bus configurationLFigure 1-2: Oual channel single star configura(ionirFigure Single channel cascaded star configLi rat lion.Figure 1-5: Single channel hybrid example.Node ANode BNode CNode DNo
13、de ENode FNode ANode BNode CNode DNode EChannel AFigure 1-6: Dual channel hybrid example.三、FlexRay协议FlexRay联盟目前只规定了数据链路层和物理层的协议。3.1 FlexRay 帧格式HMdftf CRCCovared Area.Headvr CRCData 0 Data 1 Data 2Fra IDCRCCRClengltiWHil.Figure 4-1: FlexRay frame format.一个数据帧由帧头(Header Segmen)、有效数据段(Payload Segmen)和帧
14、尾(TrailerSegmen)三部分组成。FlexRay 数据帧格式如图4-1所示。3.1.1帧头部分共由5个字节(4Obit )组成。包括以下几位:1保留位(Reserved bit,1位)。为日后的扩展做准备;2. 负载段前言指示(Payload Preamble indicator ,1 位)。指明帧的负载段的向量信息。在静态帧中,该位指明的是NWVecto;在动态帧中,该位指明的是信息ID ;3. 空帧指示(Null frame indicator,1 位)。指明负载段的数据帧是否为零;4. 同步帧指示(sync frame indicator,1 位)。指明这是一个同步帧;5. 起
15、始帧指示(startup frame indicator,1 位)。指明发送帧的节点是否为启始帧;6. 帧ID( 11位)。指明在系统设计过程中分配到每个节点的ID(有效范围:1至2047);长度-说明负载段的数据长度;7. 有效数据长度(7位)。指示有效数据的的长度,以字为单位。8. 头部CRC( 11位)。表明同步帧指示器和起始帧指示器的CRC十算值,以及由主机计算的帧ID和帧长度;9. 周期(6位)。指明在帧传输时间内传输帧的节点的周期计数。3.1.2有效数据部分有效数据由三个部分组成:1. 数据。可以是 0-254字节或者说0-127个字,在图中分别以 dataO、datal表示;2. 信息ID。使用负载段的前两个字节进行定义,可以在接收方作为可过滤数据使用;3. 网络管理向量(NWVector)。该向量长度必须为0至10个字节,并和所有节点相同。该