大数跨境
0
0

FlexRay与以太网AVB同步机制

FlexRay与以太网AVB同步机制 汽车以太网技术研究实验室
2025-12-08
3
导读:FlexRay与以太网AVB同步机制


点击蓝字

关注我们


摘要:现代车载网络由异构系统组成,这些系统使用具有不同源时钟的各种通信协议。此外,网关系统设计了额外的功能,以确保转换/转发的数据满足实时约束。本文提出了一种用于FlexRay与Ethernet AVB网络的同步机制,可保证高质量服务质量。我们还设计了基于嵌入式系统的网关系统。此外,我们构建了一个由嵌入式系统组成的车载网络环境,该环境包含通过网关集成和同步的FlexRay网络和以太网AVB网络。我们通过实验和理论分析对所提方法的同步性能进行了评估。实验结果表明,该同步机制为FlexRay网络提供的时间保证与以太网AVB网络相当。


I. 引言

近年来,与安全、能源效率、多媒体、娱乐和驾驶辅助相关的各种要求和功能已被应用于车辆[1‐2]。为满足这些需求[3],已在车辆的不同部位部署了大量传感器和电子控制单元(ECU)。电子控制单元已取代纯机械部件[1]。因此,车载网络的复杂性随之增加,同时产生了大量的网络数据(例如安全数据、控制数据、信息娱乐数据以及驾驶辅助摄像头数据),以实现这些设备之间的通信。此外,这些设备相关的高带宽需求加速了对更快速、更灵活的车载网络技术的需求[3]。

各种研究[1‐3]已对车载网络进行了分类,根据其功能特性划分为不同的功能域,例如底盘、车身、动力总成以及多媒体功能域。由于各功能域交换的数据特性不同(安全、非安全、信息娱乐和多媒体),其网络需求也各不相同。因此,目前市场上或即将上市的车辆中同时采用了多种不同的车载网络协议,以满足这些功能域的不同需求,包括控制器局域网(CAN)、FlexRay、面向媒体的系统传输(MOST)和以太网[2, 6]。

由于存在使用各种网络协议的异构系统,因此也引入了汽车网关系统,以实现异构网络之间的无缝通信[7‐15],这些系统对于分布式车辆应用[14]至关重要,因为其性能可能影响整个网络域。

就现有的车载网络而言,CAN由于其低成本、安装简便以及抗噪声能力强,成为现有车载网络中的主导通信协议。然而,汽车系统所需的带宽超过了传统CAN网络所能提供的范围,并且由于CAN采用带有位仲裁的载波侦听多路访问(CSMA/BA)机制[1],因此不适合用于安全关键实时系统,例如线控系统。为解决这一问题,FlexRay应运而生。FlexRay通过采用时分多路复用(TDMA)和灵活时分多路复用(FTDMA),能够满足安全关键系统的实时性要求。因此,FlexRay于2007[14]被应用于宝马X5的悬挂网络中,并因其可预测的抖动和延迟,成为发动机控制系统等安全关键系统的有前景的协议。然而,FlexRay无法用于多媒体和信息娱乐应用,因为它无法提供足够的通信带宽来支持高带宽应用[11, 18]。因此,MOST被开发出来以提供足够的通信带宽用于多媒体和信息娱乐。但随着汽车系统对带宽需求的指数级增长,MOST自2013年起已变得带宽受限[11,19]。

为了解决现有车载通信协议在带宽方面的限制,汽车工业提出了使用以太网,并开展了多项研究,以在汽车中实现车载以太网,从而支持具有高带宽需求的应用系统。以太网可提供超过100 Mbps的高带宽,将其应用于车辆中时,能够带来诸多优势,包括安装简便、低成本、高带宽和大数据量。因此,目前部分车辆已将以太网用于诊断[20]、多媒体和信息娱乐系统。未来,以太网有望应用于高级驾驶辅助系统(ADAS)以及作为车载系统的骨干网络,如图1所示。

然而,为了在车载网络中提供适当的时间敏感功能,现有的以太网必须进行改进,以支持时间关键型流量的传输。为此,汽车工业提出了三种解决方案,包括IEEE 802.1Q、IEEE 802.1音频视频桥接(以太网AVB)和TTEthernet[3]。特别是,以太网AVB(包括802.1AS、802.1Qat、802.1Qav和802.1BA)[21]已被提出作为车载多媒体和信息娱乐系统的网络解决方案。此外,汽车行业正在开发满足时间关键通信要求的下一代以太网AVB[22],例如用于汽车骨干网络的场景。

802.1AS标准包含在以太网AVB标准中,该标准基于IEEE 1588精确时间协议(PTP),能够在网络节点[23]之间实现精确时间同步。因此,可以在以太网网络中的所有节点上实现同步时间。802.1AS标准针对时间敏感型应用的使用进行了规定,例如用于实时控制的同步多媒体数据传输,并提供包括抖动、响应时间、延迟、可靠性等在内的高服务质量(QoS)。此外,在车载系统中使用基于802.1AS的全局时间可以解决异构网络使用过程中出现的各种时序问题。例如,当通过网关在异构网络之间周期性地交换数据时,由于使用不同时钟源的异构网络之间的频率差异,可能会产生时钟漂移。这种时钟漂移不仅会降低服务质量(QoS),在最坏情况下还可能干扰时间敏感型电子控制单元操作。由于时钟漂移的存在,通过异构网络之间路由消息难以满足系统的时钟关键性要求,因为数据的发送/接收时间难以预测。为了解决这一问题,车载网络系统中的异构网络需要进行同步,以确保异构网络之间路由消息的高QoS水平。通过克服时钟漂移实现异构网络间的通信,网关系统在实现这一目标中发挥着关键作用。

