虚拟化环境中的时间敏感网络TSN

描述

1. 汽车网络的演进

那么,为什么会有如此强烈的趋势将以太网用于车载通信呢?

当今的汽车网络已经对传感器和电子控制单元 (ECU) 之间的数据传输具有很高的带宽需求。例如,摄像头数据、激光雷达传感器以及用于信息娱乐的音频/视频流都需要高吞吐量。在未来的汽车中,将会有更多的传感器和摄像头。此外,针对集中式区域基础架构的设计发生了变化,这将减少物理 ECU 的数量并导致布线优化,这是一个很大的好处,尤其是在涉及高速数据传输的情况下。以太网已经无处不在。多年来,我们一直在家庭或办公室环境中使用它。它经过 40 多年的应用实践证明。以太网拥有完善的生态系统,大多数操作系统都提供支持它的网络堆栈。以太网提供从 10Mbit/s 到 400GBit/s 的速度等级,并且独立于物理层。这意味着,有不同的布线选项可用于汽车用例,例如光纤或单双绞线铜线,例如 100BASE-T1 或 1000BASE-T1。那么,成为下一代汽车网络通信标准的理想条件是什么?

我们需要小心,汽车以太网与 IT 或家庭中使用的以太网网络不同。例如,必须在短时间内处理来自 LiDAR 传感器的数据传输。这个时间需要是确定性的,否则无法保证安全运行。有关汽车应用的一些时序要求,请参见表 1。

图像

以太网

表 1:时间约束示例

2. TSN - 时间敏感网络

最初在 IEEE 802 中定义的以太网不提供任何实时功能。时间敏感网络 (TSN) 是 IEEE 802.1 工作组维护的一组标准,它扩展了以太网的实时通信能力。TSN 需要完成三个主要任务:时间同步、流量调度和配置,如图 1 所示。时间敏感网络中最重要的一步是将每个网络参与者的时钟同步到最精确的可用源。TSN 使用通用精确时间协议 (gPTP) 来完成此任务。为了满足特定的延迟或保证数据流的特定优先级,TSN 包含了几个标准,这些标准定义了如何实现不同类型的流量调度。此外,该标准还支持通过流预留协议 (SRP) 等高级协议交换配置属性。看看表2选择与 TSN 相关的重要标准。整套 TSN 标准确保了具有实时需求的流量的定义延迟。第 2.2 节将提供其中一些的逐项概述。总之,可计算的延迟、带宽分配、整形和排队算法,包括帧抢占,正在为依赖它的服务在现有以太网网络中建立确定性。由于排队算法、缓冲区要求和最坏情况延迟在数学上是可预测的,因此 TSN 非常适合与安全相关的应用。

以太网

表 2:重要 TSN 标准的选择

2.1 TSN 配置

如何配置支持 TSN 的硬件是高度特定于应用程序的。例如,为了在瑞萨车载计算机 3 (VC3) 上配置 RSwitch2,选择了基于 XML 的方法。基于 Linux 的操作系统提供自己的接口,例如 Qdisc(队列规则)。但是可能有不同的方法可用,具体取决于应用程序的需要。对于配置接口本身,底层硬件通常不需要特殊支持,最常见的是将输入转换为硬件接受的数据格式的软件。在虚拟化的情况下,管理程序需要在客户操作系统可以配置的功能和为特权系统级别保留的功能之间创建一个清晰的屏障。资源分配协议或 802.1Qcw – YANG 数据模型,用于计划流量、帧抢占以及每流过滤和监管。正如上面已经提到的,实现这些标准应该是一个独立于硬件的软件,因此远远超出了本文的范围。

2.2 TSN流量调度

TSN 流量整形算法使实时流量与常规尽力而为的流量在一个以太网内共存。低延迟和确定性保证了时间关键的通信。这意味着,安全相关组件可以集成到启用 TSN 的以太网中。TSN 中有多种标准可用于确保具有实时需求的流量的定义延迟。

802.1Qav 中指定的 Credit Base Shaper (CBS) 机制处理多个网络队列的优先级。它根据优先级为每个队列分配信用额度。当前信用在将帧添加到队列时增加,在发送帧时减少。如果一个队列的信用为负,则不再发送帧,并安排另一个队列。此外,还考虑了基于最大帧大小和端口传输速率的限制。

