交换机的时间感知整形器的设计

2024-04-13 06:53丁辉丁涛杰耿琪
电子设计工程 2024年7期
关键词:状态机时隙数据流

丁辉,丁涛杰,耿琪

(中国电子科技集团公司第五十八研究所,江苏无锡 214035)

当前所有网络应用中,传统以太网仍然占据着主导地位,但它同时也存在着自身的缺陷。传统以太网采用“尽力而为”的数据传输方式决定了其不能提供确定的传输时延、网络带宽以及时延抖动[1]。尤其是对传输时延和抖动性能要求较高的音视频业务数据,“尽力而为”很可能导致数据传输的失真。目前以太网也应用于工业和汽车控制领域[2],对于工厂生产控制信号和汽车驾驶控制信号,如果不能保证它们的实时性和确定性,可能会导致非常严重的后果。虽然后续出现了多种网络标准体系来解决以上问题,如CAN[3]、EtherCAT[4]、PROFINET[5]等,但是由于这些标准体系互相闭塞,使得网络中的设备变得异常复杂。因此,急需一种统一的网络体系标准,时间敏感网络(Time-Sensitive Network,TSN)[6]标准由此产生。它是由IEEE802.1 工作组提出的[7],从之前的AVB(Audio Video Bridging)[8]标准发展而来。其采用了高精度时间同步、流量整形和调度、冗余等一系列关键协议标准,实现了数据传输的确定性和实时性。

1 时间感知整形器原理

TSN 主要包括三大关键技术:时间同步、流量调度以及配置管理[9]。时间同步是整个TSN 协议运行的前提,实现TSN 网络中各设备之间高精度的时钟同步[10]。流量调度是TSN 协议中的核心技术[11],保证了时间敏感流量的确定性和低延迟。配置管理通过获取用户对于TSN 网络带宽和时延等需求信息,智能地进行计算生成相应的配置信息,并将这些配置参数下发给网络中的TSN 设备[12]。

在传统的服务质量(Quality of Service,QoS)技术中,将网络中的流量划分为八个类别,不同的类别对应不同的优先级[13]。通过数据帧的802.1Q VLAN 标签中的PCP 字段标记帧的优先级。

TSN 网络中时间敏感类业务数据与其他非时间敏感类数据是在同一个通道中传输的。为了避免其他业务对时间敏感类业务的影响,IEEE802.1 工作组提出了IEEE802.1Qbv 协议[14],该协议中定义了时间感知整形器(Time-Aware Shaper,TAS),其是基于时分复用的原理,将交换机的输出端口传输时间轴划分成若干个互相独立的时隙,在每个传输时隙里,用户可以自定义各个队列的门控开关状态。基于这种调度机制,时间敏感流可以被单独置于特定的时隙中进行传输,从而避免受非时间敏感流的影响,保证了时间敏感流的确定性和实时性。

时间感知整形器的详细工作过程如图1 所示[15]。首先,交换机根据数据帧的优先级字段,将其分别映射到不同的输出队列中。然后从队列取出数据帧后,将会通过传输选择算法进行决策传输,通常使用的传输算法包括:严格优先级算法SP、基于信用整形器CBS 等。最后,在TAS中,每个队列将会与一个传输门相关联,传输门的开关状态决定了该队列是否允许被传输[16]。

图1 时间感知整形器工作过程

TAS 调度机制的核心在于门控列表(GCL)技术,GCL 存储了各个时间段端口的各队列的门控开关状态,端口按固定周期时间从队列中取出数据帧进行传输,GCL 将每个周期分成若干个时隙(t0、t1、t2…),在每个时隙中可以配置八个队列的门控开关状态,状态值为“1”表示传输门打开,状态值为“0”表示传输门关闭。此外,GCL 中还包括了各个时隙的时间长度,这更增加了TAS 的配置灵活性。

2 时间感知整形器设计

2.1 TSN交换机软硬件架构

目前可选择的TSN 芯片较少,基于芯片性能和成本考虑,选用NXP(恩智浦)的LS1028A TSN 专用芯片。LS1028A集成有两片64位的ARM Cortex v8处理器和专用的4 口TSN 交换芯片。其硬件支持TSN 的主要协议,如802.1AS、802.1Qav、802.1Qbv、802.1Qbu、802.1Qci、802.1CB 等。

文中设计的TSN 交换机的硬件系统架构如图2所示。该交换机大致结构与普通交换机类似,分为交换模块、MCU 控制模块、PHY 模块和外围电路等模块。