本文中,我们提出了一种异构网络同步机制,以确保以太网AVB网络与FlexRay网络之间数据通信的高服务质量。所提出的同步机制设计为在网关系统中通过相应的软件运行。我们总结了本文的主要贡献如下。

  • 我们描述了一种可能导致FlexRay网络与以太网网络之间时钟漂移的数据路由情况,并指出了该时钟漂移可能引发的问题。

  • 我们提出了一种针对这两个网络的同步机制,可消除时钟漂移,从而确保FlexRay网络与以太网网络之间数据交换的高服务质量。该同步机制在一个汽车网关系统中实现,使得FlexRay的时序能够与基于802.1AS的以太网时序保持同步。此外,我们描述了用于应用所提出的同步机制的FlexRay同步节点配置,并根据每种同步节点配置分析了理论同步性能。

  • 我们介绍了一种基于嵌入式系统的网关设计,以实现所提出的同步机制,并展示了实验的网络环境。在这些实验中,我们测量了在两个网络同步前后,数据从FlexRay网络传输到以太网网络时的时钟漂移情况。

  • 为了验证所提出的同步网关在包含多个FlexRay电子控制单元和网关系统的网络中的可行性,我们利用实际网络系统验证了通过所提出的同步机制完全消除了时钟漂移,并评估了实测同步性能。

本文的其余部分组织如下。第二部分介绍了相关工作。第三部分解释了每种网络协议的同步机制。第四部分描述了所提出的网关的软件架构、用于同步FlexRay和基于802.1AS的以太网时间的机制,以及网关系统实现。第五部分展示了与同步性能相关的实验结果,第六部分对论文进行总结。


II. 相关工作

存在多种利用网关系统[14, 15, 28, 29, 35]来同步异构网络系统的方法。例如,汽车开放系统架构(AUTOSAR)标准中提出了通过为每种网络协议进行PTP消息传输来实现CAN[25]、FlexRay[26]和以太网[27]的全局时间同步。

该方法通过向异构网络系统提供全局时间,使得异构网络上的每个电子控制单元都能实现同步,并可用于分布式传感器与电子控制单元的协同控制,以支持车辆向下一代自动驾驶汽车转型。此外,文献[29]提供了博世对AUTOSAR提出的全局时钟同步方法使用案例的分析。尽管该论文解释了在CAN、FlexRay和以太网上的电子控制单元同步问题,但未解决FlexRay与以太网之间消息路由的服务质量(QoS)问题。由于实现通信调度所需的FlexRay时序无法直接从全局时间进行校正,因此需要一种专用同步机制,以根据全局时序校正FlexRay时序,从而实现两个网络的同步。文献[35]提出了用于同步连接到网关系统的两个FlexRay簇(主簇和从簇)的软硬件解决方案。该研究通过调整从簇的通信调度,使其与主簇的通信调度保持一致,从而实现时钟同步。同时,还对比了不同软硬件解决方案的同步性能,但该项工作并未提供消除以太网与FlexRay网络之间时钟漂移的方法。

上述提到的时钟漂移问题在FlexRay与以太网网络之间的路由过程中可以被观察到,并已在其他研究中进行了讨论。在文献[11]中,作者实现了一个基于CAN、FlexRay和Ethernet的中央网关原型,并测量了网关在异构网络之间的数据处理时间。当数据通过网关从CAN或以太网网络(事件触发)传输到FlexRay网络(时间触发)时,由于时钟漂移,处理时间会发生变化。在文献[14, 15]中,作者提出了一种基于服务质量的网关,该网关通过基于计算机的理想网络总线仿真将FlexRay、MOST和以太网AVB互连。此外,文献[14]的作者分析并比较了FlexRay与以太网AVB网络之间的同步精度。文献[15]提供了从以太网AVB到FlexRay或MOST的同步路由应用与实现的解释[15]。文献[15]的作者期望通过同步消除时钟漂移来提高服务质量,但他们并未描述具体的同步机制或算法,也未在真实的嵌入式系统上进行任何实验。

此外,时钟漂移值可能因硬件定时设备的容差不同而有所差异,但本文未提供这些参数。因此,需要进一步的工作来验证在具有多个FlexRay电子控制单元和网关系统的实际网络中使用互连的基于服务质量的网关的可行性。此外,为了实现此类网关系统,应在针对网关中拟使用的同步机制的详细研究中,对基于真实网络的时钟漂移进行分析和测量。这些观察结果促使了本文所呈现工作的开展。


III. 同步

网络系统中的每个节点都有其自身的时钟,即使内部时间基准最初是同步的,定时源的电压波动、温度变化和生产公差也会导致各个节点的内部时间基准产生偏差。如图2所示,根据时钟特性的差异,给定节点之间的时钟差异可分为两种类型,包括偏移差和速率差。

速率差可能是由本地时钟A和本地时钟B之间的频率差异引起的,如图2(a)所示。即使两个时钟初始相位相同,由于速率差的存在,两个系统之间的时钟间隔也可能会随时间而发散。另一方面,偏移差可能是由本地时钟A和本地时钟B的初始相位不同引起的,如图2(b)所示。

因此,网络中的所有节点都应支持偏移校正和速率校正,以确保精确同步。偏移校正用于减小时钟的当前偏差,而速率校正用于预测时钟的漂移率[32]。

在本节中,描述了FlexRay与Ethernet AVB协议的同步机制,并解释了两者如何实现同步。

A. 时钟同步机制

本小节描述了以太网AVB和FlexRay网络协议中使用的同步机制。