另一种调度技术在 IEEE 802.1Qbv 中被指定为时间感知整形器 (TAS)。它在调度的时间关键流量之前实施保护带。如果在流量窗口关闭之前无法完成传输,这可以防止传输低优先级流量。此外,它提供了一种抢占机制,能够在交易过程中停止帧传输。在这种情况下,执行具有更高优先级的另一个帧的传输。完成后,可以继续原来的传输。该机制在 IEEE Std 802.1Qbu 和 IEEE 802.3br 中有描述。这只是 TSN 标准集提供的最重要解决方案的摘录。流量调度由支持 TSN 的硬件辅助,例如 Renesas RSwitch2、正如我们刚刚概述的那样,它允许多达 8 个不同的优先级和几种仲裁算法。以下列表概述了 RSwitch2 硬件最重要的流量调度功能

转发和排队 (IEEE802.1Qav)

帧抢占(IEEE 802.1Qbu + IEEE 802.3br)

调度流量的增强 (IEEE 802.1Qbv)

按流过滤、计量和监管 (IEEE 802.1Qci)

多种 QoS 机制(优先级控制、资源管理……)

2.3 TSN时间同步

时间敏感应用的 TSN 标准 IEEE 802.1AS定时和同步

定义了通用精确时间协议 (gPTP)。该协议同步所有 TSN 参与者之间的时间,并选择最好的主节点,称为大师。同步机制通过在同步和延迟请求消息中交换时间来计算一个主机和从机之间的传输时间。图 2显示了两种可能的方法。Master和Slave之间的时间差可以通过以下方式计算:

t S – t M = T S1 - T M1 – T延迟

以太网

图像

以太网

图 2:时间同步方法

然后可以通过往返时间计算延迟:

T延迟= (TM 延迟 + TS 延迟) / 2

T延迟= (T S1 - T M1 + T M2 - T S2 ) / 2

以太网

图 3:帧时间戳的准确性通用精确时间协议需要精确的传输时间戳才能准确工作。时间戳可以在传输过程中涉及的几个层之一进行,但只有硬件辅助解决方案才能达到所需的精度。图 3显示了不同方法所达到的准确度的近似值。

Renesas RSwitch2 带有一个相关的 PTP 硬件时钟。这个时钟要么是主时钟,要么是通过 PTP 软件堆栈同步到外部主时钟。在传输时,RSwitch2 的 MAC 部分直接从这个高精度硬件时钟中捕获时间,并将时间戳添加到传输帧中。此外,软件层可以通过通用寄存器访问方法访问相同的硬件时钟,以将这种精确的同步时钟提供给系统的其他组件。典型的应用是系统时钟的同步和同步音频/视频流的正确显示时间的获取,因为它可以通过音频/视频传输协议 (AVTP) 实现。请参阅图 4以了解 RSwitch2 硬件时间戳设计的概述。

以太网

图 4:RSwitch2 硬件时间戳

因此,这里已经表明,TSN 的不同标准确实为将实时敏感应用带入以太网世界做好了准备。但是,向区域基础架构迈进如何,这将减少物理 ECU 的数量?我们想展示一种方法,TSN 如何在一个 SoC 内的虚拟化、多域设置中工作。

3. 演示设置

在我们的演示设置中,我们希望在一个系统级芯片产品上展示多个 ECU 的聚合。不管这种聚合如何,现在集成的每个 ECU 都应具有 TSN 功能,就像具有 TSN 网络接口的物理 ECU 一样。图 5说明了这种集成。为简化起见,此演示器设置仅使用两个操作系统域。它与博文《网络的艺术(系列 3):虚拟化的力量》中展示的设置密切相关。有关 XEN 管理程序设置和不同来宾操作系统之间共享队列的详细说明,请参阅本文。在这里,将展示如何在来宾操作系统中启用 TSN 功能。

以太网

图 5:ECU 整合旨在从单功能 ECU 方法(左)转向多功能 ECU(右)

3.1 硬件布置

这种方法中使用的硬件是车载计算机 3 板 (VC3),配备了 Renesas R-Car H3 SoC 和 TSN 以太网交换机 (R-Switch2)。以太网交换机在通过 PCIe 连接到 R-Car 的 FPGA 上实现。VC3 是领先技术的演示平台。当然,任何其他集成了 RSwitch2 开关的产品,例如 R-Car S4,都提供了同样出色的功能。对于时钟同步,使用配备有 TSN 网络接口卡的外部 PC。在所示场景中,这台 PC 是 PTP 大师,VC3 将其 PTP 硬件时钟与其同步。PTP for Linux (PTP4L) 是用于通过 gPTP 实现时间同步的软件堆栈。