图2 TSN交换机硬件系统架构

TSN 交换机的软件系统选用开放式工业Linux系统(OpenIL),因为TSN 的特性就是实时性强,而OpenIL 是针对工业领域开发的专业Linux 版本,扩展了实时性的操作系统,并且支持工业自动化OEM 的Time-Sensitive 网络(包括流过滤监管、分时拥塞感知整形和802.1AS 时间同步等)。软件系统的总体框图如图3 所示。

图3 OpenIL软件系统架构

2.2 TAS算法

TAS 算法主要由三个状态机模块组成,即循环定时状态机、列表配置状态机和列表执行状态机,如图4 所示。列表配置状态机主要作用是更新当前的门控列表内容;循环定时状态机根据与门控列表相关的时间参数(如OperBaseTime、OperCycleTime 等)来产生门控列表启动信号;列表执行状态机则是按顺序执行门控列表中的门操作,并在每个操作之间插入适当的时间延迟。

图4 TAS算法状态机

TAS 算法的具体工作流程如图5 所示。列表配置状态机接收到列表配置更新信号后,开始对门控列表的表项内容和门控列表的相关参数进行更新,包括门控列表长度、门控循环周期等。当列表配置状态机完成对门控列表的更新后,会给循环定时状态机发送一条门控列表配置完成等待执行的信号。循环定时状态机收到列表配置状态机发送的配置完成信号后,会根据门控列表循环周期和当前时间判断门控列表是否需要开始执行。如果需要开始执行,则会向列表执行状态机发送一条门控列表执行启动信号。列表执行状态机监测到门控列表执行的启动信号后,会从列表配置状态机中读取门控列表的具体内容,依次执行门控列表中的各表项。

图5 TAS算法工作流程

3 测试验证

3.1 验证设计

使用单台TSN 交换机和三台PC 机进行组网测试验证,实验拓扑如图6 所示。PC1 和PC2 分别向PC3 发送不同优先级的数据帧,通过在交换机的PORT3 端口上配置TAS 功能来测试验证时间感知整形器机理。

图6 时间感知整形器实验拓扑图

PC1和PC2所发送数据帧中的VLAN标签信息如表1 所示。PC1 发送的数据帧VLAN ID=100,PCP=3;PC2发送的数据帧VLAN ID=200,PCP=2;PC1模拟发送高优先级数据流,PC2 模拟发送低优先级数据流。

表1 报文的VLAN标签信息

3.1.1 门控开关测试

传输门开关测试主要是测试验证交换机端口各队列的传输门开闭是否可控。在测试中,首先要使能交换机的TAS 功能,包括全局使能和端口使能。然后配置TAS 的门控列表参数,门控列表中只配置一条表项,即关闭全部队列或打开全部队列的传输门。通过观察经过交换机端口的所有优先级流量是否全部中断或者全部通过,来验证传输门开关功能的生效与否。

3.1.2 门控列表调度测试

该项测试主要是为了验证TAS 是否能够按照预先配置好的门控列表,精准地控制各队列的传输门开关状态的变化和维持时长。测试时,PC1 和PC2会同时向PC3 发送满带宽的流量,PC1 发送的流量模拟了高优先级的时间敏感类业务流,PC2 发送的流量模拟低优先级的非时间敏感类业务流。

3.1.3 应用场景测试

在实际应用中,TAS 的主要作用是保证网络中的关键业务数据的确定性传输。目前在汽车电子领域,各汽车主机厂商根据自身的设计理念将车载以太网划分成多个不同的功能域[7],主要包括:自动驾驶域、动力总成域、底盘及安全域、智能座舱域和车身控制域等。这些不同的功能域会通过内部TSN 交换机进行互联,从而组成车内的TSN 骨干网络。以自动驾驶域和智能座舱域为例,来验证所设计的时间感知整形器流量调度机制在车载TSN 网络应用场景中的可行性。实验拓扑图如图7 所示。

图7 车载TSN应用场景实验拓扑图

该应用场景测试组网中,各设备模拟的消息类型以及所发送的数据报文优先级如表2 所示。高清摄像头和显示器模拟了自动驾驶域中的音视频数据流,对应的优先级为2,网络测试仪用来模拟智能座舱域中产生的大流量背景流,对应的优先级为3。通过配置TAS 的门控列表功能,将关键业务流(即高清摄像头数据流)放在隔离的时间片中传输,如果高清摄像头所采集的音视频信号能在显示屏上正常播放不受背景流影响,则说明TAS 的流量调度机制实现了对于关键业务数据的确定性保障。