1) 以太网AVB

以太网AVB由IEEE工作组设计,旨在实现以太网中低延迟音视频流的服务质量要求。它包含四项IEEE标准,分别为802.1AS、802.1Qat、802.1Qav和802.1BA[21]。其中,802.1AS标准为网络节点提供时间同步,并基于PTP实现这些网络节点之间的精确时间同步。此外,802.1AS标准采用主从时钟同步层次结构,仅有一个最优时钟,在以太网AVB网络中该最优时钟称为“主时钟”。最优主时钟算法(BMCA)确定AVB网络上具有精确时间的主时钟,进而通过PTP消息向以太网AVB网络中的从时钟提供参考时钟[30]。此外,系统时钟的从设备是与参考时钟同步。主时钟和系统时钟的从时钟通过交换特殊的定时消息来获取精确时间。

为此,802.1AS提供了用于时钟同步的消息交换方法,如图3所示。可以使用主从时钟差异和单向延迟计算偏移量,如公式(1)和(2)所示,该偏移量用于校正从时钟。

(1)

(2)

如果发送了两组同步消息和跟随消息,则可以通过比较连续同步消息之间的时间Δ来根据公式(3)确定两个时钟之间的漂移(相位变化率)。

(3)

有关802.1AS同步机制的详细描述见参考文献[18‐20]。由于网络中各节点的时钟可能独立漂移,这些时钟同步机制应按设定时间定期运行。因此,802.1AS标准要求所有时间感知系统相互之间的同步精度需在峰峰值1 μ秒以内[24]。

2) FlexRay

FlexRay旨在满足控制数据方面严格的QoS要求,且为FlexRay网络系统定义的通信调度可确保可预测的通信行为。此外,这些特性需要时间同步,因为所有网络节点都将遵循预定义的通信调度。FlexRay的时钟同步包括同步宏滴答生成(MTG)和时钟同步过程(CSP)。MTG控制宏滴答和周期计数器,并对速率和偏移量应用校正值。CSP在通信启动时执行初始化,测量并存储时钟偏差值,并计算速率和偏移校正值[31]。此外,时钟同步的主要操作是确保各节点之间的时间差在所需精度内得到精确维护。

当FlexRay簇的节点采用偏移或速率进行校正机制时,这两种方法略有不同。图4显示了FlexRay簇的同步方法。所有节点以相同的方式执行速率和偏移校正,且速率校正必须在一个整个周期内完成。然而,偏移校正必须在奇数通信周期的网络空闲时间(NIT)内执行,并且必须在下一个通信周期开始之前完成。偏移校正值(微滴答数量)可以在NIT内的偏移校正段中添加,通过增加或减少偏移校正值来调整周期长度。也就是说,每个周期仅计算偏移校正值,并在奇数周期结束时应用。偏移校正值的计算基于单个周期内测量的值,并在NIT内偏移校正步骤开始之前完成。

因此,在整个周期的静态段之后使用速率校正值来执行速率校正。速率校正值是为了在通信周期内达到配置的微滴答数所需的整数个微滴答。速率校正值由时钟同步算法确定,并且每个双通信周期仅计算一次。此外,基于在奇偶双周期中测得的值来计算速率校正值的过程在偶数周期开始之前完成。

B. 以太网AVB与FlexRay之间的同步

当异构网络之间的数据通过网关系统进行周期性交换时,由于两侧的网络系统遵循不同的时钟源,一个网络上的N毫秒的周期性传输在另一网络上可能实际表现为N ± α ms的周期。这种由时钟漂移引起的累积差异α会导致硬实时约束的丢失,从而降低数据的服务质量。尽管可以通过同步异构网络系统来解决此问题,但FlexRay网络系统需要专用同步机制来间接同步基于802.1AS的全局时间,因为FlexRay网络系统无法直接反映基于802.1AS的全局时间。

这是FlexRay网络无法直接同步的原因是,用于实现FlexRay协议通信调度的时钟源与事件触发式方法协议所使用的时钟源不同。(对于CAN和以太网网络系统,使用应用执行定时器(如操作系统(OS)定时器)来进行周期性通信调度。然而,FlexRay网络系统使用由通信控制器提供的时钟源)。另一个原因是,FlexRay协议遵循的时间概念不同于基于802.1AS的全局时间。

在本小节中,我们描述了以太网骨干网络与基于FlexRay的子网络之间发生的时钟漂移示例。然后解释了为什么需要在这两个网络之间进行同步,并描述了如何实现这两个网络之间的同步。

1) 为什么需要同步

当数据在彼此未同步的以太网和FlexRay网络中交换时,由于两个网络的频率不同而产生时钟漂移。图5显示了一个示例,其中ECU 1连接到由网关1拥有的基于CAN的子网络,并通过基于以太网主干的网络周期性地将其传感器或控制数据传输到连接至由网关2拥有的基于FlexRay的子网络的ECU 9。网关2通过以太网网络从网关1周期性接收来自ECU 1的传感器或控制数据,并立即根据FlexRay通信调度使用预分配时隙将这些传感器或控制数据转发给ECU 9。在此情况下,网关2内部由于以太网拥有的基准时钟(源网络时钟)与FlexRay拥有的基准时钟(目的网络时钟)之间的频率差异而产生时钟漂移。

