0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虹科干货 | Linux终端设备的时间敏感网络协议实现(2)

虹科智能自动化 2023-02-21 14:37 次阅读

前文回顾

虹科干货 | Linux终端设备的时间敏感网络协议实现(1)

在上一篇文章中,我们介绍了TSN技术不断发展的背景,及其技术层面和实际应用层面的挑战,并介绍了IEEE 802.1ASrev和IEEE 802.1Qbv这两个基本标准。下面,我们将沿着这一方向探讨如何在Linux终端设备中实现TSN时间敏感网络协议。

Part 3

TSN实施的背景

TSN实施已在不同部门和应用中被广泛提出和分析。一些研究指出,确定性延迟是通过时间同步和全局调度的应用实现的,分别对应于 IEEE 802.1AS 和 802.1Qbv TSN 标准。因此,原则上可以使用这两个标准更确定地安排关键流量。但如果延迟和抖动的要求非常低,IEEE 802.1Qbv调度必须与时钟同步机制相结合,而将IEEE 802.1ASrev时钟同步于IEEE 802.1Qbv标准包括在内非常具有挑战性,比如在包含许多流的网络中决定如何调度它们是一件复杂的事情。

另一个重大挑战是将最初不支持TSN的设备集成到TSN网络中。例如,大多数分析的实现都是基于Linux操作系统的,而Linux也有实时性能的不确定性来源,例如抢占或中断,但它包括许多机制来实现更好的可靠性。

Part 4

TSN实施的方案

正如前文所述,同步带来了许多挑战。而当我们寻求使用Slot并调整线路中的流量时,这些挑战就会增加。为了,我们推出了应对这些挑战的解决方案。该方案基于一款可用于TSN协议的PCIe网卡——RELY-TSN-PCIe。该网卡基于现场可编程门阵列 (FPGA) 和英特尔i210 芯片,其中英特尔i210芯片支持TSN,而FPGA提供多路径(嵌入式以太网交换机)和实时功能。这种组合允许在PC中使用标准驱动程序,这在操作系统缺乏TSN支持时至关重要。同时,它还允许Intel芯片不支持的高级调度。RELY-TSN-PCIe卡是第一个已知的TSN解决方案,它允许部署从用户终端设备及其将要使用的应用中抽象出来的确定性以太网网络。换句话说,它可以用于不同的终端设备(监控和数据采集(SCADA)、物联网网关),从而在设备中引入TSN技术并将其集成到确定性网络中。

从操作系统的角度来看,插入是透明的,因为它只检测标准以太网卡。如果OS想要使用高级调度,这个方案就变得不那么透明了,但是TSN网络操作不需要这样的改变。该解决方案是在 Ubuntu 20.04 LTS 中开发的。

1

IEEE 802.1ASrev实施

为实现时间敏感应用的802.1ASrev 定时和同步标准,首先确定必须参与该标准的网络时钟。图3显示了已识别的时钟和同步链路。从图中可以看出,可以区分为六个不同的时钟。

3213a7f8-b19c-11ed-ad0d-dac502259ad0.png

图3 需要同步的网络时钟

有必要区分同步所有时钟的方式。同步有两种:

  • 网络同步
  • 设备-网络同步

网络同步是基于同步I210和PCIe的四个PTP硬件时钟(PHC);为此,将使用linuxptp包中包含的ptp4l命令。linuxptp是Linux的PTP实现。ptp4l实现边界时钟(BC)和普通时钟(OC)。另一方面,作为软件的系统时钟使用NTP或GPS从Internet获取时间以实现设备网络同步。尽管如此,在这种情况下,系统时钟将通过linuxptp包中包含的phc2sys命令从TSN网络获取时间,而不是直接使用硬件时间戳的gPTP。

2

IEEE 802.1Qbv实施

有两种选择可以构建一个端到端实现Qbv的网络。第一种是仅在充当talker的Linux端点的输出上激活Qbv。这样,数据包将有序地离开Linux内核,理论上在整个网络中无序传播,直到到达侦听器。但是,这不是最好的方法。从内核输出到线路,有几层注入抖动。这种抖动可能导致不符合分配的时隙。