表2 应用场景中消息的优先级

3.2 结果分析

考虑到PC 机的发流速率受限,在图6 时间感知整形器实验拓扑图中,可以将交换机与PC3相连的以太网口(即PORT3 端口)速率强制设置为100 Mbit/s带宽。PC1和PC2分别向PC3发送带宽速率为60 Mbps的数据流。

3.2.1 严格优先级调度

交换机在未使能TAS前,默认采用的是严格优先级流量调度机制。PC1 和PC2 同时向PC3 发送60 Mbps 带宽的数据流,图8 为此时交换机端口的实时带宽分配情况。可以看出由于PC1 发送的数据流优先级较高,PC2 发送的数据流优先级较低,当两个队列的报文同时到达交换机出端口时,交换机优先保证高优先级队列的传输。所以,PC1 发送给PC3的60 Mbps 数据流经过交换机转发后被允许全部通过,而PC2 发送给PC3 的60 Mbit/s 数据流经过交换机后仅通过了40 Mbit/s。这也说明了严格优先级调度不能保障低优先级数据的传输质量。

图8 严格优先级调度带宽分配

3.2.2 门控开关测试

如表3 所示,TAS 的门控列表中只配置一个表项,八个队列的门控状态全部设置为0,即关闭队列的传输门。

表3 门控开关测试项的门控列表配置

测试结果如图9 所示,可以看到在开启TAS 功能,并且配置八个队列的门控开关状态全部为0(即关闭状态)后,PC1 和PC2 发送给PC3 的数据流都被完全阻塞了,实现了对于传输门的关闭操作。再重新修改门控列表的配置,将八个队列的门控开关全部设置为1,即打开所有的队列传输门。此时PC1 和PC2 发送的数据流均能通过传输门同时到达出端口,交换机再次根据严格优先级算法进行流量调度,最终,PC1 发出的数据流通过速率为60 Mbit/s,PC2发出的数据流通过速率为40 Mbit/s。

图9 传输门开闭时流量传输情况

3.2.3 门控列表调度测试

依照表4 配置门控列表信息,共创建两条表项,在时隙1 中仅打开队列3 的传输门开关,时隙长度为40 000 ns,在时隙2 中仅打开队列2 的传输门开关,时隙长度为60 000 ns,因此门控列表的循环周期总时长即为100 000 ns。

表4 门控列表调度测试项的门控列表配置

图10 显示了同时发送流量到PC3 时PC1 和PC2所分配到的带宽情况,可以看出,PC1 约分配到了40%的带宽,而PC2 约分配到了60%的带宽,因此证明该调度器可以实现将不同优先级的流量分配到相应的传输时隙。另外,从图中也能看出PC1 和PC2所分配到的带宽处于相对稳定状态,因此可以实现周期性的数据传输和调度。

图10 门控列表配置后带宽分配

3.2.4 应用场景测试

如3.1.3 节所述,在车载TSN 的应用场景中,由于背景流量的优先级高于高清视频流,所以在没有开启TAS 功能之前,大流量的背景流与音视频流同时传输时,音视频会出现卡顿现象,无法保证自动驾驶域中关键数据流的实时性和确定性。当采用了时间感知整形器调度机制,将关键的音视频数据流单独放置于一个时隙中进行传输,使其不受大背景流的影响,并且通过配置门控列表中的参数,保证音视频流的带宽要求。测试结果显示音视频流可以正常播放,不会出现卡顿现象。

4 结束语

TSN 是工业互联网未来发展的重要方向,具有广阔的应用前景,而流量调度机制则是TSN 的关键核心技术。文中介绍了IEEE802.1Qbv 标准中的时间感知整形器的工作原理,并提出了一种TSN 交换机的时间感知整形器调度机制的设计,在自研TSN交换机上进行了实际的组网测试验证。测试结果表明,可以实现时间感知整形器的功能,也能满足时间敏感业务流对于确定性传输的要求。

猜你喜欢
状态机时隙数据流
汽车维修数据流基础(下)
基于有限状态机的交会对接飞行任务规划方法
复用段单节点失效造成业务时隙错连处理
一种提高TCP与UDP数据流公平性的拥塞控制机制
一种高速通信系统动态时隙分配设计
时隙宽度约束下网络零售配送时隙定价研究
基于数据流聚类的多目标跟踪算法
北医三院 数据流疏通就诊量
基于TDMA的无冲突动态时隙分配算法
FPGA设计中状态机安全性研究