这种产生的漂移会影响网关2的端到端数据处理时间,如图6所示,并且可以通过观察网关2的以太网到FlexRay(Eth-to-Fr)处理时间来识别,如图7所示。尽管两个网络之间的时钟漂移随时间持续增大,但在网关2的Eth-to-Fr处理时间中观察到的时钟漂移表现为大于零且小于FlexRay周期长度,这是因为通信周期在FlexRay簇中持续重复。在最坏情况下,这种时钟漂移可能导致延迟等于单周期时间(图6.(a)),从而导致发送数据中的消息覆盖(图6.(b))。此外,如果ECU 1期望接收到与已发送的传感器或控制数据相关的响应数据,则其将在不同时刻收到响应数据,该时间大于单周期时间,但小于FlexRay的双周期时间[11]。因此,对于在FlexRay网络和以太网网络之间使用路由消息的系统而言,由于难以预测数据的发送/接收时间,很难满足时间关键性要求。

2) 同步方法

该问题通过应用基于802.1AS的时间源来同步两个网络。如果在异构网络中使用相同的基准时钟来建立通信调度,则可以消除时钟漂移,从而通过网关维持异构网络之间数据交换的高服务质量。该同步方法可分为以下两种类型:将以太网AVB时序与FlexRay时序同步,以及将FlexRay时序与以太网AVB时序同步。在第一种方法中,以太网AVB节点被同步到FlexRay基准时序。然而,该方法的主要缺点是无法在车载系统中使用精确的外部时钟(如GPS时钟)作为最佳主时钟,因为最佳主时钟必须是由网关拥有的FlexRay网络时钟。此外,802.1AS主时钟在车载系统中的使用也受到限制。因此,第一种方法并不适用。而在后一种方法中,可以通过基于802.1AS主设备的精确外部时钟来同步FlexRay网络,并且对主时钟的选择没有任何限制,因此可以使用该方法。

FlexRay规范[31, 34, 35]中的外部时钟同步功能可用于实现异构时钟同步,以反映FlexRay网络时序与以太网AVB时序之间的差异。外部时钟同步过程旨在补偿在正常运行期间可能与外部时钟显著漂移的独立FlexRay簇时钟。如果需要在多个网络之间进行同步操作,则无论各个网络是否独立同步,外部时钟同步功能都是必不可少的[32]。因此,可通过软件控制的外部时钟同步将FlexRay簇与基于802.1AS的以太网网络同步。图8展示了FlexRay与以太网AVB之间异构网络同步的概览。

为了正确地将FlexRay簇时钟与外部时钟同步,应通过网关软件中的一个模块计算FlexRay周期的起始时间与基于802.1AS全局时钟的参考起始时间之间的偏差,该模块实现了异构网络之间的同步机制。该偏差必须影响FlexRay簇接口的时钟同步,以明确地在微滴答级别延长或缩短簇周期长度,从而对外部时钟的校正值进行操作。参考文献[35]中,在两个FlexRay簇之间通过硬件和软件实现了同步方案。在采用软件控制同步的情况下,同步所需时间为5分钟,可实现精度为± 50 μ秒。

3) FlexRay簇中的同步节点配置

为了在FlexRay簇内正确执行外部时钟同步,必须在以下情况下配置FlexRay簇中的同步节点,以确保外部时钟的同步。在每种情况下,均使用相同的异构网络同步机制,但各情况之间的性能和容错能力可能略有差异。

  • 情况1 :当网关使用时间触发本地主控(TT-L)冷启动模式(FlexRay协议3.0中提供的)时,它仅作为一个同步节点运行,无需连接额外的同步节点(允许有其他非同步节点)。在这种情况下,异构网络同步的启动时间和同步性能优于其他情况,因为它通过单一同步节点提供了简单的网络启动和同步控制方式。然而,TT-L模式仅在通信控制器符合FlexRay规范3.0时方可使用。

  • 情况2 :当使用时间触发型本地分布式(TT-D)模式时,在FlexRay簇中,网关作为FlexRay簇的两个同步节点之一,用于同步FlexRay时序。在这种情况下,异构网络同步的启动时间和同步性能不如情况1,因为两个同步节点会影响FlexRay时序的校正。此外,如果同步节点的数量进一步增加,则使用所提出的同步机制将难以校正簇时序。

  • 案例3 :在FlexRay簇中使用TT-D模式的方式与情况2类似。然而,此案例通过克服同步节点数量的限制,能够提高情况2的容错能力。网关必须通过FlexRay网络向所有同步节点发送PTP消息,以将FlexRay时序与802.1AS全局时间同步。随后,包括网关在内的所有同步节点使用802.1AS全局时间对FlexRay簇执行外部时钟同步。因此,即使同步节点的数量增加,也能保证外部时钟同步。在这种情况下,尽管可以提高容错能力,但异构网络同步的启动时间和同步性能低于其他情况。


IV. 已实现的网关系统

本节描述了异构网络同步机制以及所开发的网关系统的实现。

A. 软件架构

所提出的网关采用与平台无关的架构,并使用AUTOSAR微控制器抽象层(MCAL)进行设计。该网关架构如图9所示,分为驱动层、接口层和网关服务层。驱动层提供用于控制硬件组件的设备驱动程序,该层包含用于通信、中断、内存、定时器及其他驱动的多种模块。驱动层仅与接口层进行交互,因此不会影响除接口层之外的任何其他层。接口层提供驱动层与上层之间的接口。网关服务层则由TCP/IP、套接字适配器、以太网AVB、COM、PDU路由器和异构网络同步模块组成。PDU路由器和COM模块分别用于基于PDU的路由和基于信号的路由处理,而基于帧的路由则在各个通信接口之间直接进行。