第二种选择是在两点激活Qbv:在Linuxtalker的内核中,和在连接到talker的以太网卡的输出端口中,如图4所示。第二种方法是一直使用的方法。在两点配置相同的Qbv。以这种方式,数据包跟随线路上分配的时隙。当所有网络元素也都具有TSN感知能力时,这些时隙将一直保留到接收方。

3237ddd0-b19c-11ed-ad0d-dac502259ad0.png

图4Qbv网络结构

已创建内核补丁以向Linux机器提供Qbv功能。在下文中,我们将解释数据包转发在Linux机器上的工作原理、为处理时隙而创建的两个补丁,以及它们在最终Linux机器上的实现。

Linux系统上的流量转发是通过内核的流量控制(TC)子系统完成的。TC子系统代码在知识产权(IP)和将数据传输到网络的网络接口驱动程序之间运行。该子系统负责不断提供要发送给驱动程序的数据包。

TC由队列规则(qdisc)组成。qdiscs表示应用于队列的调度策略。它根据该调度程序中安装的规则重新组织到达队列的数据包,并以新的顺序发送它们。默认情况下,此调度程序维护一个先进先出(FIFO)队列。因此,需要一种能够按照802.1Qbv标准,按照时间间隔重组数据包,有序发送流量的qdisc。

vanilla Linux内核没有这种排队规则,因此开发了内核补丁,引入了在Linux系统上实施802.1Qbv的必要工具。这些补丁引入了两个新的qdisc:

Earliest TxTime First Qdisc (ETF)允许应用程序控制将数据包发送到网卡驱动程序的确切时间。ETF通过缓冲数据包直到传输时间之前的可配置时间来实现这一点。

时间感知优先级整形器(TAPRIO)实现了IEEE802.1Qbv标准定义的状态机的简化版本(请参阅IEEE802.1Qbv标准),允许配置一系列网关状态,其中每个状态允许或禁止流量出口对于流量类别的子集。

这些补丁还为系统套接字引入了一个名为SO_TXTIME的新选项,以启用套接字进行基于时间的传输,从而配置其参数

Part 5

结果

我们已经创建了一个高级应用程序来以图形方式配置这两个标准。它使网络管理员能够配置和观察网络提供的插槽信息,类似于图5中所示的Wireshark的I/0图表,但是是实时的。概念证明是在一个专门设置的网络中开发的,该网络由通过单个交换机组成的TSN感知网络连接的两台PC(talker和listener)组成。

324e69ce-b19c-11ed-ad0d-dac502259ad0.png

图5 Wireshark捕获演示插槽

第一步是检查所有不同系统之间的同步。检查PCIe板的每秒脉冲输出和PTP守护程序提供的信息,以太网卡在10ns内同步,而系统在100ns范围内(参见图6)。

327d1918-b19c-11ed-ad0d-dac502259ad0.png

图6 完全同步的系统

卡的内部交换机之间、内部交换机与i210芯片之间、芯片与PC之间都建立了gPTP关系。

已创建演示以测试补丁在端点上的操作。该演示在talker中配置Qbv补丁以发送ST和尽力而为流量。Listener接收此数据并以图形方式实时显示每个数据如何到达其插槽。由此产生的流量可以在图7中看到,由开发的应用程序的实时窗口显示。这些演示展示了标准的正确操作及其与PCIe卡的集成。结果是有序和整形的流量。

32bab8ea-b19c-11ed-ad0d-dac502259ad0.png

图7创建的应用程序演示槽的实时捕获

这种实时视图允许网络设计人员跟踪网络的运行并将不同的配置调整到所需的要求。

其结果与Wireshark提供的结果相似,但在这种情况下是实时获得的。该应用程序允许对链接进行轻松管理。同时,它们有助于证明支持TSN的系统的正确操作。

