《FlexRay总线原理及应用》由会员分享,可在线阅读,更多相关《FlexRay总线原理及应用(9页珍藏版)》请在金锄头文库上搜索。
1、FlexRay 总线原理及应用1 FlexRay 总线介绍1.1 FlexRay 产生及发展随着汽车中增强安全和舒适体验的功能越来越多,用于实现这些功能的传感器、传输装置、电 子控制单元(ECU)的数量也在持续上升。如今高端汽车有100多个ECU,如果不采用新架构,该数 字可能还会增长, ECU 操作和众多车用总线之间的协调配合日益复杂,严重阻碍线控技术(X-by-Wire,即利用重量轻、效率高、更简单且具有容错功能的电气/电子系统取代笨重的机械/液 压部分)的发展。即使可以解决复杂性问题,传统的车用总线也缺乏线控所必需的确定性和容错功 能。例如,与安全有关的信息传递要求绝对的实时,这类高优先
2、级的信息必须在指定的时间内传输 到位,如刹车,从刹车踏板踩下到刹车起作用的信息传递要求立即正确地传输不允许任何不确定因 素。同时,汽车网络中不断增加的通信总线传输数据量,要求通信总线有较高的带宽和数据传输率 目前广泛应用的车载总线技术CAN、LIN等由于缺少同步性,确定性及容错性等并不能满足未来汽 车应用的要求。宝马和戴姆勒克莱斯勒很早就意识到了,传统的解决方案并不能满足汽车行业未来的需要,更 不能满足汽车线控系统(X-by-Wire)的要求。于是在2000年9月,宝马和戴姆勒克莱斯勒联合飞 利浦和摩托罗拉成立了 FlexRay联盟。该联盟致力于推广FlexRay通信系统在全球的采用,使其成
3、为高级动力总成、底盘、线控系统的标准协议。其具体任务为制定FlexRay需求定义、开发FlexRay 协议、定义数据链路层、提供支持 FlexRay 的控制器、开发 FlexRay 物理层规范并实现基础解决方 案。1.2 FlexRay 特点FlexRay提供了传统车内通信协议不具备的大量特性,包括:(1) 高传输速率:FlexRay的每个信道具有10Mbps带宽。由于它不仅可以像CAN和LIN网络这 样的单信道系统一般运行,而且还可以作为一个双信道系统运行,因此可以达到 20Mbps 的最大传 输速率,是当前CAN最高运行速率的20倍。(2) 同步时基:FlexRay中使用的访问方法是基于同
4、步时基的。该时基通过协议自动建立和同步, 并提供给应用。时基的精确度介于0.5ys和10ys之间(通常为12ys)。(3) 确定性:通信是在不断循环的周期中进行的,特定消息在通信周期中拥有固定位置,因此接 收器已经提前知道了消息到达的时间。到达时间的临时偏差幅度会非常小,并能得到保证。(4) 高容错:强大的错误检测性能和容错功能是FlexRay设计时考虑的重要方面。FlexRay总线使 用循环冗余校验CRC(Cyclic redundancy cheek)来检验通信中的差错。FlexRay总线通过双通道通信, 能够提供冗余功能,并且使用星型拓扑可完全解决容错问题。(5) 灵活性:在FlexRa
5、y协议的开发过程中,关注的主要问题是灵活性,反映在如下几个方面: 支持多种方式的网络拓扑结构; 消息长度可配置:可根据实际控制应用需求,为其设定相应的数据载荷长度; 使用双通道拓扑时,即可用以增加带宽,也可用于传输冗余的消息; 周期内静态、动态消息传输部分的时间都可随具体应用而定。2 FlexRay通讯协议和机制原理2.1节点架构ECU(Electronic Control Unit),即节点node,是接入车载网络中的独立完成相应功能的控制单 元。主要由电源供给系统(Power Supply)、主处理器(Host)、固化FlexRay通信控制器(Communication Controlle
6、r)、可选的总线监控器(Bus Guardian)和总线驱动器(Bus Driver)组成,如图所示。主处 理器提供和产生数据,并通过FlexRay通信控制器传送出去。其中BD和BG的个数对应于通道数, 与通讯控制器和微处理器相连。总线监控逻辑必须独立于其他的通讯控制器。总线驱动器连接着通 信控制器和总线,或是连接总线监控器和总线。Ch 6图 2.1 FlexRay 节点节点的两个通讯过程为:(1) 发送数据:Host将有效的数据送给CC,在CC中进行编码,形成数据位流,通过BD发送 到相应的通道上。(2) 接受数据:在某一时刻,由BD访问栈,将数据位流送到CC进行解码,将数据部分由CC 传送
7、给Host。2.2拓扑结构FlexRay的拓扑主要分为3种:总线式、星型、总线星型混合型。通常,FlexRay节点可以支持两个信道,因而可以分为单信道和双信道两种系统。在双信道系 统中,不是所有节点都必须与两个信道连接。与总线结构相比,星状结构的优势在于:它在接收器和发送器之间提供点到点连接。该优势在 高传输速率和长传输线路中尤为明显。另一个重要优势是错误分离功能。例如,如果信号传输使用 的两条线路短路,总线系统在该信道不能进行进一步的通信。如果使用星状结构,则只有到连接短 路的节点才会受到影响,其它所有节点仍然可以继续与其它节点通信。AH?de AiHodt ANode anode ANOC
8、fc ANDdti A,Nodei A崎 rjirIB图2.2总线式图2.3星型曲|1芒ANudir AhKiiJL: AEtM1图2.4混合型2.3数据帧一个数据帧由头段(Header Segment)、有效负载段(Payload Segment)和尾段(Trailer Segment)三部分组成。FlexRay数据帧格式如图2.5所示。MidData 2Data nDai a. 0Lsts 1” 1 0 iV:W.2ii=:卜飞-I T-Fl E Kittle 二 51- 0-25 为栢字节i口CliCCRC阴芋节MIOEtat i 0Da.1s. 1Oils. 2 - -X;:详图2.5
9、 FlexRay数据帧结构(1)头段共由5个字节(40位)组成,包括以下几位:1.保留位(1位):为日后的扩展做准备;2负载段前言指示(1位):指明负载段的向量信息;3无效帧指示(1位):指明该帧是否为无效帧;4. 同步帧指示(1位):指明这是否为一个同步帧;5. 起始帧指示(1位):指明该帧是否为起始帧;6. 帧ID(11位):用于识别该帧和该帧在时间触发帧中的优先级;7. 负载段长度(7位):标注一帧中能传送的字数;8头部CRC(11位):用于检测传输中的错误;9周期计数(6位):每一通信开始,所有节点的周期计数器增1。(2)负载段是用于传送数据的部分,FlexRay有效负载段包含0254
10、个字节数据。对于动态帧,有效负载段的前两个字节通常用作信息ID,接受节点根据接受的ID来判断是否 为需要的数据帧。对于静态帧,有效负载段的前13个字节为网络管理向量(NM),用于网络管理。(3)尾段只含有24位的校验域,包含了由头段与有效负载段计算得出的CRC校验码。计算CRC 时,根据网络传输顺序将从保留位到负载段最后一位的数据放入CRC生成器进行计算。2.4编码与解码编码的过程实际上就是对要发送的数据进行相应的处理“打包”的过程,如加上各种校验位、ID 符等。编码与解码主要发生在通讯控制器与总线驱动器之间,如图2.6。RkD .TxEN总线驱动器(BD)图2.6编码与解码其中RxD位接受信
11、号,TxD为发送信号,TxEN为通讯控制器请求数据信号。信息的二进制表示采用“不归零”码。对于双通道的节点,每个通道上的编码与解码的过程是同时完成的。图2.7静态数据帧编码TSS(传输启动序列):用于初始化节点和网络通信的对接,为一小段低电平。FSS(帧启动序列):用来补偿TSS后第一个字节可能出现的量化误差,为一位的高电平BSS(字节启动序列):给接受节点提供数据定时信息,由一位高电平和一位低电平组成。FES(帧结束序列):用来标识数据帧最后一个字节序列结束,由一位低电平和一位高电平组成。TkDLow图2.8动态帧编码DST(动态段尾部序列):仅用于动态帧传输,用来表明动态段中传输时隙动作点
12、的精确时间点, 并防止接受段过早的检测到网络空闲状态。由一个长度可变的低电平和一位高电平组成。将这些序列与有效位(从最大位MSB到最小位LSB )组装起来就是编码过程,最终形成能够 在网络传播的数据位流。25媒体访问方式在媒体接入控制中,一个重要的概念就是通信周期(Communication Cycle),如图所示。一个通 信周期由静态段(Static Segment)、动态段(Dynamic Segment)、特征窗(Symbol Window)和网络空闲 时间(Network Idle Time)4个部分组成。FlexRay提供两种媒体接入时序的选择:静态段采用时分多 址方式(TDMA),
13、由固定的时隙数组成,不可修改,且所有时隙的大小一致。用来传输周期性的数据 信息;动态段采用灵活的时分多址(FTDMA),由较小的时隙组成,可根据需要扩展变动,一般用于 传输事件控制的消息。符号窗用于传输特征符号。网络空闲时间用于时钟同步处理。题丄巫包贵rzEz-ri诵伯周期B严吨週亦甸r殍志红.一.母料忡敲层_皿- 厶査电卄忘;.醛/號匸缶賈 h-锻节招窝帼帀扫-LJLJCfcj 图 2.11 媒体访问方式仲裁层包含有仲裁网络,它构成了 FlexRay媒介仲裁的主干部分。在静态段中,仲裁网络由叫 做静态时槽(Static Slots)的连续时间间隔组成,在动态段中,由称为微型时槽(Minisl
14、ots)的连续时间间 隔组成。仲裁网络层是建立在由宏节拍(Marcotick )组成的宏节拍层之上的。每个本地宏节拍的时间都是 一个整数倍的微节拍的时间。已分配的宏节拍边缘叫做行动点(Action points)o行动点是一些特定的 时刻,在这些时刻上,将会发生传输的开始和结束。微节拍层是由微节拍组成的。微节拍是由通信控制器外部振荡器时钟刻度,选择性地使用分频 器导出的时间单元。微节拍是控制器中的特殊单元,它在不同的控制器中可能有不同的时间。节点 内部的本地时间间隔尺寸就是微节拍。2.6 时钟同步如果使用基于TDMA的通信协议,则通信媒介的访问在时间域中控制。因此,每个节点都必须 保持时间同步
15、,这一点非常重要。所有节点的时钟必须同步,并且最大偏差(精度)必须在限定范围内, 这是实现时钟同步的前提条件。时钟偏差可以分为相位和频率偏差。相位偏差是两个时钟在某一特定时间的绝对差别。频率偏 差是相位偏差随时间推移的变化,它反映了相位偏差在特定时间的变化。FlexRay 使用一种综合方法,同时实施相位纠正和频率纠正,包含两个主要过程:时间同步校正 机制(最大时间节拍生成MTG)和时钟同步计算机制(时钟同步进程CSP)o MTG控制时隙初值,即周 期计数器和最大时钟节拍的计数器,并对其进行修正。CSP主要完成一个通信循环开始的初始化, 测量并存储偏差值,计算相位和频率的修正值。SltilCV1TG竦丰斜il:郴位糾诳值的汁算號率纠止们的计昇SLJLLICLlhl集串対止城审岀1E图 2.12 时钟同步机制相位修正仅在奇数通信周期的NIT段执行,在下一个通信周期起始