戳上面的蓝字关注我们哦!
全文约3200字,阅读预计需要11分钟
汽车控制数据可以分为三种,Scheduled Traffic、Reserved Traffic以及Best-effort Traffic,他们对于延迟的要求越来越低。
1
Scheduled Traffic: 如底盘控制数据,必须按照严格的时间要求送达,这类数据延迟一般要求不超过5毫秒,最好是2.5毫秒或1毫秒。
2
Reserved Traffic: 预留数据,这类数据延迟可以根据需要适当放宽。
3
Best-effort Traffic: 只需要尽力而为的传输,例如娱乐系统数据,对于延迟要求最低,
TSN通过定义不同的数据调度及流量整形,优化上述三种类型数据在网络中的传输过程,将数据流的时延限定在一定范围内,以此来保证不同类型数据流对的传输延迟的不同要求。并且最重要的一点,必须确保无丢帧风险的可靠传输。流量整形(“IEEE 802.1Q-服务质量”部分)可解决此需求。流量整形定义了网桥根据帧的优先级对帧进行处理的策略。流量整形有几种标准,例如:
IEEE 802.1Qav:时间敏感流的转发和排队增强功能(FQTSS),有时称为“基于信用值的整形器”(CBS)。
IEEE 802.1Qbv:调度流量的增强功能,通常称为“时间感知整形器”(TAS TIME AWARE SHAPPER)
IEEE 802.1Qch:循环排队和转发
IEEE 802.1Qcr:异步流量整形
本篇文章主要就IEEE 802.1Qbv协议展开讨论,参考的协议标准是Avnu Alliance Test Plan for 802.1Qbv Traffic Scheduling and Shaping with Watermark以及IEEE Std 802.1Qbv™-2015。全文会通过以下3部分内容来进行分析讨论:
IEEE 802.1Qbv协议概述
IEEE 802.1Qbv测试拓扑以及重要参数理解
IEEE 802.1Qbv测试方法
正如前文所提到的,为了解决数据包发送的确定性和低时延的问题,IEEE 802.1Qbv引入了时间感知调度机制。Qbv定义了时间感知整形器(TAS,Time-Aware Shaper)。TAS使以太网被标识并指派给基于优先级的VLAN Tag,每个队列在一个时间表中定义,然后这些数据队列报文在预定时间窗口在出口执行传输,同时,其它队列将被锁定在规定时间窗口里。
这一机制允许网络设备根据预先定义的时间表对数据包进行排队和传输,从而确保实时数据包在网络中的传输受到严格的时间约束。
为了确保网络中各个节点的时钟同步,IEEE 802.1Qbv还依赖于时间同步协议,如IEEE 1588 Precision Time Protocol(PTP)。这一协议能够确保所有设备在同一个时间基准上进行调度,从而消除由于时钟偏差导致的传输延迟和时序问题。通过与PTP等时间同步协议的配合使用,IEEE 802.1Qbv能够提供更加精确和可靠的时间感知调度功能。
TAS避免了周期性数据被非周期性数据所影响,使得每个交换机的延迟是确定的,因此,在TSN网络的数据报文延时被得到保障。
具体而言,IEEE 802.1Qbv通过引入时隙机制,将网络带宽划分为固定长度的时隙,并为不同类型的流量分配不同的时隙。这样,网络管理员就可以根据应用程序的要求,为实时流量分配足够的带宽和优先级,从而满足对延迟和时序性的高要求。
IEEE 802.1Qbv定义了通过调度算法启用或禁用帧传输的门,这个门有“开”、“关”两个状态。
TSN交换机将以太网通信的时间轴划分为相同或不同的时间周期(Cycle Time)。这些周期又被切分成很多时隙TS1、TS2、TS3……(Time Slot),在每个时隙中,数据通过被赋予不同的Vlan优先级实现针对不同Priority的数据开门或者关门的操作。
由于此操作,时间敏感流可以拥有专用时隙,从而确保此流量在传统以太网网络上的确定性传输。另一方面,预留流量和best-effort流被容纳在每个周期的剩余时隙中。预留流量保证有专用带宽,而best-effort流可以使用剩余的带宽。通过Time Aware Shaper为优先级较高的时间敏感型关键数据分配特定的Time Slot,由于TAS的运行基于不同的时间时隙发送不同类型的流量,因此所有网络设备必须在纳秒级范围内同步。
图1
测试拓扑:
图2:TTworkbench (Talker)—DUT—TTworkbench(Listener)
针对IEEE 802.1Qbv的测试,选取我司TTworkbench产品作为测试仪表,测试由TTworkbench一个端口作为Talker发送相应数据包,经过TSN交换机的门控队列后,抵达TTworkbench的Listener端口,用以验证被测设备的门控时隙的准确性以及可靠性。
根据Avnu Alliance Test Plan for 802.1Qbv Traffic Scheduling and Shaping with Watermark定义,由于TSN交换机将以太网通信的时间轴划分为相同或不同的时间周期(Cycle Time)。因此在测试伊始,Talker、DUT以及Listener三者需要进行时钟同步,同步三者的基准时间(BaseTime)以及当前时间(Current Time)。同时需要确定时间周期(Cycle Time)、时隙(Time Slot)以及开门规则。
图3
根据上图所示,Talker、DUT、Listener 都有自己的时间轴。Base time是固定值,这个固定值可以在过去,也可以在未来。图3这里配置三者的基准时间Base Time为1970-1-1 0:0:0,这样配置的优势是方便所有的TSN网元中的节点都支持配置这个数学参考点,方便所有设备进行时间对齐。
当前时间Current Time是随着时间的流逝同步滚动的。TSN交换机(DUT)上面需要配置门控列表,这个时间的逻辑起点就是BaseTime。
而从周期起始时间CycleStartTime开始,TSN交换机(DUT)才开始真正开始工作,在这之前都处于数学计算的状态。
图4
由于我们配置的基准时间Base Time为1970-1-1 0:0:0,根据协议规定,这里基准时间BaseTime < 当前时间CurrentTime,符合上图中b的条件。因此周期起始时间CycleStartTime为BaseTime+N倍的CycleTime。这里N的取值为满足CycleStartTime大于等于当前时间CurrentTime的最小整数值。
在上一章节中,我们已经完成了关键参数的确认:Talker、DUT、Listener的起始时间BaseTime、周期CycleTime、时隙Time Slot、起始周期CycleStartTime的同步、完成了对不同优先级数据包门控的规则配置,这样就具备了测试IEEE 802.1Qbv的所有条件。
可以根据协议规范来验证TSN DUT的相关行为,以下图为例:
图5
Talker、DUT以及Listener都已经完成了时钟同步,完成了BaseTime、CycleTime、TS(Time Slot)的统一,完成了CycleStartTime的数学计算,从逻辑的角度来说,三者的时间轴、时隙应该都是完全同步且统一的。此时由Talker发送相应优先级的数据,该数据根据DUT的门控配置转发到Listener GM,Listener即可根据本地的逻辑计算节点对比收包真实节点来验证DUT的CycleTime、TS(Time Slot)的时间精度以及门控的准确性。
PS:这里需要配置Listener为主时钟用以获得更高的精度。
图6
以TTworkbench的qbv测试套件为例,Talker会发送多个测试数据包。以上图为例,Talker发送的第一个蓝色数据包命中DUT的开门窗口,这个数据包穿过门控抵达Listener,而此时Listener是无法根据收到该数据包的时间节点来判定开门时隙的精准度的。因为该数据包抵达Listener的抵达时间无论是提前一些还是错后一些都不能确定是Talker还是DUT造成的,因此并没有参考意义。
但是TTworkbench的qbv套件会设计在接下来的CLOSE门控时间来发送第二个数据包。由于TSN交换机(DUT)的队列是有缓存的,因此Listener GM会在下一个周期开门后马上收到这个数据包。这个收包的时间节点就具有了相当的意义。
如果DUT的开门准确,ΔT的时间约等于线路时延(百纳秒级别)。对于Listener来说,如果时间过大,则可以判断DUT交换机门控不够准确。
以上就是本文的全部内容,后续还会为您带来更多关于IEEE Qbv的用例分析,协议理解等内容,欢迎您持续关注思博伦技术中心微信公众号。
参考协议文档:
Avnu Alliance Test Plan for 802.1Qbv Traffic Scheduling and Shaping with Watermark
IEEE Std 802.1Qbv™-2015
关键词:TSN 车载以太网 IEEE 802.1Qbv TTworkbench TAS 时间敏感网络 Traffic Scheduling and Shaping ECU Automobile
推荐阅读:
联系我们:
思博伦官方网站: www.spirent.cn
技术中心热线:400-810-9529
支持邮箱:support@spirent.com
售后网站:support.spirent.com
版权归思博伦通信科技(北京)有限公司所有,思博伦技术中心(SpirentServices)原创发布,转载请联系授权。
长按识别二维码,关注思博伦技术中心