使用此配置框架,设计人员可以创建具有不同配置的网络并查看其结果。图8中展示了一个更复杂的例子。在此示例中,TSN中的每种流量类型都基于虚拟局域网 (VLAN) 标签的优先级代码点(PCP) 位。在此设置中,流量分类如下:

  • ST: 制动信息(数据分发服务(DDS)流1、VLAN11、PCP2)
  • RT: 摄像机实时视频(DDS流2、VLAN12、PCP5)
  • BE: 剩余的TCP/IP流量(VLAN3,PCP6)


TSN配置分布在四个时隙中,完成 10毫秒的周期时间。每个时隙的流量分配如下:(1) Free. (2) ST. (3) Free. (4)RT+BE. 可以看出,不同的流被限制在配置的slot中。

32f836de-b19c-11ed-ad0d-dac502259ad0.png

图8 车载网络的真实示例

ST由刹车信息组成。RT提供实时视频,而BE由其余信息娱乐数据组成。

Part 6

结论

本文所述工作的主要成果是构建了一个支持TSN的系统,该系统可用于提供可靠且可扩展的网络。因此,可以在Linux终端设备中实施两个主要的TSN标准并验证RELY-TSN-PCIe卡的正确操作。终端设备已包含在TSN网络中。一方面,所有网络时钟都已通过在终端设备中使用开源守护程序实施IEEE 802.1ASrev标准来同步。另一方面,我们使用公共Linux内核补丁按照IEEE 802.1Qbv标准在时隙中实现了数据包的有序发送。此外,我们还创建了一个配置和可视化工具,可帮助网络设计人员设置和了解系统的操作。由于这项工作和所使用的两种开放技术,在标准设备(即非专有设备)中实施TSN方面正在取得进展。

END

本文由虹科技工程师翻译整理。文章出处:https://www.mdpi.com/2227-7080/10/3/55

本文中使用的RELY-TSN-PCIe板卡是由虹科合作伙伴RELYUM推出的一款智能NIC,它可以插入任何windows和linux电脑,且不需要在主机上安装任何特殊软件,快速引入TSN技术。它能够在TSN网络中使用典型的工业应用和软件,如SCADA、MES、OPC(UA)、MTConnect等。此外,RELY-TSN-PCIe 支持使用标准中定义的 YANG 模型进行自动配置。但是,为了便于早期试用,该板卡允许手动 TSN 配置