TCP/IP模块配置为提供IP、TCP和UDP功能,套接字适配器模块负责管理套接字用于TCP和UDP通信的连接。以太网AVB模块未包含在AUTOSAR标准中,而是由部分供应商付费提供,因此也自主开发了必要的以太网AVB功能。以太网AVB模块中的802.1AS模块由定时器周期性调用,负责管理PTP消息的发送与接收,并记录PTP消息生成的时间戳。此外,802.1AS模块利用采样的时间戳计算出正确时间(相对于主节点的时间差),并据此校正网关的系统时间。异构网络同步模块在FlexRay周期开始时,通过FlexRay绝对定时器的中断被周期性调用,能够将FlexRay簇与由802.1AS主时钟同步的网关系统时钟进行同步。

B. 异构网络同步机制

所提出的异构网络同步机制利用FlexRay协议中的外部时钟同步功能实现,并可在网关内以软件形式实现。该机制将FlexRay簇时钟与网关所属系统时钟进行同步,而网关所属系统时钟可基于802.1AS与精确全局源时钟(主时钟)同步。在FlexRay周期开始时,网关所属系统时钟作为参考时间,由异构网络同步机制调整使其等于参考时间。即,FlexRay簇的周期长度和周期起始时刻可通过网关所属系统时钟的时间单位概念进行匹配。图10展示了使用文献[34]中描述的FlexRay簇结构实现的FlexRay与以太网AVB网络之间的同步机制。

当网关启动时,网关所属系统时钟通过网关与主时钟节点之间的PTP消息交换与基于802.1AS的主时钟节点同步。然后,网关初始化FlexRay簇,并根据同步的网关系统时间设置参考时间。我们选择参考时间t_ref作为网关系统时间除以FlexRay周期长度(模运算,网关系统时间模,FlexRay周期长度)所得的所有可能余数的集合,如公式(4)所示。

(4)

其中t_gw_sys_nano被配置为纳米级的32位时间寄存器值,t_Fr_cycle_period为FlexRay周期长度,具体取决于配置。FlexRay周期长度的下限和上限分别为16 μ秒到16毫秒。因此,用作第一个静态时隙的起始时间的t_ref值必须在范围[0;t_Fr_cycle_period − 1]内,这意味着FlexRay周期在基于802.1AS的时间单位的t_ref时刻开始。所配置的t_ref作为可变偏移量,会影响网关的端到-end处理时间。因此,网关的端到-end处理时间包含一个偏移时间(t_tot_offset),该偏移时间由可变偏移量(参考时间t_ref)和固定偏移量(t_fix_offset)组成。当t_ref设置为零时,由于存在正的固定偏移量t_fix_offset,偏移量t_tot_offset不能为零。

FlexRay集群定时校正的时间偏差(t_deviation)是首次测量的实际起始时间(t_ActualStart)与参考起始时间(t_ref)之间的差值。随后根据公式(5)计算t_deviation。

(5)

t_deviation用于确定外部校正参数的符号(偏移校正:VExOC,速率校正:VExRC),以调整周期长度和周期起始。当异构网络同步的应用软件向FlexRay控制寄存器中的VExOC和VExRC写入时,将触发外部校正的反射。随后,奇偶周期对被应用于外部校正值。如果在周期2N的NIT中应用的偏移校正受到外部偏移校正值(PExOC)的影响,则必须在周期2N开始之后、周期2N静态段结束之前写入VExOC,如图11(a)所示。如果在周期2N静态段结束之后才写入VExOC,则不能确保PExOC被应用于周期2N+1。同样地,如果周期对2N+2和2N+3的速率校正受到外部速率校正值(PExRC)的影响,则必须在周期2N开始之后、周期2N状态段结束之前写入VExRC,如图11(b)所示。如果在周期2N静态段结束之后才写入VExRC,则不能确保PExRC被应用于周期对2N+2和2N+3。

时间校正是通过将PExOC和PExRC反映到内部校正值中来实现的。外部速率/偏移量校正值的范围可在0到7 μT之间进行配置(通常,1 μT设置为25纳秒)[31]。这些校正值在协议操作控制(POC)的配置状态或默认配置状态下进行配置,在其他任何状态下都难以修改。这意味着异构网络同步的时序控制是基于最初配置的外部校正值实现的。

如果测得的FlexRay周期的实际起始时间比参考时间慢,则将外部校正值加到现有校正值上;如果测得的FlexRay周期的实际起始时间比参考时间快,则从现有校正值中减去外部校正值。

C. 网关实现 硬件平台

应提供以太网控制器中的硬件时间戳支持,以实现纳秒级的精确IEEE 1588时间戳(因为当使用软件时间戳时,无法期望同步时间小于1 μs[40])。因此,本文采用英飞凌公司的TC275[36]评估板(TC275EVB)来开发网关系统。TC275EVB提供两个CAN通道、一个FlexRay通道和一个以太网通道,更多细节如图12所示。我们使用MCAL 4.0.3[38, 39]作为FlexRay和以太网驱动程序,并使用Tresos Studio 2013.a进行AUTOSAR MCAL配置。

由于以太网AVB栈和PTP模块尚未在AUTOSAR标准中定义,因此仅使用开源软件[41]实现了IEEE 802.1AS标准的基本功能。同样,AUTOSAR MCAL 4.0.3在FlexRay模块中未提供外部时钟同步功能,仅针对外部时钟同步开发了基本机制。

D. 实验环境

