0731-84728105
15116127200
OpenTSN解决方案

一、 引言

    在工业自动化系统控制中,不同的厂商(shāng)在各自的细分(fēn)领域中有(yǒu)自己的通信标 准和协议,有(yǒu)些虽然是基于传统以太网实现,但其為(wèi)了支持自动化应用(yòng)对延时的 严格要求在传统以太网的基础上附加了一些其他(tā)技术和机制,从而导致各厂家的 协议互不兼容。因此面对不同厂家的产品在运行、错误诊断、维护和存储时都会 存在诸多(duō)不便。
    随着工业物(wù)联网(IIoT)的兴起和工业 4.0 的提出,目前越来越多(duō)的厂家开 始关注 TSN(Time Sensitive Networking,时间敏感网络)。TSN 為(wèi)以太网提供 确定性性能(néng),并可(kě)以满足不同的数据流在同一网络统一传输,从而可(kě)以满足工业 自动化严格的延时需求,并最终可(kě)以使的工业通信创建一个统一的基础成為(wèi)可(kě)能(néng)。
    SDN 架构的控制平面与数据平面分(fēn)离机制便于集中管控工业网络的资源,可(kě) 以灵活、合理(lǐ)的為(wèi)不同 QoS 需求的业務(wù)分(fēn)配不同的网络资源集,提高网络利用(yòng) 率。SDN 和 TSN 技术的结合可(kě)以提高网络利用(yòng)率的同时保证时间敏感流的实现 实时需求,并且可(kě)以实现集中式的网络控制、网络动态规划与调度,因此 SDN 和 TSN 相结合的方式可(kě)能(néng)会是未来工业网络的发展方向。

二、 TSN 解决方案

    TSN 协议包含了如 IEEE 802.1AS 时间步同协议、802.1Qbv 计划流量增强协 议、802.1Qci 流预留过滤协议以及 802.1Qcc 管理(lǐ)控制协议等。虽然成套的 TSN 协议还在继续扩展,功能(néng)不断改进,但现有(yǒu)标准提供了丰富的功能(néng)选择。OpenTSN 解决方案支持 802.1AS 协议、802.1Qbv 的 CQF 调度算法、802.1Qci 的流队列映 射其具體(tǐ)实现结构如图 1 所示。
图 1 TSN 整體(tǐ)实现结构图
图 1 TSN 整體(tǐ)实现结构图
    OpenTSN支持如下功能(néng):
  • 其可(kě)以通过配置设置為(wèi)交换设备/端设备,也可(kě)以通过配置选择是时钟同步的主或从;
  • 支持 802.1AS 1588 的时间同步;
  • 支持 CQF 的调度、基于令牌桶的资源预留的流量控制;
  • 支持设备端口时钟与主时钟的同步;
  • 支持分(fēn)组报文(wén)透明时间的计算;
OpenTSN 解决方案為(wèi) FPGA 实现,其中模块可(kě)以根据用(yòng)户的需求进行添加 或删除即可(kě)以实现用(yòng)户需求的迅速定制。

2.1 OpenTSN 时间同步解决方案

    如图 2 所示,OpenTSN 的时间同步解决方案是 FPGA 硬件实现的基于1588 的端到端的方式实现时间同步,同步精度可(kě)以达到 100ns 以内,其中:
  • DMAX 模块用(yòng)于判断接收的报文(wén)是否為(wèi) PTP 报文(wén);
  • Manage_Ctrl 模块配置该时钟作為(wèi)主时钟或从时钟;
  • PTP_Ctrl 模块接收控制信息,并按照控制信息进行相应的处理(lǐ);
  • Rx_proc 模块对接收的 PTP 报文(wén)进行解析,提取关键字;
  • Tx_proc 模块按照要求构造并发送 PTP 报文(wén);
  • Cyc_sync 模块维持时钟计数器,存储 T1、T2、T3、T4 时间值,并且完成时间偏移量的计算;
  • MAX模块用(yòng)于汇聚 PTP 的报文(wén)和 DMAX输出的报文(wén)进行控制转发;
图 1 TSN 时间同步实现方案
图 2 时间同步实现方案

2.2 OpenTSN透明传输时间计算解决方案

    OpenTSN 的透明传输时间(驻留时间)是通过在 PTP 报文(wén)输入时标记 时间戳,并在输出时根据输入时标记的时间戳与当前时间进行对比计算,从 而计算出 PTP 报文(wén)分(fēn)组从端口输入到端口输出的驻留时间,如图 3 所示。
图 3 透明传输时间计算解决方案
图 3 透明传输时间计算解决方案

2.3 OpenTSN 流映射及调度解决方案

    流的映射是根据分(fēn)组的 Vlan 头的 PCP 域进行队列映射,在 OpenTSN 的实现中,根据其分(fēn)组 PCP 值的不同将其映射為(wèi) 3 个不同的等级,即 7、6 优先级最高為(wèi) TSN 的时间敏感流,5-3 為(wèi)预约带宽流、2-0 為(wèi)尽力转发流, 如图 4 所示。
    在流分(fēn)组的处理(lǐ)时,首先是将分(fēn)组数据缓存到数据缓存内,将流分(fēn)组的 描述信息封装到 Metadata 内进行队列映射转发。在映射时 TSN 流是基于 CQF 的乒乓队列的形式进行输入控制,即在偶时间存入偶队列 Q2,奇时间 存入奇队列 Q3。在输出调度时偶时间调度奇队列的数据输出,奇时间调度 偶队列数据输出,根据输入时间以及调度时间的控制从而保证了数据分(fēn)组的 转发延时。资源预留分(fēn)组的输出是基于令牌桶算法实现,从而保证了资源预 留流的带宽要求。另外 3 类数据流均以严格优先级的方式进行输出调度,即 TSN 时间敏感流优先级最高,预约带宽流次之,尽力转发流最低。
图 4 流映射及调度解决方案
图 4 流映射及调度解决方案

2.4 SDN 与 TSN相结合的实现方案思考

    SDN 和 TSN 相结合的实现中,在原有(yǒu) UM 中通过插入报文(wén)解析和流 表查找模块实现,控制平面通过 OpenFlow 协议向数据平台下发流表配置。 硬件数据平面首先对输入的报文(wén)进行解析操作,并针对解析的结果提取查找 Key,流表查找模块则根据提取的Key值以及控制平面下面的规则进行匹配, 并输出匹配的查找结果。根据流表的配置规则目前支持的 Action 包括:端 口转发、丢弃、转发给 CPU、添加 Vlan 头等操作,实现结构图如图 5 所示。 输出控制中的端口调度实现基于 2.3 方案实现。
图 5 TSN 和 SDN 结合实现结构图
图 5 TSN 和 SDN 结合实现结构图
    Vlan 头的添加分(fēn)两种情况:
  1. 作為(wèi)端系统,此方案為(wèi)端系统时通过流的區(qū)分(fēn)以及 OpenFlow 对流表规则的配置确定流的优先级,从而实现根据不同优先级的流调度。
  2. 作為(wèi)交换,输入的时间敏感流的报文(wén)应已经携带 Vlan 头(在端添加, 通过规划可(kě)以提前了解其优先级以及转发路径),此功能(néng)只对资源预 留和尽力转发的流添加 Vlan 头,并进行转发处理(lǐ)。即对未进行 Vlan 头添加流报文(wén)添加 Vlan 头,已经添加则不进行处理(lǐ)。
下载该文(wén)档
服務(wù)热線(xiàn)