虹科进入TSN技术领域多年并已有丰富的技术积累,并面向国内客户推出了TSN的IP核、网卡、交换机、流量记录仪、测试工具、配置软件等多款软硬件产品,能够帮助用户快速加入TSN流量,享受新兴技术发展带来的好处。

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

    关注

    87

    文章

    10991

    浏览量

    206736
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87442
收藏 人收藏

    评论

    相关推荐

    cyw43012和cyw43455 sta+ap模式ap最多能连接几个终端设备

    请教下cyw43012 和 cyw43455 sta+ap模式 ap最多能连接几个终端设备,固件对这个有限制吗,能否提供一下固件
    发表于 03-01 10:24

    手持终端定制|PDA|手持机|rfid手持终端设备开发解决方案

    手持终端定制|PDA|手持机|rfid手持终端设备开发解决方案厂家。以联发科64位八核MT6771芯片为核心,搭载Android 10系统,运行速度更快、功耗更低。其2GB LPDDR3+32GB
    的头像 发表于 12-27 19:12 206次阅读
    手持<b class='flag-5'>终端</b>定制|PDA|手持机|rfid手持<b class='flag-5'>终端设备</b>开发解决方案

    简单认识配网自动化终端设备

    配网自动化系统一般由下列层次组成:配电主站、配电子站(常设在变电站内,可选配)、配电远方终端(FTU、DTU、TTU等)和通信网络。配电主站位于城市调度中心,配电子站部署于110kV/35kV变电站,子站负责与所辖区域DTU/TTU/FTU等电力
    的头像 发表于 12-14 16:07 472次阅读

    芯科普 | 嵌入式存储如何助力终端设备实现小型化、智能化

    机器人等设备,都在不断地智能化中,便捷和丰富着我们的日常生活。 在终端设备的智能化进程中,数据存储是重要一环。从智能化的底层逻辑上看,各种指令的生成、传达和响应,以及最终智能化功能的实现,都需要存储介质作为容器
    的头像 发表于 11-15 01:05 485次阅读
    芯科普 | 嵌入式存储如何助力<b class='flag-5'>终端设备</b><b class='flag-5'>实现</b>小型化、智能化

    Linux网络子系统的实现

    Linux网络子系统的分层 Linux网络子系统实现需要: l 支持不同的协议族 ( INET,
    的头像 发表于 11-11 11:25 589次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>网络</b>子系统的<b class='flag-5'>实现</b>

    ARM智能车载终端设备系统设计

    电子发烧友网站提供《ARM智能车载终端设备系统设计.pdf》资料免费下载
    发表于 10-11 10:51 0次下载
    ARM智能车载<b class='flag-5'>终端设备</b>系统设计

    网络终端设备有哪些 网络终端的主要功能

    网络终端的主要功能是连接互联网,与其他设备进行通信和数据交换,包括浏览网页、发送和接收电子邮件、进行在线聊天、传输文件、观看在线视频等。它们还可以作为智能家居设备的控制中心,管理家中的
    的头像 发表于 10-05 15:57 7753次阅读

    深圳市乐众云金融手持终端设备主板定制方案效率如何?

    深圳市乐众云金融手持终端设备主板定制方案效率如何?
    发表于 08-28 18:09

    NTP网络时间服务器,实现安防系统时间同步

    按 NTP服务器的等级传播。 NTP网络时间服务器是以校正终端设备时间的一款标准服务器,其标准协议NTP标准符合大多数的计算机,摄像机,监控
    的头像 发表于 08-16 15:49 401次阅读
    NTP<b class='flag-5'>网络</b><b class='flag-5'>时间</b>服务器,<b class='flag-5'>实现</b>安防系统<b class='flag-5'>时间</b>同步

    三防手持终端设备_智能手持终端定制方案商

    、抗摔和耐高低温等。 多功能手持移动设备广泛应用于各个领域,支持全网通公共网络通信,并内置了RTK定位和DMR数模对讲功能。根据客户需求,对讲手持终端可以进行模块化定制,灵活配置。该手持设备
    的头像 发表于 07-25 18:51 365次阅读
    三防手持<b class='flag-5'>终端设备</b>_智能手持<b class='flag-5'>终端</b>定制方案商

    中安科技三款监所终端设备通过OpenHarmony兼容性测评

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 近日,山东中安科技股份有限公司(以下简称“中安科技”)的三款监所智能终端设备通过OpenAtom
    的头像 发表于 06-19 21:10 362次阅读

    网络终端有什么用 网络终端有辐射吗

    网络终端是指能够通过网络与其他设备进行数据通信的终端设备,例如PC、手机、路由器、智能电视、智能家居设备
    发表于 05-29 18:17 1924次阅读

    时间敏感网络解决方案弥合了工业物联网中的通信缺口

      全新i.MX RT1180带有千兆时间敏感网络(TSN)交换机,集成强大的实时网络性能来处理时间敏感
    的头像 发表于 05-25 10:22 414次阅读
    <b class='flag-5'>时间</b><b class='flag-5'>敏感</b><b class='flag-5'>网络</b>解决方案弥合了工业物联网中的通信缺口

    无线通信网络之LoRa技术

    报警器、宠物跟踪器等。这些节点通过LoRa无线通信首先与LoRa网关连接,再通过3G网络或者以太网络,连接到网络服务器中。网关与网络服务器之间通过TCP/IP
    发表于 05-11 14:58

    Zigbee终端设备的作用、类型及入网步骤

      Zigbee终端是指采用了Zigbee通信协议的节点设备,它可以通过无线网络连接到其他的Zigbee设备,例如Zigbee协调器、Zig
    发表于 05-05 16:54 2817次阅读