第7章-FlexRay总线-冒航教学课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第7章-FlexRay总线-冒航教学课件.ppt》由会员分享,可在线阅读,更多相关《第7章-FlexRay总线-冒航教学课件.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章-FlexRay总线总线-冒航冒航信息与控制工程研究所 冒航冒航第第7章章 FlexRay总线总线1.37.1 FlexRay的起源及主要特征 实际上,当时已经出现了多种可(或可能)用于汽车环境的网络,如CAN、TTCAN、TTP/C和Byteflight。为此,部分工业企业专门成立了一个技术团体,针对这些网络进行详尽分析。研究结果清楚地表明,它们之中不存这样一种网络。不仅如此,该技术团体还在研究过程中定义了一种新网络,也就是本章所讲的FlexRay。1.FlexRay联盟成立 汽车制造商:宝马汽车公司(BMW)、戴姆勒-克莱斯勒公司(Daimler Chrysler)、通用汽车公司
2、(General Motors)和大众汽车公司(Volkswagen);设备制造商:罗伯特博世有限公司(Robert Bosch);芯片制造商:摩托罗拉公司(Motorola)(后来成为飞思卡尔公司)和飞利浦公司(Philips)(后来成为NXP半导体公司)。2.FlexRay的发展历程 2002年4月,FlexRay联盟在德国慕尼黑(Munich)召开的一个公开会议上正式推出FlexRay总线。2004年6月30日,FlexRay联盟的网站上公布了三个参考文件,分别为:2.0版协议、物理层和初级总线监控器。2004年9月在德国伯布林跟(Bblingen)进行了第一次“FlexRay产品”展示
3、。随后,FlexRay联盟又先后发布了FlexRay 2.1版、2.1A版、2.1B版和FlexRay 3.0版。最后这个版本是2010推出的,又称为“2010年版”。7.1.1 FlexRay的形成与发展的形成与发展 4 7.1.2 FlexRay总线的体系结构总线的体系结构7.1 FlexRay的起源及主要特征表表7-1 7-1 FlexRay的发展历程的发展历程表表7 7-2 2 FlexRay规范包规范包编号规范NWIP 17458-1FlexRay communications system Part 1:General information and use case defini
4、tion N 3065(FlexRay通信系统第1部分:通用信息和用例的定义N3065)NWIP 17458-2FlexRay communications system Part 2:Data link layer specification(FlexRay通信系统第2部分:数据链路层规范)NWIP 17458-3FlexRay communications system Part 3:Data link layer conformance test specification(FlexRay通信系统第3部分:数据链路层一致性测试规范)NWIP 17458-4FlexRay communic
5、ations system Part 4:Electrical physical layer specification(FlexRay通信系统第4部分:电气物理层规范)NWIP 17458-5FlexRay communications system Part 5:Electrical physical layer conformance test specification(FlexRay通信系统第5部分:电气物理层一致性测试规范)7.1.3 FlexRay的主要特点及用途的主要特点及用途 通信带宽。FlexRay带宽不受协议机制的限制,可在单个通道上支持2.5、5和10Mbit/s的通信
6、。当采用双通道冗余系统时,最高可达210Mbit/s,远高于CAN总线。时间确定性。FlexRay总线采用建立在循环和通信周期基础上的时分多路数据传输方式,周期性数据在通信周期中拥有固定的位置,确保了报文到达的时效性。57.1 FlexRay的起源及主要特征 分布式时钟同步。FlexRay使用基于同步时基的访问方法。同步时基是通过协议自动建立的,精度可达1s。容错数据传输。FlexRay通过专用的确定性故障容错协议支持多个级别的容错,其中包括通过单通道或双通道模式,提供传输所需的冗余和可扩展的系统容错机制,确保数据传输的可靠性。灵活性。FlexRay支持总线型、星型、级联星型和混合型等多种拓扑
7、结构,支持时间触发和事件触发通信方式,支持报文的冗余和非冗余传输方式,且提供大量配置参数供用户灵活进行系统调整、扩展。67.2 通信循环运用FlexRay协议进行的通信是通过“通信循环”组织起来的,“通信循环”是周期性的,且持续时间相等。原则上,循环的持续时间是恒定的,并与“全局时间”相联系。77.2 通信循环在图7-2中,FlexRay协议的通信循环采用“2n+x”进行编号,刻意采用这种编号方式的原因在于,在FlexRay操作中需要考虑循环的奇偶性。FlexRay通信循环的一般结构如图7-3所示,它由4个不同的“段”组成,这些段以固定的时间间隔循环重复。(1)静态段(ST):专门针对确定性实
8、时应用,具有已知和确定的带宽。(2)动态段(DYN):可选项,专门针对事件触发应用,服从概率管理,具有可变带宽。(3)符号窗(SW):可选项,用于发送专用通信符号,专门针对采用了总线监控器(BG)的应用(4)网络空闲时间(NIT):循环结束段。在这时间阶段,网络处于空闲模式,因此称为“网络空闲时间”。上述各段中,动态段、符号窗是可选项,通过选择不同的段,通信循环可以有不同的构成模式,这使得FlexRay具有十分广阔的应用领域。此外,静态段和动态段之间的边界位置完全由用户决定,因此用户能够使FlexRay网络系统最大程度地发挥作用。FlexRay的解决方式是,把静态段细分成若干个时隙,把动态段细
9、分成若干个微时隙,如图7-4所示。通常情况下,时隙的长度大于或等于微时隙。87.2 通信循环7.2.1 7.2.1 静态段与时隙静态段与时隙使用静态段的目的是确保高性能确定性通信。在这个段中,不仅要精确定义所承载报文的语义(含义),而且要正确处理系统采集数据与控制输出数据之间的先后关系。静态段尤其适合于功能分布式和安全关键型应用。静态段的细分规则如下:(1)所有时隙具有相同的持续时间。(2)各个通信循环包含的时隙数量相等。(3)每个时隙的编号(ID)是唯一的。(4)在采用双通道通信时,两个通道上的时隙格式(持续时间和编号等)相同。(5)时隙的起始时刻和持续时间由网络的全局时间来定义。(6)每个
10、时隙只允许一个节点有输出,但同一静态段可把几个时隙分配给同一节点。(7)时隙标识符(ID)与输出节点的发送(Tx)操作相联系。(8)同步过程至少需要使用静态段的两个时隙。97.2 通信循环7.2.2 7.2.2 动态段与微时隙动态段与微时隙 在使用动态段的情况下,系统设计者要以离线方式预先把动态段细分成持续时间相同的“微时隙”,每个微时隙具有精确的开始和结束时刻,如图7-4所示。在动态段内,微时隙单独编号,并且其编号还与所在循环有关。微时隙的分配是由系统设计者离线定义的。微时隙的时间位置代表节点可以根据应用的需要启动通信元件的“可能时刻”(受制于第7.4节介绍的某些条件)。当微时隙在一个自发的
11、发送事件之后被使用时,它会改变其名称,从“微时隙”变成“动态时隙(Dynamic Slot)”,如图7-5所示。107.2 通信循环7.2.3 7.2.3 符号窗符号窗通信循环中的符号窗是一个可选项,它是专为包含媒体访问测试符号(Media access Test Symbol,MTS)而设置的。MTS用来验证本地总线监控器是否正常工作,这是一个长度为30位的低电平(cdCAS=30bits)。在符号窗内,仅允许发送一个MTS,紧随MTS之后是一个通道空闲定界符(Channel Idle Delimiter,CID),CID是一个由11个二进制位(全部为“1”)组成的字段,这里被作为符号窗结束
12、标志,如图7-6所示。对于有多个发送方使用符号窗的情形,FlexRay协议没有提供仲裁机制。如果有这种仲裁需求,那么必须通过更高层的协议来解决。117.2 通信循环7.2.4 7.2.4 网络空闲时间网络空闲时间一个通信循环包括若干个宏节拍,其中一部分被分配给静态段、动态段和符号窗,另一部分则用于构成网络空闲时间。每个FlexRay通信循环都要使用NIT这个特殊字段作为结束。在NIT期间,若用示波器观察网络,则在它之上什么都没有发生,线路上也不存在流量,网络处于空闲(等待)模式。然而,这只是表面现象,事实上在此期间存在大量与时间同步相关的操作。NIT段的持续时间(gdNIT)不得超过767个宏
13、节拍。NIT开始后,所有网络节点会利用这段时间来做网络全局时间同步方面的计算(偏差和速率计算,详见第7.5节),或执行特定的、与通信循环相关的任务。如图7-8所示,所有节点利用NIT的末尾部分来实施它们的本地时间偏差修正,偏差修正的起点用循环开始后的宏节拍数量(gdOffsetCorrectionStart)表示。由于这些偏差修正会影响节点簇中的所有参与者,因此NIT的持续时间是一个与簇密切相关的量。127.3 FlexRay通信帧如图7-9所示,FlexRay通信帧分为静态通信帧(简称静态帧)和动态通信帧(简称动态帧),前者在静态时隙中传输,占用静态段的时隙,后者在动态时隙中传输,占用动态段
14、的微时隙。两种通信帧之间极其相似,不同之处很少。7.3.1 7.3.1 通信帧格式通信帧格式FlexRay通信帧主要由帧头、有效负载(数据)和帧尾(帧结束)三部分组成,如图7-10所示。值得注意的是,图中仅给出了与逻辑数据相对应的位,而不是那些在媒体上实际传送的位。帧头长度为5个字节,有效负载长度为0254个字节,帧尾长度为3个字节,通信帧的总长度为三者之和,共计5+(0254)+3=8262个字节,也就是说,通信帧共包括642096个具有逻辑意义的位。137.3 FlexRay通信帧1.帧头帧头包括:前导指示符,5位;帧ID,11位;有效负载场长度,7位;帧头CRC,11位;循环计数值,6位
15、。帧头各部分的总长度为40位,按5个字节进行传输。前导指示符前导指示符是由帧的前5个二进制位形成的,按出现顺序依次为保留位、负载场前导指示位、空帧指示位、同步帧指示位和启动帧指示位。保留位:用于将来的协议扩展。发送节点将该位设为逻辑0,接收节点忽略该位。负载场前导指示位:表明帧中有效负载的内容。1表示有效负载为特殊内容;0表示有效负载为一般内容。通信循环的静态段和动态段都可以输出帧,但该位在这两种情况下的含义不同:在静态段发送的帧(静态帧),1表示负载场开始部分包含网络管理向量(012个字节),0表示负载场不包含该向量;在动态段发送的帧(动态帧),1表示负载场开始部分包含辅助性报文ID(2个字
16、节),0表示负载场不包含该ID。空帧指示位:表明帧是否为空帧。1表示不是空帧;0表示空帧。空帧意味着负载场中的所有数据均为0,即无有效数据。对于网络来说,节点输出一个空帧,意味着节点没有需要报告的内容。同步帧指示位:表明帧是否为同步帧,即帧是否用于系统的通信同步(注:同步帧仅在静态段发送)。1表示同步帧,0表示正常帧。如果该位为1,且帧同时符合其它规定,那么接收节点将使用该帧进行时钟同步;如果该位为0,那么接收节点不将该帧用于时钟同步及相关处理。启动帧指示位:表明帧是否为启动帧。1表示启动帧;0表示正常帧。启动帧在启动机制中有特殊作用,只有冷启动节点允许发送启动帧。冷启动节点的同步帧必须是启动
17、帧,也就是说,当一个帧的启动帧指示位被设置为1时,其同步帧指示位也应设置为1。由于冷启动节点只能将同步帧设置为启动帧,因此每个冷启动节点在各通道的每一个通信循环里只能发送一个启动帧。147.3 FlexRay通信帧 帧ID帧ID用于定义帧的发送时隙,编码长度为11位,数值范围为12047。若帧ID的值为0,表示该帧为无效帧。在各个通道的每个通信循环内,一个帧ID的使用次数不能超过一次。稍后将会看到,帧ID不仅用于定义静态段所传送帧的时隙位置,也用于定义动态段所传送帧的时隙位置。此外,在同一个通信通道上,不允许两个通信控制器发送帧ID相同的帧。有效负载长度有效负载长度用来表示有效负载(数据)的长
18、度,数值范围为0127,单位为字(2个字节),即有效负载长度的值等于有效负载的字节数除以2。例如,若有效负载的字节数为72,则有效负载长度的值为36。在静态段中,所有帧的有效负载长度都是固定且相同的,用全局参数gPayloadLengthStatic表示。在动态段中,不同帧的有效负载长度可以各不相同,同一个帧在不同循环中的有效负载长度也可以不一样。帧头CRC帧头CRC是位于通信帧头部的循环冗余校验码,用于保护由前导指示符的第4位与第5位、帧ID和有效负载长度构成的位组。接收节点收到的来自发送节点的帧ID必须与当前时隙编号一致,帧头CRC使得接收节点能够及时进行一致性验证,避免对无用的数据展开处
19、理。帧头CRC是由发送方通过在线计算得到的,接收方当然要以同样的方式进行验证。帧头CRC的生成多项式如下:(7-1)循环计数值在传输过程中,循环计数值用于表示帧的发送节点在发送帧时的循环计数器值,其编码长度为6位,数值范围063,即存在64个可能的值。发送帧的通信控制器自动完成循环计数器的数值递增,在一个通信循环中被发送的所有帧,循环计数值必须相同。由于它的编码长度只有6位,因此不能无限递增,需要周期性的重复。157.3 FlexRay通信帧2.有效负载有效负载是专门用于传输有用数据的场,可包括0127个字,即0254个字节。在有效负载中,第一个字节用“data 0(数据0)”表示,随后的各个
20、字节依次用“data 1(数据1)”、“data 2(数据2)”等表示。有效负载的总字节数是偶数,完全可能大于实际应用的字节数。静态帧有效负载场的前面12个字节,即数据0数据11,可用作网络管理向量NM0NM11。网络管理向量的长度(用gNetworkManagementVectorLength表示)是可配置的,范围为012个字节,配置完成之后,不允许再做改变,剩余字节用于发送其它数据,如图7-11所示。对于网络管理向量,FlexRay的具体规定如下:(1)在同一个簇内,所有节点所配置的网络管理向量长度必须一致,如都为4个字节。(2)网络管理向量仅用于静态帧。(3)发送节点的主机将网络管理向量
21、作为应用数据写入通信控制器。由帧头中的“负载场前导指示位”表明有效负载场是否包含网络管理向量。167.3 FlexRay通信帧3.帧尾CRC逻辑数据帧的结尾是一个3字节CRC,其目的是为了保护整个被传送的帧。帧尾CRC的计算涉及整个帧头场和有效负载场,即从帧头场保留位开始,至负载场最后一位结束。这个CRC也是由发送方通信控制器在线计算的,理所当然,接收它的通信控制器要以同样的方式进行验证。帧尾CRC的生成多项式如下:(7-2)7.3.2 7.3.2 通信帧在时隙和微时隙中的封装通信帧在时隙和微时隙中的封装在物理层,FlexRay协议采用NRZ编码,位的物理表示方法(电或光)见第7.6节。帧的逻
22、辑内容由帧头、有效负载和帧尾三个场构成,FlexRay将每个场细分为字节,通过在每个字节上增加一个起始位(“0”,以START表示)和一个停止位(“1”,以STOP表示),把它封装成长度为10位的NRZ8N1型字节。图7-13给出了帧头的前16位以字节为单位重新包装后的结果,其它各位依此类推。177.3 FlexRay通信帧1.BSS在逻辑字节被传输之前,都要经过精心扩展。很显然,一个加上了起始位和停止位的8位字节之后是下一个字节的起始位,即两个连续字节之间的边界为“1-0”,既独特又易于辨别。2.FSS为了指明帧的起点,FlexRay在每个帧的第一个字节所对应的BSS之前又增加了一个信号,该
23、信号称为“帧起始序列(FSS)”。原则上,FSS由长度为一个位时间的高电平(“1”)组成,其上升沿表示帧发送开始了。3.TSS无论静态帧还是动态帧,在发出帧开始信号之前,首先发送一个“传输起始序列(TSS)”,如图7-13所示。TSS是长度由全局参数gdTSSTransmitter指定的连续低电平序列。网络设计者可以根据网络的用途和拓扑结构等调节TSS的长度,一般为315位。4.AP动作点(Action Point,AP)是在时隙(或微时隙)正式开始,并经过一段“通道空闲”时间之后的一个精确时刻,在这个时刻,节点按照其本地时间基准执行特定的动作,如图7-14所示。从图中可以看出,AP是发送器有
24、效启动帧传输的时刻。一般情况下,动作点是由设计人员预先定义的。187.3 FlexRay通信帧5.FES前面已经介绍了通信帧从开头到CRC的封装结构,现在是封闭通信帧的时候了。为此,在每个通信帧的CRC之后又增加了一个帧结束序列(Frame End Sequence,FES)。FES用于标识通信帧最后一个字节序列的结束,它由一个位时间(gdBit)的低电平紧跟一个位时间的高电平组成(二进制位01)。6.CID为了填补电气帧结束与时隙结束之间的时间,封装结构用一个由11个二进制位(全部为“1”)组成的字段作为结束,这个字段称为“通道空闲定界符(Channel Idle Delimiter,CID
25、)”,其目的是为了在时隙中发出帧传输结束信号,并将传输媒体释放到空闲状态。7.DTS动态帧是在动态段的微时隙中发送的,一旦在某个微时隙启动发送,从这个微时隙起的数个微时隙结合在一起形成了所谓的动态时隙。显然,动态时隙是与微时隙成比例的。197.3 FlexRay通信帧7.3.3 7.3.3 静态帧的最大二进制位数静态帧的最大二进制位数静态帧在网络中传输的二进制位包括:(1)具有逻辑意义的位数:5+(0254)+38=642096(bits);(2)添加的电气位:TSS:15 bits(最大),每帧一个;FSS:1 bit,每帧一个;BSS:2 bits,每个字节之前一个,共计5+(0254)+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FlexRay 总线 教学 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内