TSN技术白皮书
\n\n\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
Copyright © 2022 新华三技术有限公司\n版权所有,保留一切权利。
\n\n非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
\n\n除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
\n\n本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n
在工业4.0时代,IT(Internet Technology,互联网技术)与OT(Operational Technology,运营技术)的融合使制造业充分发挥数字化变革带来的优势。通过连通生产设备、生产车间、企业管理等各层级的应用及对边缘计算服务的部署,可以实现数据的采集、传输、可视化和分析,从而实现智能制造。但是在实际推动工业物联网和工业4.0的过程中,IT与OT的融合存在着诸多的障碍,包括以下几个方面:
\n\n· 总线的复杂性
\n\n因为每种总线有着不同的物理接口、传输机制和对象字典等,即使是采用了以太网标准的各个总线(如Ethernet/IP、Profinet、EtherCAT、Powerlink、CC-Link IE),也仍然存在互操作问题。总线的复杂性不仅给OT端带来了障碍,也给IT端信息采集与指令下行带来了障碍。这使得IT应用无法实现基本的应用数据标准,例如大数据分析、订单排产、能源优化等应用。这对于依靠规模效应来运营的IT而言就缺乏经济性,因此,长期以来,IT与OT融合技术虽然受到大家关注,却很少有公司能够在这一领域获得较大的成长。
\n\n· 数据周期性与非周期性传输
\n\nIT与OT数据需求不同导致需要不同的网络传输机制来传输数据。对于OT而言,其控制任务是周期性的,因此需要采用周期性网络传输机制。OT的控制任务多数采用轮询机制,即主站对从站分配时间片的模式。而IT网络则广泛使用标准IEEE802.3网络,采用CSMA/CD的冲突监测机制,同时标准以太网的数据帧还能够支持大容量数据传输如Word文件、JPEG图片、视频/音频等数据。
\n\n· 实时性的差异
\n\n由于实时性的需求不同,也使得IT与OT网络有差异,对于微秒级或毫秒级的运动控制任务而言,要求网络必须要非常低的延时与抖动,而对于IT网络则往往对实时性没有特别的要求。
\n\n在这样的背景下,TSN(Time\nSensitive Network,时间敏感网络)技术应运而生。
\n\nTSN是一项从音视频领域延伸至工业、汽车、移动通信领域的技术,最初来源于音视频领域的应用需求,被称为AVB(AudioVideo\nBridging,音频视频桥接),用于解决音视频网络的高带宽、高实时性、高传输质量需求。
\n\n2006年,IEEE802.1工作组成立AVB任务组,并在随后的几年里成功解决了音频/视频网络中数据实时同步传输的问题,同时又可以100%向后兼容传统以太网。后来汽车行业将其应用于未来的辅助驾驶(ADAS),并开发了IEEE802.1AVB。2012年,AVB任务组更名为TSN任务组,即现在我们所说的TSN,旨在将TSN技术应用到工业自动化领域、车载领域和移动通信等领域。
\n\n如图1所示,TSN是运行在网络模型中数据链路层的标准协议,旨在为以太网的数据链路层提供一套通用的时间敏感机制,在确保以太网数据通讯时间确定性的同时,为不同网络协议(如Ethernet/IP、Profinet、EtherCAT、Powerlink、CC-Link IE)之间的互操作提供可能性。
\n\n图1 TSN网络模型示意图
\n\n\n\n\n\n
TSN技术在制造业得以应用,是因为TSN技术具有如下优势:
\n\n· 通过单一网络来解决复杂性问题,与OPC UA(OPC Unified Architecture Unified Architecture,OPC统一架构)融合实现整体的IT与OT的融合;
\n\n· 支持周期性数据与非周期性数据在同一网络中传输;
\n\n· 能够平衡实时性与大负载数据传输需求。
\n\n借助TSN技术的优势,我们将TSN网络交换机(即支持TSN技术的交换机)部署到工业互联网网络环境,实现智能制造、5G融合、无人驾驶等应用。
\n\n图2 TSN应用示意图
\n\n\n\n\n\n
TSN是一套协议标准,协议本身具有很高的灵活性,实际应用过程中可以根据应用需求来选择相应的协议组合。
\n\n\n\n当前H3C已经实现的TSN标准有IEEE 802.1AS-Rev、IEEE 802.1Qbv和IEEE 802.1Qcc;正在开发的TSN标准有IEEE 802.1Qbu、IEEE 802.1Qch和IEEE 802.1Qci。
\n\n\n\n
目前在工业制造领域涉及到的主要TSN协议标准如表1所示。
\n\n表1 已发布的TSN标准协议
\n\n\n 标准 \n | \n \n 名称 \n | \n \n 说明信息 \n | \n \n 应用领域 \n | \n \n
\n IEEE 802.1Qbv \n | \n \n Scheduled Traffic \n | \n \n 预定流量的增强功能 \n | \n \n 数据调度 \n | \n \n
\n IEEE 802.1Qbu \n | \n \n Frame Preemption \n | \n \n 帧抢占 \n | \n \n 数据调度 \n | \n \n
\n IEEE 802.1Qca \n | \n \n Path Control and Reservation \n | \n \n 路径控制与预留 \n | \n \n 数据调度 \n | \n \n
\n IEEE 802.1Qch \n | \n \n Cyclic Queuing and Forwarding \n | \n \n 循环队列和转发 \n | \n \n 数据调度 \n | \n \n
\n IEEE 802.1CB \n | \n \n Frame Replication and Elimination for Reliability \n | \n \n 帧复制和用于稳定性的排除 \n | \n \n 无缝冗余 \n | \n \n
\n IEEE 802.1Qci \n | \n \n Per-Stream Filtering and Policing \n | \n \n 单个流过滤和管理 \n | \n \n 数据调度 \n | \n \n
\n IEEE 802.1CM \n | \n \n Time-Sensitive Networking for Fronthaul \n | \n \n 适用于前向回传的TSN \n | \n \n 数据调度 \n | \n \n
\n IEEE 802.1Qcc \n | \n \n Stream Reservation Protocol (SRP) Enhancements and Performance\n Improvements \n | \n \n SRP增强功能和性能改进 \n | \n \n 系统配置 \n | \n \n
\n IEEE 802.1Qcp \n | \n \n YANG Data Model \n | \n \n YANG数据模型 \n | \n \n 系统配置 \n | \n \n
\n IEEE 802.1AS-Rev \n | \n \n Timing and Synchronization for Time-Sensitive Applications \n | \n \n 时间敏感应用的定时和同步 \n | \n \n 时间同步 \n | \n \n
\n IEEE 802.1Qat \n | \n \n \n | \n\n 流管理 \n | \n \n 数据调度 \n | \n \n
\n IEEE 802.1.Qav \n | \n \n Forwarding and Queuing Enhancements for Time-Sensitive Streams \n | \n \n 队列与转发 \n | \n \n 数据调度 \n | \n \n
\n\n
TSN的核心原理是基于时间的流量调度和管理。在TSN网络中提出了TAS(Time\nAware Shaper,时间感知整形器)的概念,这是基于时间的队列调度方式,被标准化为802.1Qbv。
\n\n图3 802.1Qbv原理示意图
\n\n\n\n\n\n
如图3所示,数据流进入TSN交换机后,设备根据流特征将时间敏感流、非时间敏感流映射到不同接口的队列中,然后通过TAS控制队列中的数据流。在TAS中引入了一个传输门的概念,这个门有“开”、“关”两个状态。数据流只有在门的状态为开时,才能被传输,而门状态在门控列表中定义。802.1Qbv功能周期执行门控列表,对队列中报文的转发进行调度,能够保障那些对传输时间要求严格的队列的带宽和时延。
\n\n在整网时间同步的前提下,网络的流量转发可以做到可编程化和智能化。首先,由控制器收集关键流量的流量特征,结合网络拓扑,计算出整网流量的最优调度表。然后,控制器将最优调度表下发到TSN交换机,使得关键流量能够得到充足的带宽和最小的时延。
\n\n802.1Qci是TSN协议族中的PSFP(Per-Stream\nFiltering and Policing,单个流过滤和管理)协议。如图4所示,802.1Qci使用Stream ID识别单个流,然后对每个流进行过滤、门控调度和统计,确保被过滤出的数据在指定的时间进行转发。
\n\n图4 802.1Qci原理示意图
\n\n\n\n\n\n
为了解决802.1Qbv中可能出现的优先级倒置问题,即队列持续传输低优先级的帧导致高优先级帧不能及时传输。TSN引入了帧抢占机制(802.1Qbu和802.3br),可以中断标准以太网或超长帧的传输,以允许高优先级帧的传输,然后再继续传输之前被中断的消息,以此为高优先的帧提供带宽和时延提供保障。
\n\n如图5所示,802.3br将给定的桥出口接口分成两个MAC服务,即pMAC(preemptable MAC,可抢占MAC)和eMAC(expressMAC,快速MAC)。基于802.3br的实现,802.1Qbu将数据报文按照等级分为pMAC帧和eMAC帧。正在传输的pMAC帧,可以被eMAC帧抢占。eMAC帧的传输完成后,可以恢复pMAC帧的传输。
\n\n图5 802.Qbu原理示意图
\n\n\n\n\n\n
802.1Qch定义了多种PSFP机制的配置方式,其中CQF(Cyclic\nqueuing and forwarding,循环排队和转发)是TSN协议中唯一确定的配置方式。CQF模型最大的特点是计算和配置简单,可以保证分组端到端交换的确定性延时。CQF模型的主要的工作原理包含如下几部分:
\n\n· 延时保证
\n\n如图6所示,CQF模型将全网时间划分为长度为d的连续时间槽,用i,i+1…,i+N表示,若交换机在时间槽i中的t1时刻从链路上接收到数据帧,则必须在i+1时间槽中的某个时刻t2输出到链路上。因此帧在设备交换的延时t2-t1上限为2d,下限为0。基于CQF模型,帧在网络中交换的最大延时为(h+1)*d,最小延时为(h-1)*d,其中h为传输路径跳数。
\n\n图6 CQF模型示意图
\n\n\n\n\n\n
· 时间敏感帧的处理
\n\n支持CQF模型的TSN交换机需要在出接口上设置两个基于调度表调度的队列Q0和Q1。在偶数时间槽时,队列Q0仅接收帧不发送帧,队列Q1仅发送帧不接收帧;在奇数时间槽时,队列Q0仅发送帧不接收帧,队列Q1仅接收帧不发送帧。由两个队列循环进行接收和发送操作。
\n\nH3C TSN技术的核心实现可以总结为时间同步、数据调度和系统配置三部分。
\n\n图7 H3C TSN交换机核心实现示意图
\n\n\n\n\n\n
如表2所示,为直观理解TSN技术,我们将TSN技术与高铁运行机制进行类比。
\n\n表2 TSN网络与高铁网络
\n\n\n 事件 \n | \n \n 高铁网络 \n | \n \n TSN网络 \n | \n \n 相关TSN标准 \n | \n \n
\n 时间同步 \n | \n \n 所有车站均使用标准北京时间进行时间同步 \n | \n \n TSN网络中所有交换机和接口必须保证精确的时间同步 \n | \n \n IEEE 802.1AS \n | \n \n
\n 运行规划 \n | \n \n 离线确定高铁运行图,包括发车时间、到达时间等 \n | \n \n 提前获取时间敏感流的特点(周期、数据大小),分配资源计算全网的时隙分配 \n | \n \n IEEE 802.1Qcc或采用SDN集中控制机制 \n | \n \n
\n 进站控制 \n | \n \n 根据运行图规定的时间信息,通过运控系统控制列车进站后到指定站台停留 \n | \n \n 交换机识别每个分组,根据全网同步的确定性时间控制分组进入特定的输出队列排队 \n | \n \n IEEE 802.1Qci \n | \n \n
\n 出站控制 \n | \n \n 根据运行图规定的时间信息,通过运控系统控制列车出站的时间 \n | \n \n 交换机根据全网同步的时间在确定性时间点调度分组从输出接口发出 \n | \n \n IEEE 802.1Qbv \n | \n \n
\n 避让机制 \n | \n \n 在线路冲突时,慢车需要在站台上等待和避让快车(可能造成晚点),保证快车的准点通过 \n | \n \n 时间敏感分组预定发送事件到达时,可以打断正在发送的其他低优先级的分组发送过程,最大程度保证时间敏感分组的传输 \n | \n \n IEEE 802.1Qbu \n | \n \n
\n\n
时间同步一般分为频率同步和相位同步。不同的组网环境,需要不同的同步方式。
\n\n频率同步也称为时钟同步。频率同步指两个信号的变化频率相同或保持固定的比例,信号之间保持恒定的相位差。如图8所示,两个表的时间不一样,但是保持一个恒定的差(6小时)。
\n\n\n\n\n\n\n\n
相位同步是指信号之间的频率和相位都保持一致,即信号之间相位差恒定为零。如图9所示,两个表每时每刻的时间都保持一致。相位同步的前提是频率同步,所以相位同步也称为时间同步。
\n\n\n\n\n\n\n\n
H3C支持多种时间同步方案,不同方案之间的对比如下:
\n\n表3 时间同步方案对比
\n\n\n 时间同步方案 \n | \n \n 频率同步 \n | \n \n 相位同步 \n | \n \n 时间同步 \n精度 \n | \n \n 说明 \n | \n \n
\n GPS \n | \n \n 支持 \n | \n \n 支持 \n | \n \n <;100纳秒 \n | \n \n 通过电磁波携带频率和相位信息,实现时间同步。近年来,GPS的精度不断提高,但依赖于美国的GPS技术 \n | \n \n
\n BDS \n | \n \n 支持 \n | \n \n 支持 \n | \n \n 纳秒级 \n | \n \n 通过电磁波携带频率和相位信息,实现时间同步。目前,BDS同步网络正在建设中,2035年可实现“全覆盖、可替代” \n | \n \n
\n SyncE \n | \n \n 支持 \n | \n \n 不支持 \n | \n \n 不支持时间同步 \n | \n \n 通过物理层码流来携带和恢复频率信息,实现频率同步 \n | \n \n
\n NTP \n | \n \n 不支持 \n | \n \n 支持 \n | \n \n 毫秒级 \n | \n \n 通过NTP报文传输相位信号,实现相位同步,但不能满足无线接入网络等微秒级的时间同步精度要求 \n | \n \n
\n PTP \n | \n \n 支持 \n | \n \n 支持 \n | \n \n 亚微秒级甚至几十纳秒 \n | \n \n 通过PTP报文传输频率和相位信息,和硬件配合一同实现高精度的时间同步。随着软硬件技术的进步,PTP的精度可以达到几十纳秒甚至更高 \n | \n \n
\n\n
IEEE 1588是PTP的基础协议,它规定了网络中用于高精度时钟同步的原理和报文交互处理规范,最初应用于工业自动化,现在主要用于桥接局域网。因此,PTP也称为IEEE\n1588,简称为1588。1588分为1588v1和1588v2两个版本,1588v1只能达到亚毫秒级的时间同步精度,而1588v2可达到亚微秒级同步精度,可同时实现相位同步和频率同步。当前,1588v2比1588v1应用更广泛。
\n\n基于IEEE\n1588,PTP又衍生了IEEE 802.1AS等协议。不同PTP协议标准使用场景不同,实现的功能有差异,但原理基本相同。
\n\n表4 PTP协议对比
\n\n\n \n | \n\n 使用场景 \n | \n \n 主要差异点 \n | \n \n
\n IEEE 1588v2 \n | \n \n 适用性广,对网络环境无强制要求,可根据不同的应用环境灵活扩展 \n | \n \n · 使用BMC(Best Master Clock,最佳主时钟)算法计算主从关系 \n· 链路延时测量机制支持端延时机制和请求应答机制 \n· 协议报文支持IEEE 802.3/Ethernet封装和UDP封装 \n | \n \n
\n IEEE 802.1AS \n | \n \n 对1588v2在桥接局域网中的实现进行了细化,支持点对点全双工以太网链路、IEEE\n 802.11链路和IEEE\n 802.3 EPON链路 \n | \n \n · 参考MSTP算法计算主从关系,较1588v2中Announce报文发送的周期更短,主从关系计算更快 \n· 链路延时测量机制只支持端延时机制,较1588v2中Pdelay_Req报文和Sync报文发送的周期更短,链路延时和主从的时间偏差计算的更快,时间同步更稳定 \n· 协议报文仅支持IEEE\n 802.3/Ethernet封装 \n | \n \n
\n\n
时间同步是TSN网络实现确定性通信的基础。时间同步为TSN网络中各个节点参与流量调度提供了时间基准。
\n\nH3C为用户提供“SyncE频率同步+PTP相位同步”的综合方案来实现高精度(纳秒级)的时间同步。该方案的优势在于:
\n\n· 精度更高:通过SyncE实现频率同步,精度比PTP频率同步精度更高,使得整个方案的时间同步精度可达到纳秒级别。理论上能够保证时间同步误差在1μs以内,H3C当前可以做到30ns。
\n\n· 更可靠:
\n\n¡ SyncE和PTP都具有频率同步能力,设备优先使用SyncE进行频率同步,如果SyncE时钟源故障或者链路故障,导致频率同步信号丢失,设备会启用PTP频率同步。
\n\n¡ SyncE和PTP可以共用时钟源,也可以分别使用独立的时钟源。当PTP功能故障导致PTP时间信号丢失时,SyncE仍能工作,各设备仍能保持频率同步,各设备的时间偏差仍能控制在可接受的范围内。
\n\n在基于BMC算法确认了最优时钟以及时钟节点之间的主从关系之后,主时钟和从时钟之间交换Sync报文来实现频率同步。主时钟周期性地向从时钟发送Sync报文,如果不考虑链路延时的变化,且从时钟的频率和主时钟是同步的,那么在相同的时间间隔内,主时钟和从时钟累计的时间偏差应该是相同的,如图10所示,T(n+1)-Tn=T(n+1)\'-Tn\'。如果时间偏差不相同:
\n\n· T(n+1)-Tn>;T(n+1)\'-Tn\',说明从时钟的时间比主时钟慢,频率比主时钟快,则需要调慢从时钟的频率;
\n\n· T(n+1)-Tn<;T(n+1)\'-Tn\',说明从时钟的时间比主时钟快,频率比主时钟慢,则需要调快从时钟的频率。
\n\n频率比计算公式为:(T(n+1)-Tn)/(T(n+1)\'-Tn\')。从时钟根据计算出来的频率比调整本机时钟芯片的频率。
\n\n图10 PTP双步模式频率同步原理示意图
\n\n\n\n\n\n
确认了最优时钟以及时钟节点之间的主从关系之后,主、从时钟之间还会开始相位同步。主、从时钟间周期交互PTP报文,从时钟通过时间戳计算和主时钟的当前时间偏差。从时钟根据时间偏差调整本地时间,使得本地时间和主时钟时间保持一致,也称为时间同步。
\n\n从时钟本地准确时间=从时钟本地当前时间-时间偏差。
\n\n如图11所示,粗略地计算,时间偏差=Tn-Tn\'。但实际上,(Tn-Tn\')中包含了报文在链路中的传输延时,为了提高时间同步的精度,时间偏差的测量和计算过程包括以下两个阶段:
\n\n(1) 链路延时测量阶段:该阶段用于确定主时钟与从时钟之间报文传输的延时。主、从时钟之间交互同步报文并记录报文的收发时间,通过计算报文往返的时间差来计算主、从时钟之间的往返总链路延时。如果两个方向的链路延时相同(也称为网络对称),则往返总链路延时的一半就是单向链路延时(meanPathDelay)。如果网络延时不对称且通过其它方式获知了报文发送方向和接收方向的链路延迟之差,可以通过配置非对称延迟来校正链路延时,从而更精确地进行时间同步。
\n\n(2) 时间偏差测量阶段:该阶段用于测量主时钟与从时钟之间的时间偏差。主时钟按周期向从时钟发送Sync报文,并记录它的发送时间Tn\'。从时钟接收到Sync报文时立刻把当前时刻Tn记下,于是得到主从时钟的“时间偏差=(Tn-Tn\')-单向链路延时”。
\n\n\n\n\n\n\n\n
为设备提供时钟信号的设备叫做时钟源。根据时钟信号的来源不同,SyncE支持的时钟源包括:
\n\n· BITS(Building Integrated Timing Supply System,通信楼综合定时供给系统)时钟源:时钟信号由专门的BITS时钟设备产生。设备通过专用接口(BITS接口)收发BITS时钟信号。
\n\n· 线路时钟源:由上游设备提供的、本设备的时钟监控模块从以太线路码流中提取的时钟信号,即开启SyncE功能的接口传递的时钟信号。线路时钟源精度比BITS时钟源低。
\n\n· PTP时钟源:本设备从PTP协议报文中提取的时钟信号。PTP协议时钟源的精度比BITS时钟源低。
\n\n· 本地时钟源:本设备内部的晶体振荡器产生的38.88 MHz时钟信号,通常本地时钟源精度最低。
\n\n当设备连接了多种时钟源,有多路时钟信号输入设备时,可以通过手动模式或自动模式选择一路优先级最高的时钟信号作为最优时钟(也称为参考源)。
\n\n· 手动模式:用户手工指定最优时钟。如果最优时钟的同步信号丢失,设备不会自动采用其他时钟源的时钟信号,而是使用设备上存储的已丢失的最优时钟的时钟参数继续运行。
\n\n· 自动模式:系统自动选择最优时钟(也称为自动选源)。如果最优时钟的同步信号丢失,设备会自动选择新的最优时钟,并和新的最优时钟保持同步。
\n\n影响设备自动选择最优时钟的参考因素包括SSM(Synchronization\nStatus Message,同步状态信息)级别和优先级。
\n\nSSM是ITU-T G.781在SDH(Synchronous\nDigital Hierarchy,同步数字系列)网络中定义的标识时钟源质量等级(QL,Quality Level)的一组状态信息。SyncE也使用SSM级别来表示时钟源的好坏,并把SSM级别称为QL级别,本文中统称为SSM级别。
\n\n时钟源的优先级是用户在设备上为每个时钟源指定的一种属性。用户通过命令行为BITS、PTP和线路时钟源配置优先级,该优先级本地有效,不会传递给邻居设备。
\n\n缺省情况下,时钟源的优先级为255,不能参与最优时钟的选举。如果要使该时钟源参与最优时钟的选举,则需要为其指定优先级。时钟源的优先级值越小,则表示该时钟源的优先级越高。设备支持的各种类型的时钟源中,本地时钟的优先级最低且不支持配置。
\n\n如图12所示,SyncE按照以下原则为设备自动选举最优时钟:
\n\n(1) SSM级别最高的时钟源优先当选为最优时钟。
\n\n(2) 如果用户配置了SSM级别不参与自动选源,或者SSM级别相同,则按照时钟源的优先级进行选择,优先级值最小的时钟源优先被选中。
\n\n(3) 如果时钟源的优先级相同,则按照时钟源类型进行选择,优先选用BITS时钟源,其次选用线路时钟源,然后选用PTP时钟源。
\n\n(4) 如果时钟源的类型也相同,继续比较时钟信号入接口的编号,编号最小的时钟源优先被选中。
\n\n(5) 当BITS时钟源、线路时钟源、PTP时钟源均不可用时,使用本地时钟源。
\n\n选举出最优时钟后,设备会通过ESMC报文将最优时钟的SSM级别传递给下游设备,进一步影响下游设备最优时钟的选择。
\n\n如果某接口收到的时钟信号当选为最优时钟,而该接口在5秒钟内未收到ESMC information报文,设备会认为最优时钟丢失或不可用,将自动按照上述原则重新选择最优时钟。当原最优时钟源恢复时,系统自动立即切换回原最优时钟。
\n\n\n\n\n\n\n\n
选出最优时钟后,设备开始锁定最优时钟,进行时钟同步(频率同步)。
\n\n数字通信网中传递的是对信息进行编码后得到的PCM(Pulse\nCode Modulation,脉冲编码调制)数字脉冲信号,每秒生成的脉冲个数即为脉冲的频率。以太网物理层编码采用FE(百兆)和GE(千兆)技术,平均每4个比特就插入一个附加比特,这样在其所传输的数据码流中不会出现超过4个1或者4个0的连续码流,可有效地包含时钟信息。利用这种信息传输机制,SyncE在以太网源端接口上使用高精度的时钟发送数据,在接收端恢复、提取这个时钟,并作为接收端发送数据码流的基准。
\n\n如图13所示,假设外接时钟源1比外接时钟源2更可靠,当选为最优时钟。Device1和Device2均同步外接时钟源1的频率,同步原理如下:
\n\n发送端携带并传递同步信息:
\n\n(1) 因为外接时钟源1的SSM级别最高,Device1选择外接时钟源1作为最优时钟。
\n\n(2) Device1提取外接时钟源1发送的时钟信号,并将时钟信号注入以太网接口卡的PHY芯片中。
\n\n(3) PHY芯片将这个高精度的时钟信息添加在以太网线路的串行码流里发送出去,向下游设备Device2传递时钟信息。
\n\n接收方向提取并同步时钟信息:
\n\n(1) Device2的以太网接口卡PHY芯片从以太网线路收到的串行码流里提取发送端的时钟信息,分频之后上送到时钟扣板。
\n\n(2) 时钟扣板将接口接收的线路时钟信号、外接时钟源2输入的时钟信号、本地晶振产生的时钟信号进行比较,根据自动选源算法选举出线路时钟信号作为最优时钟,并将时钟信号发送给时钟扣板上的锁相PLL。
\n\n(3) PLL跟踪时钟参考源后,同步本地系统时钟,并将本地系统时钟注入以太网接口卡PHY芯片往下游继续发送,同时将本地系统时钟输出给本设备的业务模块使用。
\n\n图13 SyncE时钟同步原理示意图
\n\n\n\n\n\n
数据调度是TSN网络实现确定性通信的核心。
\n\n在TSN网络中不仅要保证时间敏感流的到达,同时还要保证时间敏感流的低延时传输。通过优化控制设备对于时间敏感流、非时间敏感流以及不同时间敏感流之间的调度顺序来保证不同数据流的时间要求,这一过程称之为流量整形。TSN网络中的数据调度就是流量整形的过程。
\n\nH3C按照标准的IEEE802.1Qbv协议,通过TAS(Time\nAware Shaper,时间感知整形器)来实现TSN交换机对流量整形的过程。
\n\n如图14所示,Endpoint 1需要向Endpoint 2下发指令,控制Endpoint 2的启动、关闭等工作参数,Endpoint 1发出的指令需要穿越以太网到达Endpoint 2;同时Endpoint 3和Endpoint 4之间正在举行重要的视频会议,双向视频流均对网络时延和时延抖动的要求都很高。而以太网具有时延不确定性甚至拥塞丢包的风险,通过在Device 1、Device 2、Device 3和Device 4的报文出入接口上部署802.1Qbv功能,能够使得关键业务流从发送者到达接收者时,时延控制在微秒级别内,为网络上点对点之间实时性传输提供重要保证。
\n\n图14 802.1Qbv应用场景示意图
\n\n\n\n\n\n
为了避免网络拥塞导致的报文丢失,接口板的交换芯片使用转发队列来发送报文。每个接口有8个转发队列,队列编号从0~7。当接口需要发送报文时,先根据一定的规则让报文进入对应的队列,对于同一队列中的报文,先进入的报文优先转发。
\n\nTSN流是TSN网络中需要实现确定性传输的关键业务流量。接口收到报文后,根据流特征来判断该流量是否为TSN流,流特征参数包括报文的源MAC地址、目的MAC地址、VLAN ID等。接口上指定的流特征参数越多,匹配越精准。
\n\nTSN流基于门控列表实现接口转发队列的调度以及报文的转发。
\n\n门控列表中包含多个门操作。一个门操作包含了三个属性,通过这三个属性定义一次门操作:
\n\n· 门操作编号:门操作对应的编号为1~N。802.1Qbv按照门操作编号从小到大的顺序依次调度。
\n\n\n\nH3C IE4320-10S/\nIE4320-10S-UPWR TSN交换机最多支持16个门操作,设备支持的门操作数量与设备的实际型号有关。
\n\n\n\n
· 门状态:如图15所示,接口转发队列的门状态用一个8比特的二进制字符串(XXXXXXXX)表示,按照从右到左的顺序,右边第一位表示队列0的开关状态,右边第二位表示队列1的开关状态,以此类推。当某个比特位取值为0时,表示关,即不允许发送该队列中的报文;当某个比特位取值为1时,表示开,即允许发送该队列中的报文。
\n\n\n\n\n\n· 门状态持续的时长:一次门操作中门状态持续的时间,当该时间到达,则继续执行下一个门操作。
\n\n如图16所示,用户自定义了门操作编号为2、4、5的队列门状态和门状态持续的时长,对于门操作编号1~5号中用户未定义的门操作1和3系统会使用缺省的队列门状态和缺省的门状态持续时长。
\n\n图16 TSN流转发调度门控列表示意图
\n\n\n\n\n\n
如图16所示,802.1Qbv保护带是TSN流转发调度门控列表中两个门操作中间的缓冲时间。
\n\n保护带用于确保设备在进行802.1Qbv转发队列调度时,能完整转发当前正在发送的数据帧。例如当接口正在转发802.1Qbv特征流,某个数据帧被发送了一半,转发队列门状态持续的时长到达,此时:
\n\n· 如果802.1Qbv保护带功能处于关闭状态,则802.1Qbv会立即执行下一个门操作,当前正在发送的数据帧内容被截断,剩余的内容可能被丢弃,或者需要等到下一个轮询周期,才能被发送。
\n\n· 如果802.1Qbv保护带功能处于开启状态,则802.1Qbv会将这个数据帧的剩余部分发送完毕后,再执行下一个门操作。
\n\n· 设备在出厂时已经为每个接口定义了缺省的保护带时长,不支持通过命令行配置。
\n\n802.1Qbv周期执行门控列表,循环时间是系统执行一次门控列表的时长。接口从执行第一个802.1Qbv门操作时开始计时,并按照门操作编号从小到大的顺序依次执行所有门操作。当循环时间到达,会自动重新从第一个门操作开始执行门控列表。
\n\n如图17所示,门控列表中所有门操作执行一轮所需的时间(T)=t+Guard band+t1+Guard\nband+t+Guard band+t2+Guard band+t3,循环时间的确定和“开关状态持续的时长”、“保护带”有关系。若要保证接口能够按照门控列表发送完所有队列的报文,则要求T大于等于Cycle\ntime,否则一旦Cycle time结束,接口会重新开始执行下一轮的门控列表,可能导致部分门操作无法执行。
\n\n\n\n\n\n\n\n
基准时间是接口开始执行802.1Qbv转发队列调度策略的时间,用来计算设备何时执行调度算法。
\n\n例如用户计划在2021年3月18日12:00:00开始执行802.1Qbv调度算法,则需要先计算这个时间和基础时间1970年1月1日00:00:00的时间差,并换算成PTP时间格式(秒加纳秒的形式),用换算出的秒和纳秒进行基准时间配置。
\n\n整个数据调度的过程分为如下三部分:
\n\n(1) 流特征映射入队列
\n\n(2) 配置门控列表
\n\n(3) 基于门控列表的数据调度
\n\n流特征是802.1Qbv用于区分关键业务流量的依据。
\n\n802.1Qbv支持使用报文中的源MAC地址、目的MAC地址、CoS值和VLAN ID来匹配关键业务报文。指定的参数越多,匹配越精准。数据流进入TSN交换机后,设备根据流特征将TSN流、非TSN流映射到不同接口的队列中,然后通过TAS控制队列中的数据流。
\n\n如图18所示,每个接口上有一张门控列表,一张门控列表控制8个转发队列。门控列表是门操作的有序集合,每个门操作对应一个接口上八个转发队列的门状态和门状态持续时间。配置门控列表即指编排接口上的门操作编号、门状态和门状态持续时长。设备支持通过命令行和CNC(Centralized\nNetwork Configuration,集中式网络配置)对门控列表进行编排。
\n\n\n\n\n\n\n\n
H3C IE4320-10S/ IE4320-10S-UPWR TSN交换机支持接口出方向上8个队列的TAS,一个调度周期内最多支持16个门操作,每个门操作的门状态持续时长最小为8ns,最多为256us。
\n\n802.1Qbv周期性的执行门控列表,按照门控列表中门操作编号从小到大的顺序依次执行门操作,完成对接口队列中的数据流进行调度,实现TSN流的低延时传输。
\n\n在TSN网络中,每一种实际的应用都有特定的时间需求。系统配置是指基于应用的时间需求对TSN网络中各节点进行TSN配置,合理分配网络路径上的资源,以确保各需求都按照预期正常运行的过程。
\n\nH3C使用标准的IEEE802.1Qcc协议实现系统配置。IEEE802.1Qcc定义了User和Network的统一接口,所谓User指的就是Talker和Listener,而Network指的就是传输Talker到Listener报文的设备。
\n\nIEEE802.1Qcc定义了三种TSN控制平面的架构,包括纯分布式配置模型、集中式网络/分布式用户配置模型和纯集中式配置模型。
\n\n在纯分布式模型中,用户需求通过TSN UNI(User/Network\nInfo)协议在Listeners、Bridges和Talkers之间传输,每个Listeners、Bridges和Talkers根据TSN UNI协议独立完成TSN配置,没有集中的网络配置实体。
\n\n图19 纯分布式配置模型
\n\n\n\n\n\n
· 用户需求收集:Bridges通过与Listeners/Talkers交互TSN\nUNI协议(例如SRP协议)完成用户需求收集,交互过程如上图实线箭头部分所示。
\n\n· TSN网络配置:每个Bridge通过TSN\nUNI协议完成本设备上TSN配置的下发,交互过程如上图虚线箭头部分所示。
\n\n在集中式网络/分布式用户配置模型中,Bridges通过与Listeners/Talkers交互TSN UNI协议完成用户需求收集,并作为代理将用户需求发送给CNC。
\n\nCNC使用远程管理协议(例如SNMP、Netconf和Restconf等)发现网络拓扑,获取设备TSN属性。根据用户需求和设备TSN属性,CNC将计算出的门控列表通过远程管理协议下发到Bridges上。
\n\n图20 集中式网络/分布式用户配置模型
\n\n\n\n\n\n
· 用户需求收集:Bridges通过与Listeners/Talkers交互TSN UNI协议(例如SRP协议)完成用户需求收集,并作为代理将用户需求发送给CNC,交互过程如上图实线箭头部分所示。
\n\n· TSN网络配置:CUC通过远程管理协议发现网络拓扑,获取设备TSN属性,并将计算出的门控列表统一下发到Bridges,交互过程如上图虚线箭头部分所示。
\n\n在纯集中式配置模型中,CUC(Centralized\nUsers Configuration,集中式用户配置)用于发现Listeners和Talkers,收集Listeners、Talkers的能力集和用户需求。CNC通过与CUC交互TSN UNI协议,获取用户需求。
\n\nCNC使用远程管理协议(例如SNMP、Netconf和Restconf等)发现网络拓扑,获取设备TSN属性。根据用户需求和设备TSN属性,CNC将计算出的门控列表通过远程管理协议下发到Bridges上。
\n\n图21 纯集中式配置模型
\n\n\n\n\n\n
· 用户需求收集:CNC通过与CUC交互TSN UNI协议,获取用户需求,交互过程如上图实线箭头部分所示。
\n\n· TSN网络配置:CUC通过远程管理协议发现网络拓扑,获取设备TSN属性,并将计算出的门控列表统一下发到Bridges,交互过程如上图虚线箭头部分所示。
\n\n如图22所示,H3C TSN控制器采用纯集中式配置模型,支持CUC与CNC功能,以组件的形式部署在U-Center上。
\n\n· CUC支持通过Web界面输入用户需求,完成对用户需求的收集,然后统一发送到CNC处理。
\n\n· CNC负责网络资源的集中式控制,是网络的大脑,CNC根据CUC收集的需求,统筹网络资源,基于设备的能力完成路径计算。最终将路径等信息转化TSN配置和门控列表通过Netconf方式下发到TSN设备。
\n\n图22 H3C配置模型
\n\n\n\n\n\n
如图23所示,TSN控制器主要包含网络资源管理、拓扑管理、全局流管理、路径计算和流量调度五大功能。
\n\n图23 TSN控制器功能示意图
\n\n\n\n\n\n
如图24所示,通过该界面用户可以查看TSN设备的名称、IP地址和MAC地址等信息,也可以远程管理网络中的TSN设备。
\n\n图24 TSN设备界面
\n\n\n\n\n\n
TSN控制器支持两种添加TSN设备的方法:
\n\n· 通过白名单直接导入设备信息,该方式添加的设备默认均为TSN设备。
\n\n· 手工配置IP地址范围或IP地址自动发现。手工方式添加的设备默认为非TSN设备,用户需要通过手工方式将其设置为TSN设备,如图25所示。
\n\n\n\n\n\n\n\n
如图26和图27所示,单击TSN设备界面的设备标签可以查看当前的设备信息、设备TSN信息、接口配置信息和接口当前信息。
\n\n\n\n\n\n\n\n\n\n\n\n
\n\n
如图28所示,可以单击设备信息界面的control list标签查看当前接口的调度表。
\n\n\n\n\n\n\n\n
如图29所示,TSN控制器根据网络资源管理模块中的设备信息,通过TSN控制器平台接口查询到所有TSN设备的链路状态,显示当前网络环境中的链路拓扑,同时可以根据每条流信息中携带的边缘交换机信息,在拓扑中添加终端信息以及拓扑链路。
\n\n图29 TSN拓扑图界面
\n\n\n\n\n\n
如图30所示,在流信息界面,管理员可以进行业务流添加、删除、修改和详细信息查看等操作。
\n\n图30 流信息界面
\n\n\n\n\n\n
业务流的需求配置界面如图31所示,管理员手动添加一条业务流,输入业务流的特征及需求信息,包括:源MAC地址、目的MAC地址、Talker出接口、Listener入接口、流大小、最大传送时延(单位微秒)、VLAN ID、优先级、与Talker直连的边缘交换机MAC地址/接口名、与Listener直连的边缘交换机MAC地址/接口名、流开始参数。
\n\n当业务流添加完成后,管理员可以在当前页面查看流的数目以及每一条流的信息,包括:源MAC地址、目的MAC地址、流大小、允许的最大传送时延、预计传送时延、调度结束时间(指取消调度策略的时间)和详细信息的链接。
\n\n\n\n\n\n\n\n
在图30所示的流信息界面上,单击计算调度路径按钮后,CNC的路径计算模块将基于流信息、网络资源和拓扑信息,使用寻路算法计算出业务流的最终路径信息。
\n\n当计算多条路径信息时,路径计算模块除了计算出每一条流的最短路径,还会根据比较中间结果来发现路径中重叠的交点,并解决交叉节点上的时间冲突问题,经过循环计算,保证最终计算出的所有流的路径都满足需求。
\n\n基于寻路算法计算出业务流的最终路径信息的过程,如图32所示。
\n\n图32 寻路算法流程图
\n\n\n\n\n\n
当完成路径计算后,TSN控制器需要将计算结果转换为最终下发到TSN设备的配置,才可以使TSN设备按照计算出的路径完成流量转发。在图30所示的流信息界面上,单击策略下发按钮后,路径计算模块以TSN设备为单位,计算出每一个TSN设备上流经过的信息,并转化为IEEE802.1Qbv协议中支持的策略,通过TSN控制器与TSN设备的连接接口将配置下发到TSN设备。
\n\n如图33所示,当完成策略下发后,管理员可以通过策略分析界面查看各接口的策略下发状态。
\n\n\n\n\n\n\n\n
如图34所示,整个工业园区可采用H3C TSN+U-Center管理架构,完成TSN网络的搭建以及生产网络和办公网络的互联互通。
\n\n基于TSN的网络,一方面可以保障生产网络中控制类、实时运维类等时间敏感数据传输的实时性和确定性。另一方面可以保证各类业务流量共网混合传输,可以更好地将已部署的工业以太网、物联网和新型工业应用连接起来,实现各种流量模型下的高质量承载和互联互通。
\n\n部署H3C TSN+U-Center管理架构的工业互联网有如下优势:
\n\n· 在TSN交换机上部署U-Center解决方案,由U-Center控制器进行统一的资源管理和业务管理,极大提升工厂网络的智能化灵活组网能力,满足可视化管理、智能调度,提升应用体验,简化运维。
\n\n· 在办公网部署ERP/PLM/SCM/CRM/MES系统、云计算平台和安全态势感知平台等,实现远程设备效率可视化、工业云数据收集分析,安全监控等功能。
\n\n· 在工厂与外界网络互联的出方向上部署防火墙设备,保障网络的安全性。
\n\n图34 U-Center+TSN工业互联网典型组网图
\n\n\n\n\n\n
· 时间敏感网络(TSN)产业白皮书(征求意见稿)
\n\n· 《802.1Qbv-2015》标准文档
\n\n· 《802.1Qcc-2018》标准文档
\n\n· 《802.1Qci-2017》标准文档
\n\n· 《802.1Qbu-2016》标准文档
\n\n\n 缩略语 \n | \n \n 英语解释 \n | \n \n 中文解释 \n | \n \n
\n TSN \n | \n \n Time Sensitive Network \n | \n \n 时间敏感网络 \n | \n \n
\n AVB \n | \n \n AdioVideo Bridging \n | \n \n 音频视频桥接 \n | \n \n
\n IT \n | \n \n Internet Technology \n | \n \n 互联网技术 \n | \n \n
\n OT \n | \n \n Operational Technology \n | \n \n 运营技术 \n | \n \n
\n OPC UA \n | \n \n OPC Unified Architecture \n | \n \n OPC统一架构 \n | \n \n
\n TAS \n | \n \n Time Aware Shaper \n | \n \n 时间感知整形器 \n | \n \n
\n PSFP \n | \n \n Per-Stream Filtering and Policing \n | \n \n 单个流过滤和管理 \n | \n \n
\n pMAC \n | \n \n preemptable MAC \n | \n \n 可抢占MAC \n | \n \n
\n eMAC \n | \n \n expressMAC \n | \n \n 快速MAC \n | \n \n
\n CQF \n | \n \n Cyclic queuing and forwarding \n | \n \n 循环排队和转发 \n | \n \n
\n PTP \n | \n \n Precision Time Protocol \n | \n \n 精确时间协议 \n | \n \n
\n SyncE \n | \n \n Synchronous Ethernet \n | \n \n 同步以太网 \n | \n \n
\n BITS \n | \n \n Building Integrated Timing Supply System \n | \n \n 通信楼综合定时供给系统 \n | \n \n
\n CNC \n | \n \n Centralized Network Configuration \n | \n \n 集中式网络配置 \n | \n \n
\n UNI \n | \n \n User/Network Info \n | \n \n 用户/网络信息 \n | \n \n
\n CUC \n | \n \n Centralized Users Configuration \n | \n \n 集中式用户配置 \n | \n \n
\n\n
通信工程专业毕业,7年开发经验
精通c/c++
精通golang
熟悉常见的脚本,js,lua,python,php
熟悉电路基础,嵌入式,单片机
服务端开发
嵌入式开发
>gin接口代码CURD生成工具
sql ddl to struct and markdown,将sql表自动化生成代码内对应的结构体和markdown表格格式,节省宝贵的时间。
qt .ui文件转css文件
duilib xml 自动生成绑定控件代码
协议调试器
基于lua虚拟机的的协议调试器软件 支持的协议有:
串口
tcp客户端/服务端
udp 组播/udp节点
tcp websocket 客户端/服务端
软件界面
使用例子: 通过脚本来获得接收到的数据并写入文件和展示在界面上
下载地址和源码
webrtc easy demo
webrtc c++ native 库 demo 实现功能:
基于QT
webrtc摄像头/桌面捕获功能
opengl渲染/多播放窗格管理
janus meeting room
下载地址和源码
wifi,蓝牙 - 无线开关
实现功能:
通过wifi/蓝牙实现远程开关电器或者其他电子设备
电路原理图:
实物图:
深度学习验证工具
虚拟示波器
硬件实物图:
实现原理
基本性能
采集频率: 取决于外部adc模块和ebaz4205矿板的以太网接口速率,最高可以达到100M/8 约为12.5MPS
上位机实现功能: 采集,显示波形,存储wave文件。
参数可运行时配置
上位机:
显示缓冲区大小可调
刷新率可调节
触发显示刷新可调节
又一个modbus调试工具
最近混迹物联网企业,发现目前缺少一个简易可用的modbus调试工具,本软件旨在为开发者提供一个简单modbus测试工具。 主打一个代码简单易修改。 特点:
1. 基于QT5
2. 基于libmodbus
3. 三方库完全跨平台,linux/windows。
开源plutosdr 板卡
1. 完全开源
2. 提高固件定制服务
3. 硬件售价450 手焊产量有线
测试数据
内部DDS回环测试
接收测试
外部发送500MHZ FM波形
matlab测试
2TRX版本
大部分plutosdr应用场景都是讲plutosdr板卡作为射频收发器来使用。 实际上plutosdr板卡本身运行linux 操作系统。是具有一定脱机运算的能力。 对于一些微型频谱检测,简单射频信号收发等应用完全可以将应用层直接实现在板卡上 相较于通过网卡或者USB口传输具有更稳定,带宽更高等优点。 本开源板卡由于了SD卡启动,较原版pluto支持了自定义启动应用的功能。 提供了应用层开发SDK(编译器,buildroot文件系统)。 通过usb连接电脑,经过RNDIS驱动可以近似为通过网卡连接 (支持固件的开发定制)。
二次开发例子
``` all: arm-linux-gnueabihf-gcc -mfloat-abi=hard --sysroot=/root/v0.32_2trx/buildroot/output/staging -std=gnu99 -g -o pluto_stream ad9361-iiostream.c -lpthread -liio -lm -Wall -Wextra -lrt clean: rm pluto_stream
版面分析即分析出图片内的具体文件元素,如文档标题,文档内容,文档页码等,本工具基于cnstd模型