设计了一个网络环境,以通过使用嵌入式系统来评估性能并演示QoS网关的操作,如图13所示。表I显示了FlexRay和以太网网络配置。基于FlexRay的网络构建为一个同步节点(除网关外的一个额外同步节点)和三个非同步节点(两个基于TC275的ECU和两个基于MC9S12XF512的ECU[37]),该网络配置使用TT-D同步机制(如案例2第II.B.3节所述),因为TC275通信控制器符合FlexRay协议规范v2.1。802.1AS的以太网网络配置为静态配置,端口和主时钟的角色通过静态配置指定(无需BMCA),因为车载网络是一个封闭网络,所有电子控制单元均采用静态配置且在其生命周期内不会发生变化。

此外,使用车载网络分析工具CANoe进行网络的分析与评估,并通过VN3600和VN5610与CANoe连接。VN3600和VN5610是Vector公司开发的用于车载网络接口模块的通用串行总线(USB)。VN3600用于将FlexRay网络连接到CANoe,而VN5610用于将以太网网络连接到CANoe。所实现的网关通过以太网交换机相互连接,数据通过以太网主干转发至各自的子网络,反之亦然。此外,使用802.1AS来将每个网关的系统时钟与PC更精确的系统时钟同步。

1) 端到端处理时间

使用以下符号表示来分析网关的最坏情况端到端处理时间:

- W(x) – 最坏情况x的处理时间

- Tex(x) – x 的执行时间

- Twait(x) – 调用x的等待时间

最坏情况端到端处理时间如公式(6)所示。

(6)

其中,$T_{rx}$ 是来自源网络的接收消息持续时间。$T_{tx}$ 是向目的网络发送处理后消息的持续时间。$T_{proc}$ 是接收消息处理的持续时间。公式表达式的详细信息见参考文献[11],本文仅考虑当网关未提供异构网络同步时,$W(T_{tx})$ 会受到时钟漂移的影响。 $W(T_{tx})$ 由以下公式(7)确定。

(7)

其中$T_{cc_tx}$ 是通信控制器将处理后的消息发送到目标网络所需的时间。$Task_{tx}$ 负责将消息从目标缓冲区复制到通信控制器的传输缓冲区。$T_{protocol}$ 是根据目标网络中的通信协议产生的时间延迟,且可能包含时钟漂移。$T_{protocol}$ 取决于目标网络中的通信协议,对于基于以太网的目标网络,仅需考虑消息的传输时间,因为在使用交换式以太网[11]时不采用碰撞检测算法。而基于FlexRay的目标网络的时间延迟可归因于采用时分多址(TDMA)的通信周期调度,在未进行异构网络同步的情况下,$T_{protocol}$ 的最坏情况即为FlexRay周期长度。该延迟可通过以太网网络与FlexRay网络之间的异构网络同步得以最小化。

2) 同步性能

从理论上分析了同步性能,以评估所提出的同步机制。

a) 同步所需时间的最坏情况

以太网AVB和FlexRay网络之间的同步时间等于每个网络系统同步所需时间的总和。首先,FlexRay所需的同步时间由公式(8)定义。

(8)

其中$T_{wake\ up}$是FlexRay通道A与FlexRay通道B之间唤醒节点交换唤醒帧所需的时间,该时间小于约48 μs,而$T_{startup}$是FlexRay簇达到激活状态所需的时间,此时间根据FlexRay簇所使用的同步机制不同而有所差异。例如,若FlexRay簇采用TT-D同步机制(当FlexRay簇配置与第II.B.3节中提到的情况2相同时),则必须至少存在2个冷启动节点。此外,一旦启动节点与其他启动节点建立稳定通信,冷启动节点即终止启动过程。通常情况下,使用该机制时启动过程需要8个周期。相反,若FlexRay簇采用TT-L同步机制(当FlexRay簇配置与第II.B.3节中提到的情况1相同时),该FlexRay簇包含一个用于同步的本地主控。此外,在成功建立通信后经过6个周期即终止冷启动。因此,根据所采用的同步机制不同,启动过程需要6到8个周期。当通信周期长度设置为5毫秒时,启动所需时间大约为30到40毫秒。

802.1AS同步所需的时间取决于同步消息的周期。主节点至少需要发送两条同步消息和一条跟随消息,以计算偏移量和速率。本文未考虑BMCA选择算法所需的时间,因为在车载系统中,BMCA选择算法并非必需(车载电子控制单元和车载网络为静态配置,生命周期内不会发生变化)。因此,从节点同步所需的时间($T_{AS_Syn}$)可根据交换的PTP消息的配置文件确定,如公式(9)所示。

(9)

其中,$T_{Sync_interval}$ 表示同步消息的传输间隔,通常设置为1/8秒(0.125秒)。尽管主时钟的同步消息间隔越小,同步性能有所提升,但网络负载也随之增加。n是从节点成功与主节点同步期间交换的PTP报文集的数量。$T_{PTP_tx}$ 是同步消息和跟随消息从主端口传输到从端口的传输时间。$T_{PTP_tx}$ 由公式(10)确定。

(10)

其中,$T_{Sync_tx}$是从主端口到从端口传输同步消息所需的时间,对于100 Mbps速率发送64字节的同步消息,该时间约为5.12 μ秒。$T_{Follow_tx}$是从主端口到从端口传输跟随消息所需的时间,发送90字节的跟随消息大约需要7.2 μ秒。此外, $T_{Residence}$是当所有节点通过以太网交换机互连时,消息在以太网交换机内的驻留时间。因此,$T_{AS_Syn}$的持续时间至少为0.12501232秒,因为同步消息和跟随消息至少需要交换两组以完成偏移量和速率校正(n= 2)。

FlexRay簇中外部时钟同步所需的时间($T_{Extern_Sync}$)由以下公式(11)确定。

(11)

