欢迎光临专业集成电路测试网~~欢迎加入IC测试QQ群:111938408

专业IC测试网

当前位置: 网站主页 > 相关技术 >

FPGA开源项目-OpenTSN解决方案

时间:2023-11-13 19:37来源: 一个人一支队伍 作者:ictest8_edit 点击:

 

一、 引言
    在工业自动化系统控制中,不同的厂商在各自的细分领域中有自己的通信标 准和协议,有些虽然是基于传统以太网实现,但其为了支持自动化应用对延时的 严格要求在传统以太网的基础上附加了一些其他技术和机制,从而导致各厂家的 协议互不兼容。因此面对不同厂家的产品在运行、错误诊断、维护和存储时都会 存在诸多不便。
    随着工业物联网(IIoT)的兴起和工业 4.0 的提出,目前越来越多的厂家开 始关注 TSN(Time Sensitive Networking,时间敏感网络)。TSN 为以太网提供 确定性性能,并可以满足不同的数据流在同一网络统一传输,从而可以满足工业 自动化严格的延时需求,并最终可以使的工业通信创建一个统一的基础成为可能。
    SDN 架构的控制平面与数据平面分离机制便于集中管控工业网络的资源,可 以灵活、合理的为不同 QoS 需求的业务分配不同的网络资源集,提高网络利用 率。SDN 和 TSN 技术的结合可以提高网络利用率的同时保证时间敏感流的实现 实时需求,并且可以实现集中式的网络控制、网络动态规划与调度,因此 SDN 和 TSN 相结合的方式可能会是未来工业网络的发展方向。
二、 TSN 解决方案
    TSN 协议包含了如 IEEE 802.1AS 时间步同协议、802.1Qbv 计划流量增强协 议、802.1Qci 流预留过滤协议以及 802.1Qcc 管理控制协议等。虽然成套的 TSN 协议还在继续扩展,功能不断改进,但现有标准提供了丰富的功能选择。OpenTSN 解决方案支持 802.1AS 协议、802.1Qbv 的 CQF 调度算法、802.1Qci 的流队列映 射其具体实现结构如图 1 所示。
 
    OpenTSN支持如下功能:
其可以通过配置设置为交换设备/端设备,也可以通过配置选择是时钟同步的主或从;
支持 802.1AS 1588 的时间同步;
支持 CQF 的调度、基于令牌桶的资源预留的流量控制;
支持设备端口时钟与主时钟的同步;
支持分组报文透明时间的计算;
OpenTSN 解决方案为 FPGA 实现,其中模块可以根据用户的需求进行添加 或删除即可以实现用户需求的迅速定制。
2.1 OpenTSN 时间同步解决方案
    如图 2 所示,OpenTSN 的时间同步解决方案是 FPGA 硬件实现的基于1588 的端到端的方式实现时间同步,同步精度可以达到 100ns 以内,其中:
DMAX 模块用于判断接收的报文是否为 PTP 报文;
Manage_Ctrl 模块配置该时钟作为主时钟或从时钟;
PTP_Ctrl 模块接收控制信息,并按照控制信息进行相应的处理;
Rx_proc 模块对接收的 PTP 报文进行解析,提取关键字;
Tx_proc 模块按照要求构造并发送 PTP 报文;
Cyc_sync 模块维持时钟计数器,存储 T1、T2、T3、T4 时间值,并且完成时间偏移量的计算;
MAX模块用于汇聚 PTP 的报文和 DMAX输出的报文进行控制转发;
 
2.2 OpenTSN透明传输时间计算解决方案
    OpenTSN 的透明传输时间(驻留时间)是通过在 PTP 报文输入时标记 时间戳,并在输出时根据输入时标记的时间戳与当前时间进行对比计算,从 而计算出 PTP 报文分组从端口输入到端口输出的驻留时间,如图 3 所示。
 
2.3 OpenTSN 流映射及调度解决方案
    流的映射是根据分组的 Vlan 头的 PCP 域进行队列映射,在 OpenTSN 的实现中,根据其分组 PCP 值的不同将其映射为 3 个不同的等级,即 7、6 优先级最高为 TSN 的时间敏感流,5-3 为预约带宽流、2-0 为尽力转发流, 如图 4 所示。
    在流分组的处理时,首先是将分组数据缓存到数据缓存内,将流分组的 描述信息封装到 Metadata 内进行队列映射转发。在映射时 TSN 流是基于 CQF 的乒乓队列的形式进行输入控制,即在偶时间存入偶队列 Q2,奇时间 存入奇队列 Q3。在输出调度时偶时间调度奇队列的数据输出,奇时间调度 偶队列数据输出,根据输入时间以及调度时间的控制从而保证了数据分组的 转发延时。资源预留分组的输出是基于令牌桶算法实现,从而保证了资源预 留流的带宽要求。另外 3 类数据流均以严格优先级的方式进行输出调度,即 TSN 时间敏感流优先级最高,预约带宽流次之,尽力转发流最低。
 
2.4 SDN 与 TSN相结合的实现方案思考
    SDN 和 TSN 相结合的实现中,在原有 UM 中通过插入报文解析和流 表查找模块实现,控制平面通过 OpenFlow 协议向数据平台下发流表配置。硬件数据平面首先对输入的报文进行解析操作,并针对解析的结果提取查找 Key,流表查找模块则根据提取的Key值以及控制平面下面的规则进行匹配, 并输出匹配的查找结果。根据流表的配置规则目前支持的 Action 包括:端 口转发、丢弃、转发给 CPU、添加 Vlan 头等操作,实现结构图如图 5 所示。输出控制中的端口调度实现基于 2.3 方案实现。
 
    Vlan 头的添加分两种情况:
作为端系统,此方案为端系统时通过流的区分以及 OpenFlow 对流表规则的配置确定流的优先级,从而实现根据不同优先级的流调度。
作为交换,输入的时间敏感流的报文应已经携带 Vlan 头(在端添加, 通过规划可以提前了解其优先级以及转发路径),此功能只对资源预 留和尽力转发的流添加 Vlan 头,并进行转发处理。即对未进行 Vlan 头添加流报文添加 Vlan 头,已经添加则不进行处理。
 
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片