每个对 RSwitch2 没有直接硬件访问权限的函数通过虚拟化网络接口交换其网络数据,该接口将 RSwitch2 IP 的专用硬件队列公开给该域。因此,来自任何虚拟机的以太网帧都可以通过 RSwitch2 IP 以相同的方式添加时间戳,例如具有物理访问权限的域。如前所述,多个操作系统之间的网络队列共享在之前的博文中有详细描述。

3.2 软件安排

对于软件设置,选择 Xen v4.14 作为管理程序。Xen(也称为域)上运行着两个客户操作系统:

dom0:一个特权域,可以直接访问大多数 R-Car 外围设备、RSwitch2 IP、PTP 硬件时钟 (PHC)。此外,PTP for Linux (PTP4L) 软件堆栈也在此域中运行。它将 PTP 与外部大师同步。

domU:无特权的域,不能直接访问任何特定的硬件设备。但是,domU 可以访问两个 RSwitch2 队列(一个 RX 和一个 TX),它们当然支持硬件时间戳功能。它还可以通过 PTP 时钟驱动程序以只读方式访问 PTP 硬件时钟 (PHC),该驱动程序使用 Xen IO 环从 dom0 中的 PTP 驱动程序获取时间。domU 中的这个虚拟化驱动程序创建的时钟抽象进一步称为虚拟 PTP 硬件时钟 (vPHC)。

整个设置如图 6 所示。这两个域作为多功能 ECU 集成功能的示例。在这两个领域中,使用所提供的 (v)PHC 的示例应用程序是chrony,这是一种将系统与外部时间源同步的软件。在我们的例子中,chrony将域的系统时钟与 (v)PHC 同步。由于两个系统定时器都基于相同的 Arm® 硬件系统计数器,因此 PHC 与相应系统定时器的偏差表明了这种安排可以实现的质量。由于 domU 仅限于 PHC 的只读访问,因此它无法调整此时钟。这意味着 dom0 和 domU 共享相同的时钟域。当然,如果只授予对 PHC 的访问权限,时钟同步可以从 dom0 移动到任何其他域。如果需要更多时域,R-Car S4 等实现提供了两个独立的 PHC,可以分配给不同的域。

以太网

图 6:使用虚拟化 PTP 硬件时钟进行设置

4. 时钟偏差的测量

计时码表应用程序可以测量 PHC 和系统定时器之间的偏差。由于两个域的系统计时器都从同一个硬件系统计数器延迟,并且两个 PHC 都从同一个物理硬件时钟延迟,我们可以从我们得到的偏差值推导出我们实现的质量。图 7 显示了一段时间内的偏差。每秒测量一个样品。在 domU 中,虚拟化系统时钟和 vPHC 之间可以观察到的最大偏差要高得多。这是可以解释的,因为有更多的系统服务和硬件驱动程序在 Dom0 中运行,这可能会延迟 domU 的调度一个简短但可测量的时间。尽管 domU 的抖动通常较高,但由于依赖于相同的硬件计数器,两个时钟的漂移显示出相似性,正如预期的那样。当然,为了进行精确分析,需要对更多样本进行长期评估,以详细分析漂移行为。除此之外,在实际场景中,应该监控整个系统负载对抖动的影响。

总而言之,虚拟化环境内的总偏差在典型传感器应用或 A/V 流的限制范围内是完全安全的,如表 1 开头所示。

以太网

图 7:系统时钟与 (v)PHC 的偏差

4.1 结论

我们已经展示了如何在提供 RSwitch2 交换引擎的瑞萨平台上方便地为虚拟化域提供 TSN 功能。由于 RSwitch2 的队列可以由虚拟化域通过管理程序直接处理,因此这些域可以立即使用硬件时间戳。我们阐述了在多个域以相当好的质量共享相同时基的情况下,管理程序抽象如何提供对 PHC 的只读访问。此外,R-Car S4 等瑞萨电子 SoC 提供了一个额外的 PHC,可由一个域专门使用。借助 Renesas R-Car S4 SoC 等解决方案,将外部设备连接到汽车以太网交换机是完全可能的,但虚拟化过去需要专用微处理器的功能 (ECU) 甚至是可行的。得益于RSwitch2提供的完全集成和强大的交换技术,每个具有实时需求的虚拟化功能都可以通过TSN以太网进行通信。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分