其中n是达到预定时间内收敛所需的重复FlexRay通信周期数(成功同步), $T_{cycle}$是预先定义的通信周期长度。外部时钟同步需要相对较多的通信周期,因为FlexRay同步的时间分辨率基于微滴答。这意味着FlexRay同步基于25纳秒的微滴级别,且由于外部校正值设置为0到7微滴答以维持稳定的FlexRay周期,因此每个周期对外部时钟同步而言每周期最多只能反映7微滴答。$T_{Extern_Sync}$值的显著变化取决于802.1AS全局时间与FlexRay时序之间的初始偏移量。此外,$T_{Extern_Sync}$可能因温度和各个控制器的不同而略有变化,并且还取决于外部时钟同步是否使用了完全校正(偏移量和速率)。

最后,异构网络同步所需的总时间由公式(12)确定。

(12)

然而,802.1AS同步过程和FlexRay簇的启动过程可以在网关内并行执行。这意味着这两个过程可以并行进行,因为FlexRay簇可以在PTP消息的传输间隔期间运行。由于这两个过程的并行性,$T_{FR_Syn}$ 的相对较短时间可以忽略不计。外部时钟同步应在网关系统时钟通过802.1AS主节点完成同步后进行,因为在初始802.1AS时间同步过程中剧烈偏移的时序导致FlexRay簇失稳。因此,异构网络同步所需的总时间由所需时间决定,用于802.1AS同步以及FlexRay簇的外部时钟校正所需的时间。此外,公式(12)可以涵盖第II.B.3节中提到的案例1和案例2。然而,对于案例3所需的时间,应考虑PTP消息在FlexRay网络上的传输时间,如公式(13)所示。

(13)

其中$T_{PTP_FR}$是在每64个周期中的第0周期内,通过FlexRay网络将PTP消息从网关传输到同步节点所需的时间。

b) 最坏情况同步误差

如果同步节点配置在FlexRay簇类似于情况1或情况2,最坏情况同步误差由802.1AS同步误差和FlexRay外部时钟同步误差之和决定,如公式(14)所示。

(14)

其中 $T_{AS_Sync_Err}$是通过以太网进行消息交换时两个从时钟之间的802.1AS同步误差。该值在使用软件时间戳记录PTP消息时间时应小于1 μs,在使用硬件时间戳时为ns。$T_{FR_Sync_Err}$是由802.1AS时钟与FlexRay时钟在一个FlexRay通信周期内的时钟漂移引起的外部FlexRay时钟同步误差。根据参考文献[14]和[31],当使用40 MHz晶体时,单个时钟周期的长度为25 ns,每个周期的时钟漂移为37.5 ps(将最大时钟频率偏差1500 ppm乘以25纳秒的微滴级别数得到)。FlexRay周期的长度取决于网络配置,16 μs和16毫秒分别为周期长度的下限和上限。由于网关将与802.1AS时钟同步,因此在最小周期时间内以太网时钟与FlexRay时钟之间会发生最大24 ns的漂移,或在最大周期时间内为 24 μs(通过将FlexRay周期中的微滴答数乘以每周期37.5 ps的时钟漂移获得)。通常,FlexRay配置的周期时间为5毫秒,这导致每个周期的最大节点漂移为7.5 μs。此外,FlexRay的时间戳分辨率基于25纳秒的微滴级别,不能更小,从而引起25纳秒[14]的额外抖动。因此, $T_{tot_Sync_Err}$ 最多可达到约8.5 μs。然而,由于实验环境的特性(如温度和所使用的通信控制器),该理论结果可能与实际测量结果有所不同。

与案例3类似,还应考虑FlexRay簇中的同步节点配置,该配置反映了通过FlexRay进行同步时的同步误差,其中使用了PTP消息($T_{FR_PTP_Err}$),如公式(15)所示。

(15)

根据参考文献[26],关于$T_{FR_PTP_Err}$的期望值小于10 μ秒,因为网关(FlexRay簇中的时钟主站)会发送PTP消息进行偏移校正,而同步节点(FlexRay簇中的时钟从站)仅在64个周期中的第0周期执行偏移校正。

V. 实验与结果

本节描述了实验结果。抖动是由通过802.1AS时钟主站同步的两个网关之间的系统时钟差异引起的,通过测量抖动来评估基于802.1AS的同步的同步性能。此外,在未进行异构网络同步的情况下,测量网关的端到-end处理时间以分析已产生的时钟漂移。在实施异构网络同步后,测量网关的处理时间以评估网关的异构网络同步性能。

A. 802.1AS‐同步性能

我们在以太网AVB网络上将两个网关系统作为从节点,测量它们之间的抖动,以评估802.1AS同步的性能。为了测量抖动,从时钟主节点同步的网关利用其自身的系统时钟每1秒翻转一次其输出端口的电平状态,并将输出端口连接到示波器。示波器检测两个输出端口的上升沿,并显示两个上升沿之间的时间差。该时间差即为抖动。此处测得的最大抖动为± 300 ns,图14显示了在两个网关系统之间测得的抖动。

B. 非同步下的时钟漂移测量

当以太网和FlexRay网络未同步时,可通过测量网关的以太网到FlexRay处理时间来观察由此引起的时钟漂移。我们进行了实验,仅使用网关的基于帧的路由。通过CANoe测量网关在基于帧的路由下的以太网到FlexRay处理时间,而处理时间则使用公式(16)确定。

(16)

其中 $T_{sFr}$是VN3600在FlexRay网络上接收到转换后消息的时间戳,$T_{sEtℎ}$是VN5610在以太网网络上接收到原始消息的时间戳。

根据所构建的实验环境(如图13和表I所示),通过网关将数据从以太网网络路由到FlexRay网络的演示,测量了网关的处理时间。网关1每10毫秒向网关2发送一条以太网消息,且网关1发送消息的传输周期抖动小于1 μs。网关2周期性地接收来自网关1的以太网消息,随后由网关2将该以太网消息转换为FlexRay消息,并根据FlexRay通信调度通过预定义时隙提前转发该FlexRay消息。

网关测得的以太网到FlexRay处理时间会根据时钟漂移从零到FlexRay周期长度不断变化。实验结果表明,FlexRay时钟比基于802.1AS与主时钟同步的网关系统时钟更慢。观察到的漂移情况如图15和图16所示。当同步节点使用TC275单片机时,观测到的漂移为每10毫秒1.89 μ秒(配置周期长度为1毫秒)和每10毫秒1.93 μ秒(配置周期长度为5毫秒)。而当同步节点使用MC9S12XF512时,测得的漂移为每10毫秒0.44 μ秒(配置周期长度为1毫秒)和每10毫秒0.42 μ秒(配置周期长度为5毫秒)。然而,这些结果可能因所使用的FlexRay控制器类型、温度变化、电压波动以及老化等因素而有所不同。虽然可以通过初始调整FlexRay配置参数(例如每周期微时钟数)来补偿漂移,但如果不采用异构网络同步,则无法完全消除漂移。

C. 带同步的时钟漂移测量

我们将异构网络同步机制应用于网络配置中的网关1(如图13所示),以验证时钟漂移已被消除,并评估FlexRay和以太网之间的同步性能。然后,在与之前实验相同的条件下,我们进行相同的实验,根据情况2和案例3来测量时钟漂移。实验结果表明,通过同步消除了时钟漂移,同时也反映了所提出的同步机制的同步性能。

1) 情况2的时钟漂移测量结果

异构网络同步后测得的网关以太网到FlexRay处理时间如图17所示。实验的网络配置与之前实验中所示相同。实验结果表明,通过应用异构网络同步,可以消除网关处理时间中的漂移。该处理时间还包括约585 μs的偏移量,该偏移量由固定偏移、可变偏移(参考时间为500 μs)以及消息复制时间组成。然而,结果显示出仍存在 2 μs的剩余抖动,其中大约包含1 μs的抖动,用于从网关1传输以太网消息。

2) 案例3中时钟漂移测量的结果

此外,我们实现了同步节点配置在FlexRay簇中进行同步。我们还针对案例3进行了额外的实验,以验证异构网络同步的适用性。该FlexRay簇被重建为总共三个同步节点(包括网关和两个额外的同步节点)以及两个非同步节点,这些同步节点通过网关提供的PTP消息在FlexRay网络上传输的全局时间实现同步。然后,每个同步节点使用异构网络同步机制将FlexRay时序同时校正为全局时序。FlexRay上的全局时间同步性能导致总时间为 5 μs。

图18显示了在异构网络同步后测得的网关以太网到FlexRay处理时间,其中漂移被完全消除,这与情况2的实验相似。处理时间还包括约585 μs的偏移量。然而,以太网到FlexRay处理时间中仍存在 6 μs的抖动,这比情况2大4 μs。


VI. 结论

未来的车载网络由于提供更强功能的电子控制单元数量增加,需要更高的网络带宽。以太网将在车辆中用于实现诊断、信息娱乐、多媒体和高级驾驶辅助系统功能,并因其固有优势将取代现有的低压差分信号(LVDS)或MOST。当以太网应用于车辆时,网关系统需要在异构网络中提供无缝通信。此外,多种通信协议共存的车载网络需要改进的网关系统,以满足转发数据的实时约束。因此,我们研究了以太网与FlexRay之间的数据传输及相应的异构网络同步机制,以消除因两个网络基准时间不同而引起的时钟漂移。通过嵌入式系统的实验,测量了网关内端到-end处理时间的偏差(由时钟漂移引起)。为了最小化端到-end处理时间的偏差,我们在网关中使用嵌入式系统实现了将FlexRay时序与802.1AS基准时序同步的机制。此外,我们利用实验环境验证了该同步机制,以消除异构网络之间的时钟漂移。该网关将在未来使用以太网骨干网络的汽车系统中发挥重要作用,以满足实时控制应用严格的QoS要求。如前所述,应用于异构网络同步的FlexRay网络设计在同步节点配置方面存在限制。因此,车载网络设计人员应根据自身需求谨慎选择同步节点配置。在未来的工作中,我们将研究对异构网络同步机制的优化,以进一步提高网关内的同步性能。


*免责声明:本文由作者原创或转发。如无意中侵犯了某方的知识产权,告之即删。以上图文来源于网络,如有侵权,请及时联系我们,我们将在24小时内删除。文章内容系作者个人观点,汽车以太网技术研究实验室转载仅为了传达一种不同的观点,不代表汽车以太网技术研究实验室对该观点赞同或支持,如果有任何异议,欢迎联系汽车以太网技术研究实验室。

原文链接:

https://blog.csdn.net/x8y9z0/article/details/152341092

【声明】内容源于网络
0
0
汽车以太网技术研究实验室
以客观、严谨的态度,讲解SOME/IP、AVB、TSN和SOA等相关知识。交流汽车以太网的最新资讯,包括网络、诊断、软件等。第一时间传递最新报道和深度解读。
内容 359
粉丝 0
汽车以太网技术研究实验室 以客观、严谨的态度,讲解SOME/IP、AVB、TSN和SOA等相关知识。交流汽车以太网的最新资讯,包括网络、诊断、软件等。第一时间传递最新报道和深度解读。
总阅读822
粉丝0
内容359