CN107911265A - 一种基于cbs流控机制的avb网络流量最大延迟测试的装置 - Google Patents
一种基于cbs流控机制的avb网络流量最大延迟测试的装置 Download PDFInfo
- Publication number
- CN107911265A CN107911265A CN201711367379.XA CN201711367379A CN107911265A CN 107911265 A CN107911265 A CN 107911265A CN 201711367379 A CN201711367379 A CN 201711367379A CN 107911265 A CN107911265 A CN 107911265A
- Authority
- CN
- China
- Prior art keywords
- flows
- fifo
- module
- network
- data frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于CBS流控机制的AVB网络流量最大延迟测试的装置,其包括有数据源类流产生模块(10)、网络接收模块(20)、CBS流控模块(30)、FIFO模块(40)、网络发送模块(50)、计时器模块(60)和监视器(70)。本发明装置运行在FPGA处理器上,通过CBS流控机制解决AVB网络中最大延迟测量的技术问题。本发明装置支持对多优先级类型网络流量的传输,并利用数据源产生了最坏场景下的多优先级类型网络流量;采用CBS流控机制控制多优先级类型网络流量的发送;采用硬件时间戳记录多优先级类型网络流量通过网络节点时的最大延迟。
Description
技术领域
本发明属于网络测试领域,更特别地说,涉及到一种基于CBS流控机制的AVB网络流量最大延迟测试的装置。
背景技术
音视频桥接(Audio/Video Bridging,AVB)网络是在工业标准以太网基础上经过适用性改造,采用预定流(Stream Reservation,SR)和信用量整形(Credit BasedShaping,CBS)等机制保障低延迟的音视频流服务,AVB互连技术已在嵌入式车载网络(如宝马系列车型)中得到实际应用。标准AVB网络中包含有时间敏感的音视频预定流(SR_A类流和SR_B类流)和一类尽力传流(Best Effort,BE)。SR_A类流为时间敏感的音频预定流,SR_B类流为时间敏感的视频预定流,BE类流为尽力传流。
CBS方法中与流量信用量变化有关的逻辑带宽参数是idleSlope(空闲率)和sendSlope(发送率),发送率与空闲率两个参数之间的关系为sendSlope=idleSlope-R,R表示网络链路传输带宽。在AVB网络中,当SR_A类流或SR_B类流的传输被阻塞时,流量信用量将以idleSlope(空闲率)的速率增加;当SR_A类流或SR_B类流正在传输时,流量信用量将以sendSlope(发送率)的速率减少。
AVB网络中所传输的多种类型流量对网络的实时性提出了各自不同的需求,需要网络保障不同类型流量传输的最大延迟。在流量的实际传输过程中,不同类型流量之间存在复杂多样的竞争关系,使得流量最大延迟的测量极具挑战性。网络流量延迟测试的目的在于确定流量通过网络节点时所历经的时间,其最坏条件下的传输最大延迟是评价网络实时性能的重要参考指标。采用理论分析方法作为网络延迟的紧性评估手段具有较大的偏差,因此评估结果还有待进一步优化;而实际的网络环境发生最大延迟情况的几率很小,统计平均延迟结果并不能反映网络的所有实时性能。
发明内容
本发明的目的是为了测量AVB网络中网络流量通过网络节点时的最大延迟,而设计了一种基于CBS流控机制的AVB网络流量最大延迟测试的装置。为了准确测量网络流量通过网络节点时的延迟,有效消除软件时间戳中操作系统和协议栈的延迟抖动影响,采用硬件时间戳技术能够极大地提高延迟的测量精度。该装置运行在FPGA处理器上,通过CBS流控机制解决AVB网络中最大延迟测量的技术问题。本发明装置支持对多优先级类型网络流量的传输,并利用数据源产生了最坏场景下的多优先级类型网络流量;采用CBS流控机制控制多优先级类型网络流量的发送;采用硬件时间戳记录多优先级类型网络流量通过网络节点时的最大延迟。
本发明设计了一种基于CBS流控机制的AVB网络流量最大延迟测试的装置,其特征在于:其包括有数据源类流产生模块(10)、网络接收模块(20)、CBS流控模块(30)、FIFO模块(40)、网络发送模块(50)、计时器模块(60)和监视器(70);
数据源类流产生模块(10)第一方面在FPGA的只读存储器中写入SR_A类流的数据信息、SR_B类流的数据信息、BE类流的数据信息;第二方面控制SR_A流量、SR_B流量和BE流量的产生先后顺序,并依据时钟周期下的类流传输关系获得流量在AVB网络中所占用的运行网络带宽值BW;第三方面从FPGA的ROM中读取SR_A数据帧、SR_B数据帧和BE数据帧,然后依据数据帧的帧格式进行组装,获得属于SR_A数据帧的SR_A流量、属于SR_B数据帧的SR_B流量和属于BE数据帧的BE流量;第四方面输出SR_A流量、SR_B流量和BE流量给网络接收模块(20)中的数据帧类型检测单元(21);
∑MSR_A表示在时钟周期T0下传输SR_A类流的数据帧的总字节长度;
∑MSR_B表示在时钟周期T0下传输SR_B类流的数据帧的总字节长度;
∑MBE表示在时钟周期T0下传输BE类流的数据帧的总字节长度;
T0表示时钟周期,单位为秒;
网络接收模块(20)至少包括有数据帧类型检测单元(21)、接收计时单元(22)、开始时间戳插入单元(23)和FIFO写信号控制单元(24);
网络接收模块(20)第一方面用于接收来自数据源模块(10)输出的SR_A流量、SR_B流量和BE流量,而数据帧类型检测单元(21)会依据VLAN的priority域检测判断出所接收到的SR_A流量、SR_B流量和BE流量的各自数据帧的类型及所述SR_A流量、SR_B流量和BE流量的各自数据帧的起始有效信号;而开始时间戳插入单元(23)在数据帧类型检测单元(21)获取数据帧起始有效信号时,立即触发,开始时间戳插入单元(23)将接收数据帧的开始时刻记录到数据帧的avtp_timestamp_st域中;开始时间戳插入单元(23)接收的是计时器模块(60)输出的硬件时间戳的值;
第二方面用于接收来自AVB网络输出的以数据帧分开进行传输的各类流量,并提取出所述流量的数据帧起始有效信号;
第三方面通过接收计时单元(22)对起始时间进行记录;接收计时单元(22)计时持续时间是从收到流量开始至接收到数据帧结束有效信号时止;
第四方面在接收计时单元(22)的计时过程中,FIFO写信号控制单元(24)用于产生控制FIFO模块(40)中写控制信号的有效时间;
第五方面网络接收模块(20)输出与FIFO模块(40)中类型相同的FIFO中缓存,即网络接收模块(20)将接收到的数据帧,除去mac_destination_address、mac_source_address和VLAN以后,剩余的数据帧输出给FIFO模块(40),而FIFO模块(40)中至少设有FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器,经数据帧类型检测单元(21)检测判断出相应的数据帧类型,并依此类型在写入到各自的FIFO缓存器中;
CBS流控模块(30)包括有信用量变化单元(31)和发送标志信号产生单元(32);信用量变化单元(31)是根据信用量的规律产生AVB网络中流量的信用量;发送标志信号产生单元(32)用于产生标志位,对于标志位的有效条件包括有FIFO缓存器的空状态、流量的信用量、网络节点的阻塞状态和高优先级流量的发送条件是否满足;
FIFO模块(40)中至少包括有FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器,所述FIFO_SR_A缓存器用于对SR_A流量进行缓冲,所述FIFO_SR_B缓存器用于对SR_B流量进行缓冲,所述FIFO_BE缓存器用于对BE流量缓冲;FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器分别设有写接口和读接口;其中写接口由写数据信号和写控制信号组成,写接口用于接收网络接收模块(20)输出的数据帧;读接口由读数据信号和读控制信号组成,读接口用于输出数据帧给网络发送模块(50)的数据包重组单元(51);当FIFO为空状态时,输出空状态信号给CBS流控模块(30)中的发送标志信号产生单元(32);
网络发送模块(50)至少包括有数据帧重组单元(51)、发送计时单元(52)、结束时间戳插入单元(53)和FIFO读信号控制单元(54);
网络发送模块(50)第一方面用于接收发送标志信号产生单元(32)输出的信息发送标志位;
第二方面通过发送计时单元(52)对起始时间进行记录;发送计时单元(52)计时持续时间是从流量开始发送至发送一个完整的数据帧结束;
第三方面依据FIFO读信号控制单元(54)产生一个读信号,并从相应的FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器中读入数据帧;
第四方面是结束时间戳插入单元(53)依据计时器模块(60)输出的硬件时间戳的值在发送完成数据帧后触发;结束时间戳插入单元(53)将发送数据帧的结束时刻记录到数据帧的avtp_timestamp_ed域中;
第五方面是数据包重组单元(51)根据AVB网络数据帧的格式组装一个完整的数据帧,并将所述的完整数据帧发送至监视器(70)中进行实时可视化显示;
计时器模块(60)用于生成硬件时间戳信息,该硬件时间戳信息是一个周期计数的计时器,即硬件时间戳的值;所述硬件时间戳的值的计时周期TC需要满足AVB网络节点在处理同一帧数据时,网络接收模块(20)接收数据帧的开始时刻和网络发送模块(50)发送数据帧的结束时刻唯一确定的要求;计时器模块(60)在AVB网络节点正常工作中会不间断地循环计时,并将计时结果同时输出到网络接收模块(20)和网络发送模块(50)中;
计数器模块(60)的计数周期记为TC,根据SR_A流量、SR_B流量和BE流量中记录的开始时间戳和结束时间戳,能够计算出网络流量通过AVB网络节点的最大延迟,然后在网络流量可视化模块(70)中实时显示出来;
SR_A类流在AVB网络节点中的最大延迟记为
SR_B类流在AVB网络节点中的最大延迟记为
BE类流在AVB网络节点中的最大延迟记为
监视器(70)用于可视化显示网络流量在CBS方法下的延迟结果,即 因此网络流量可视化的同时显示三种类型网络流量的延迟值,并且能够显示出延迟值中的最大值,这个最大值就是AVB网络最坏情况下的最大延迟结果。
本发明一种基于CBS流控机制的AVB网络流量最大延迟测试的装置的优点在于:
①本发明装置利用FPGA处理器的硬件时间戳并结合CBS流控机制来测定出AVB网络中,多优先级类型网络流量通过网络节点时延迟的实际最大值,该实际最大值与CBS方法的理论计算值之间的差异很小。
②本发明中的网络流量最大延迟测定过程由时钟流驱动,使得网络延迟测定结果的精度最高可以达到纳秒级。
③本发明装置在AVB网络链路的运行负载率达到70%时,依旧能够对多优先级类型网络流量进行正确转发处理,表现出优异的多优先级类型网络流量处理性能。
④本发明的测试装置具有图形化的网络延迟结果显示界面,可以完成装置中延迟测定结果的自动化处理过程,结果显示直观可视化。
附图说明
图1是本发明基于CBS流控机制的AVB网络流量最大延迟测试装置的结构框图。
图2是本发明监视器中可视化界面。
图3是本发明CBS流控模块的状态转换图。
图3A是CBS流控机制的排队转发过程示意图。
图3B是CBS方法实现流控机制的原理图。
图3C是AVB网络中数据帧格式示意图。
图4是实施例中AVB网络最坏情况下的信用量变化曲线图。
具体实施方式
下面将结合附图和实施例对本发明做进一步的详细说明。
在AVB网络中会将SR_A类流、SR_B类流和BE类流的三种类型流量划分成一个个的数据帧分开进行传输。则有:
SR_A类流的优先级类型记为SR_A级;传输SR_A类流的数据帧记为SR_A数据帧,SR_A数据帧的字节长度记为MSR_A;AVB网络中传输SR_A类流的流量记为SR_A流量,SR_A流量进入网络节点的时刻记为开始时间戳,所述开始时间戳的时间值记为SR_A流量离开网络节点的时刻记为结束时间戳,所述结束时间戳的时间值记为
SR_B类流的优先级类型记为SR_B级;传输SR_B类流的数据帧记为SR_B数据帧,SR_B数据帧的字节长度记为MSR_B;AVB网络中传输SR_B类流的流量记为SR_B流量,SR_B流量进入网络节点的时刻记为开始时间戳,所述开始时间戳的时间值记为SR_B流量离开网络节点的时刻记为结束时间戳,所述结束时间戳的时间值记为
BE类流的优先级类型记为BE级;传输BE类流的数据帧记为BE数据帧,BE数据帧的字节长度记为MBE;AVB网络中传输BE类流的流量记为BE流量,BE流量进入网络节点的时刻记为开始时间戳,所述开始时间戳的时间值记为BE流量离开网络节点的时刻记为结束时间戳,所述结束时间戳的时间值记为
参见图3C所示,AVB网络数据帧包含目的MAC地址、源MAC地址、虚拟局域网标识、AVB网络标识、开始时间戳、结束时间戳、数据帧长度、数据负载、帧校验;所述虚拟局域网标识中3比特的优先级标识(即priority域)是用于区分不同优先级类型的网络流量。MAC,Media Access Control,媒体访问控制。
本发明提供了一个基于CBS流控机制的AVB网络流量最大延迟测试的装置(下面简称为本发明测试装置),一方面利用硬件时间戳对网络流量通过网络节点时的延迟测量记录,得到最坏情况下的网络延迟结果。在本发明中,将SR_A类流的AVB网络流量最大延迟记为将SR_B类流的AVB网络流量最大延迟记为将BE类流的AVB网络流量最大延迟记为
本发明测试装置基于FPGA处理器搭建网络测试硬件平台环境,并用LabVIEW软件(版本号2012)与监视器70实现延迟结果的可视化显示。
参见图1所示的本发明测试装置,其包括有数据源类流产生模块10、网络接收模块20、CBS流控模块30、FIFO模块40、网络发送模块50、计时器模块60和监视器70。
数据源类流产生模块10
数据源类流产生模块10第一方面在FPGA(Field Programmable Gate Array,即现场可编程门阵列)的只读存储器(ROM)中写入SR_A类流的数据信息、SR_B类流的数据信息、BE类流的数据信息;第二方面控制SR_A流量、SR_B流量和BE流量的产生先后顺序,并依据时钟周期下的类流传输关系获得流量在AVB网络中所占用的运行网络带宽值BW;第三方面从FPGA的ROM中读取SR_A数据帧、SR_B数据帧和BE数据帧,然后依据数据帧的帧格式进行组装,获得属于SR_A数据帧的SR_A流量、属于SR_B数据帧的SR_B流量和属于BE数据帧的BE流量。第四方面输出SR_A流量、SR_B流量和BE流量给网络接收模块20中的数据帧类型检测单元21。
∑MSR_A表示在时钟周期T0下传输SR_A类流的数据帧的总字节长度。
∑MSR_B表示在时钟周期T0下传输SR_B类流的数据帧的总字节长度。
∑MBE表示在时钟周期T0下传输BE类流的数据帧的总字节长度。
T0表示时钟周期,单位为秒。
在本发明中,数据帧的帧格式是指《IEEE Standard for Layer 2 TransportProtocol for Time-Sensitive Applications in Bridged Local Area Networks》中的图5.1所示。Approved 10 February 2011。
网络接收模块20
在本发明中,网络接收模块20至少包括有数据帧类型检测单元21、接收计时单元22、开始时间戳插入单元23和FIFO写信号控制单元24。
在本发明中,网络接收模块20第一方面用于接收来自数据源模块10输出的SR_A流量、SR_B流量和BE流量,而数据帧类型检测单元21会依据VLAN的priority域检测判断出所接收到的SR_A流量、SR_B流量和BE流量的各自数据帧的类型及所述SR_A流量、SR_B流量和BE流量的各自数据帧的起始有效信号;而开始时间戳插入单元23在数据帧类型检测单元21获取数据帧起始有效信号时,立即触发,开始时间戳插入单元23将接收数据帧的开始时刻记录到数据帧的avtp_timestamp_st域中;开始时间戳插入单元23接收的是计时器模块60输出的硬件时间戳的值;
第二方面用于接收来自AVB网络输出的以数据帧分开进行传输的各类流量,并提取出所述流量的数据帧起始有效信号;
第三方面通过接收计时单元22对起始时间进行记录。接收计时单元22计时持续时间是从收到流量开始至接收到数据帧结束有效信号时止;
第四方面在接收计时单元22的计时过程中,FIFO写信号控制单元24用于产生控制FIFO模块40中写控制信号的有效时间;
第五方面网络接收模块20输出与FIFO模块40中类型相同的FIFO中缓存,即网络接收模块20将接收到的数据帧,除去mac_destination_address、mac_source_address和VLAN以后,剩余的数据帧输出给FIFO模块40,而FIFO模块40中至少设有FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器,经数据帧类型检测单元21检测判断出相应的数据帧类型,并依此类型在写入到各自的FIFO缓存器中。
“priority”译文为优先级。“avtp_timestamp_st”译文为开始时间戳。“mac_destination_address”译文为目的地址。“mac_source_address”译文为源地址。
CBS流控模块30
参见图3所示,在本发明中,CBS流控模块30采用状态机实现。图3A和图3B分别表示了AVB网络节点中流量的排队转发过程与CBS方法实现流控机制的原理。在图3A中,SPQ为严格优先级排队。所述SPQ对FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器进行优先级排队,获得各自的优先等级,即SR_A类流为SR_A级,SR_B类流为SR_B级,BE类流为BE级,从而明确网络节点是否被正在发送的流量阻塞。在图3B中,idleSlope为空闲率,sendSlope为发送率。CBS流控模块30包括有信用量变化单元31和发送标志信号产生单元32。
信用量变化单元31是根据图3B中信用量的规律产生AVB网络中流量的信用量。
发送标志信号产生单元32用于产生标志位,对于标志位的有效条件包括有FIFO缓存器的空状态、流量的信用量(由信用量变化单元31提供)、网络节点的阻塞状态和高优先级流量的发送条件是否满足。在本发明中,发送标志信号产生单元32只有四个条件同时考虑之后才能决定SR_A流量、SR_B流量和BE流量发送标志信号的有效状态。SR_A流量和SR_B流量通过AVB网络节点时发生流量信用量的增长和消耗,而BE流量没有信用量的变化。
如图3所示,CBS流控模块30控制状态机分为四个状态,分别是没有任一类型流量满足发送条件的记为“空”状态、SR_A流量满足发送条件时的记为“发送SR_A”状态、SR_B流量满足发送条件时的记为“发送SR_B”状态和BE流量满足发送条件时的记为“发送BE”状态。状态机在初始启动时,CBS流控模块30处于“空”状态,之后应用发送标志信号产生单元32根据四个条件决定不同状态之间的跳转。
当状态机处于“空”状态时,从“空”状态跳转到“发送SR_A”状态的条件是FIFO_SR_A缓存器非空和SR_A流量的信用量大于等于0;从“空”状态跳转到“发送SR_B”状态的条件是FIFO_SR_B缓存器非空、SR_B流量的信用量大于等于0和SR_A流量不满足发送条件;从“空”状态跳转到“发送BE”状态的条件是FIFO_BE缓存器非空、SR_A流量和SR_B流量不满足发送条件;其它所有情况下均保持“空”状态不变。
当状态机的当前处于“发送SR_A”状态时,从“发送SR_A”状态跳转到“发送SR_B”状态的条件是FIFO_SR_B缓存器非空、SR_B流量的信用量大于等于0和SR_A流量不满足发送条件;从“发送SR_A”状态跳转到“发送BE”状态的条件是FIFO_BE缓存器非空、SR_A流量和SR_B流量不满足发送条件;“发送SR_A”状态保持不变的条件是FIFO_SR_A缓存器非空和SR_A流量的信用量大于等于0;其它所有情况下均会从“发送SR_A”状态跳转到“空”状态。
当状态机的当前处于“发送SR_B”状态时,从“发送SR_B”状态跳转到“发送SR_A”状态的条件是FIFO_SR_A缓存器非空和SR_A流量的信用量大于等于0;“发送SR_B”状态保持不变的条件是FIFO_SR_B缓存器非空、SR_B流量的信用量大于等于0和SR_A流量不满足发送条件;从“发送SR_B”状态跳转到“发送BE”状态的条件是FIFO_BE缓存器非空、SR_A流量和SR_B流量不满足发送条件;其它所有情况下均会从“发送SR_B”状态跳转到“空”状态。
当状态机的当前处于“发送BE”状态时,从“发送BE”状态跳转到“发送SR_A”状态的条件是FIFO_SR_A缓存器非空和SR_A流量的信用量大于等于0;从“发送BE”状态跳转到“发送SR_B”状态的条件是FIFO_SR_B缓存器非空、SR_B流量的信用量大于等于0和SR_A流量不满足发送条件;“发送BE”状态保持不变的条件是FIFO_BE缓存器非空、SR_A流量和SR_B流量不满足发送条件;其它所有情况下均会从“发送BE”状态跳转到“空”状态。
在本发明中,对于流量的信用量小于0时,以空闲率恢复到0。
FIFO模块40
在本发明中,FIFO(First Input First Output,译文为先进先出)模块40中至少包括有FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器,所述FIFO_SR_A缓存器用于对SR_A流量进行缓冲,所述FIFO_SR_B缓存器用于对SR_B流量进行缓冲,所述FIFO_BE缓存器用于对BE流量缓冲。FIFO模块40对数据帧的读写控制需要满足FIFO满状态时不进行写操作、FIFO空状态时不进行读操作的原则。利用多个不同类型的FIFO缓存器是保证AVB网络节点在处理数据的过程中不会发生丢包情况。
在本发明中,FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器分别设有写接口和读接口。其中写接口由写数据信号和写控制信号组成,写接口用于接收网络接收模块20输出的数据帧。读接口由读数据信号和读控制信号组成,读接口用于输出数据帧给网络发送模块50的数据包重组单元51。当FIFO为空状态时,输出空状态信号给CBS流控模块30中的发送标志信号产生单元32。
网络发送模块50
在本发明中,网络发送模块50至少包括有数据帧重组单元51、发送计时单元52、结束时间戳插入单元53和FIFO读信号控制单元54。
在本发明中,网络发送模块50第一方面用于接收发送标志信号产生单元32输出的信息发送标志位;
第二方面通过发送计时单元52对起始时间进行记录。发送计时单元52计时持续时间是从流量开始发送至发送一个完整的数据帧结束;
第三方面依据FIFO读信号控制单元54产生一个读信号,并从相应的FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器中读入数据帧;
第四方面是结束时间戳插入单元53依据计时器模块60输出的硬件时间戳的值在发送完成数据帧后触发;结束时间戳插入单元53将发送数据帧的结束时刻记录到数据帧的avtp_timestamp_ed域中;
第五方面是数据包重组单元51根据图3C中AVB网络数据帧的格式组装一个完整的数据帧,并将所述的完整数据帧发送至监视器70中进行实时可视化显示。
计时器模块60
在本发明中,计时器模块60用于生成硬件时间戳信息,该硬件时间戳信息是一个周期计数的计时器,即硬件时间戳的值。所述硬件时间戳的值的计时周期TC需要满足AVB网络节点在处理同一帧数据时,网络接收模块20接收数据帧的开始时刻和网络发送模块50发送数据帧的结束时刻唯一确定的要求。计时器模块60在AVB网络节点正常工作中会不间断地循环计时,并将计时结果同时输出到网络接收模块20和网络发送模块50中。
在本发明中,计数器模块60的计数周期记为TC,根据SR_A流量、SR_B流量和BE流量中记录的开始时间戳和结束时间戳,可以计算出网络流量通过AVB网络节点的最大延迟,然后在网络流量可视化模块70中实时显示出来。
SR_A类流在AVB网络节点中的最大延迟记为
SR_B类流在AVB网络节点中的最大延迟记为
BE类流在AVB网络节点中的最大延迟记为
监视器70
监视器70用于可视化显示网络流量在CBS方法下的延迟结果,即 如果图2所示。本发明中共有SR_A流量、SR_B流量和BE流量三种类型的流量,因此网络流量可视化的同时显示三种类型网络流量的延迟值,并且能够显示出延迟值中的最大值,这个最大值就是AVB网络最坏情况下的最大延迟结果。
采用本发明测试装置进行的测试操作流程:
步骤一:构建AVB网络通信节点
基于CBS流控机制的AVB网络流量最大延迟测试装置中由数据源类流产生模块10、网络接收模块20、CBS流控模块30、FIFO模块40、网络发送模块50、计时器模块60组成AVB网络通信节点;同时,将一个端系统连接到AVB网络通信节点中,用于监视器70测量AVB网络流量的延迟结果并以可视化的界面显示。
步骤二:配置AVB网络通信节点
设置所构建AVB网络通信节点的链路传输带宽为R;
设置SR_A数据帧、SR_B数据帧和BE数据帧的长度分别为MSR_A、MSR_B和MBE;
设置数据源类流产生模块10的计时周期T0;
设置CBS方法中SR_A流量的空闲率idleSlopeSR_A;
设置CBS方法中SR_B流量的逻辑带宽保障参数idleSlopeSR_B;
设置计时器模块60的计时周期TC。
步骤三:运行AVB网络通信节点
FPGA平台上电启动之后,将编译成功的文件烧录到FPGA芯片中,AVB网络通信节点开始正常工作;
步骤四:显示AVB网络通信节点中的延迟结果
将AVB网络节点中的流量输出到监视器70后,得到通过AVB网络通信节点的SR_A流量、SR_B流量和BE流量的最大延迟结果。
实施例1
图4是本实施案例中AVB网络最坏情况的信用量变化规律图。设置网络链路传输带宽R为100Mbps,SR_A流量的空闲率为50Mbps,SR_B流量的空闲率为25Mbps,BE流量占用剩余25Mpbs大小的网络带宽;设置SR_A数据帧、SR_B数据帧和BE数据帧的长度(单位字节)分别189B、1071B和1512B;设置数据源类流产生模块10的计时周期T0为1ms,在TC为1s的运行计数周期内,通过AVB网络节点的SR_A流量、SR_B流量和BE流量中记录有进入AVB网络节点的开始时间戳和离开网络节点的结束时间戳;监视器70捕获接收了SR_A数据帧、SR_B数据帧和BE数据帧(如图2所示),并根据开始时间戳和结束时间戳计算出数据帧在网络最坏情况下的延迟值;为了证明CBS流控机制的作用,SR_A数据帧、SR_B数据帧和BE数据帧中还记录有AVB网络节点发送数据帧时刻的信用量值,并将本发明中实施例中的测量值与CBS方法的结果进行对比,最终的实施例测量结果验证了CBS机制流控作用,并且延迟的测量精度达到了纳秒级。
Claims (4)
1.一种基于CBS流控机制的AVB网络流量最大延迟测试的装置,其特征在于:其包括有数据源类流产生模块(10)、网络接收模块(20)、CBS流控模块(30)、FIFO模块(40)、网络发送模块(50)、计时器模块(60)和监视器(70);
数据源类流产生模块(10)第一方面在FPGA的只读存储器中写入SR_A类流的数据信息、SR_B类流的数据信息、BE类流的数据信息;第二方面控制SR_A流量、SR_B流量和BE流量的产生先后顺序,并依据时钟周期下的类流传输关系获得流量在AVB网络中所占用的运行网络带宽值BW;第三方面从FPGA的ROM中读取SR_A数据帧、SR_B数据帧和BE数据帧,然后依据数据帧的帧格式进行组装,获得属于SR_A数据帧的SR_A流量、属于SR_B数据帧的SR_B流量和属于BE数据帧的BE流量;第四方面输出SR_A流量、SR_B流量和BE流量给网络接收模块(20)中的数据帧类型检测单元(21);
∑MSR_A表示在时钟周期T0下传输SR_A类流的数据帧的总字节长度;
∑MSR_B表示在时钟周期T0下传输SR_B类流的数据帧的总字节长度;
∑MBE表示在时钟周期T0下传输BE类流的数据帧的总字节长度;
T0表示时钟周期,单位为秒;
网络接收模块(20)至少包括有数据帧类型检测单元(21)、接收计时单元(22)、开始时间戳插入单元(23)和FIFO写信号控制单元(24);
网络接收模块(20)第一方面用于接收来自数据源模块(10)输出的SR_A流量、SR_B流量和BE流量,而数据帧类型检测单元(21)会依据VLAN的priority域检测判断出所接收到的SR_A流量、SR_B流量和BE流量的各自数据帧的类型及所述SR_A流量、SR_B流量和BE流量的各自数据帧的起始有效信号;而开始时间戳插入单元(23)在数据帧类型检测单元(21)获取数据帧起始有效信号时,立即触发,开始时间戳插入单元(23)将接收数据帧的开始时刻记录到数据帧的avtp_timestamp_st域中;开始时间戳插入单元(23)接收的是计时器模块(60)输出的硬件时间戳的值;
第二方面用于接收来自AVB网络输出的以数据帧分开进行传输的各类流量,并提取出所述流量的数据帧起始有效信号;
第三方面通过接收计时单元(22)对起始时间进行记录;接收计时单元(22)计时持续时间是从收到流量开始至接收到数据帧结束有效信号时止;
第四方面在接收计时单元(22)的计时过程中,FIFO写信号控制单元(24)用于产生控制FIFO模块(40)中写控制信号的有效时间;
第五方面网络接收模块(20)输出与FIFO模块(40)中类型相同的FIFO中缓存,即网络接收模块(20)将接收到的数据帧,除去mac_destination_address、mac_source_address和VLAN以后,剩余的数据帧输出给FIFO模块(40),而FIFO模块(40)中至少设有FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器,经数据帧类型检测单元(21)检测判断出相应的数据帧类型,并依此类型在写入到各自的FIFO缓存器中;
CBS流控模块(30)包括有信用量变化单元(31)和发送标志信号产生单元(32);信用量变化单元(31)是根据信用量的规律产生AVB网络中流量的信用量;发送标志信号产生单元(32)用于产生标志位,对于标志位的有效条件包括有FIFO缓存器的空状态、流量的信用量、网络节点的阻塞状态和高优先级流量的发送条件是否满足;
FIFO模块(40)中至少包括有FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器,所述FIFO_SR_A缓存器用于对SR_A流量进行缓冲,所述FIFO_SR_B缓存器用于对SR_B流量进行缓冲,所述FIFO_BE缓存器用于对BE流量缓冲;FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器分别设有写接口和读接口;其中写接口由写数据信号和写控制信号组成,写接口用于接收网络接收模块(20)输出的数据帧;读接口由读数据信号和读控制信号组成,读接口用于输出数据帧给网络发送模块(50)的数据包重组单元(51);当FIFO为空状态时,输出空状态信号给CBS流控模块(30)中的发送标志信号产生单元(32);
网络发送模块(50)至少包括有数据帧重组单元(51)、发送计时单元(52)、结束时间戳插入单元(53)和FIFO读信号控制单元(54);
网络发送模块(50)第一方面用于接收发送标志信号产生单元(32)输出的信息发送标志位;
第二方面通过发送计时单元(52)对起始时间进行记录;发送计时单元(52)计时持续时间是从流量开始发送至发送一个完整的数据帧结束;
第三方面依据FIFO读信号控制单元(54)产生一个读信号,并从相应的FIFO_SR_A缓存器、FIFO_SR_B缓存器和FIFO_BE缓存器中读入数据帧;
第四方面是结束时间戳插入单元(53)依据计时器模块(60)输出的硬件时间戳的值在发送完成数据帧后触发;结束时间戳插入单元(53)将发送数据帧的结束时刻记录到数据帧的avtp_timestamp_ed域中;
第五方面是数据包重组单元(51)根据AVB网络数据帧的格式组装一个完整的数据帧,并将所述的完整数据帧发送至监视器(70)中进行实时可视化显示;
计时器模块(60)用于生成硬件时间戳信息,该硬件时间戳信息是一个周期计数的计时器,即硬件时间戳的值;所述硬件时间戳的值的计时周期TC需要满足AVB网络节点在处理同一帧数据时,网络接收模块(20)接收数据帧的开始时刻和网络发送模块(50)发送数据帧的结束时刻唯一确定的要求;计时器模块(60)在AVB网络节点正常工作中会不间断地循环计时,并将计时结果同时输出到网络接收模块(20)和网络发送模块(50)中;
计数器模块(60)的计数周期记为TC,根据SR_A流量、SR_B流量和BE流量中记录的开始时间戳和结束时间戳,能够计算出网络流量通过AVB网络节点的最大延迟,然后在网络流量可视化模块(70)中实时显示出来;
SR_A类流在AVB网络节点中的最大延迟记为
SR_B类流在AVB网络节点中的最大延迟记为
BE类流在AVB网络节点中的最大延迟记为
监视器(70)用于可视化显示网络流量在CBS方法下的延迟结果,即 因此网络流量可视化的同时显示三种类型网络流量的延迟值,并且能够显示出延迟值中的最大值,这个最大值就是AVB网络最坏情况下的最大延迟结果。
2.根据权利要求1所述的基于CBS流控机制的AVB网络流量最大延迟测试的装置,其特征在于:CBS流控模块(30)控制状态机分为四个状态,分别是没有任一类型流量满足发送条件的记为“空”状态、SR_A流量满足发送条件时的记为“发送SR_A”状态、SR_B流量满足发送条件时的记为“发送SR_B”状态和BE流量满足发送条件时的记为“发送BE”状态;状态机在初始启动时,CBS流控模块(30)处于“空”状态,之后应用发送标志信号产生单元(32)根据四个条件决定不同状态之间的跳转;
当状态机处于“空”状态时,从“空”状态跳转到“发送SR_A”状态的条件是FIFO_SR_A缓存器非空和SR_A流量的信用量大于等于0;从“空”状态跳转到“发送SR_B”状态的条件是FIFO_SR_B缓存器非空、SR_B流量的信用量大于等于0和SR_A流量不满足发送条件;从“空”状态跳转到“发送BE”状态的条件是FIFO_BE缓存器非空、SR_A流量和SR_B流量不满足发送条件;其它所有情况下均保持“空”状态不变;
当状态机的当前处于“发送SR_A”状态时,从“发送SR_A”状态跳转到“发送SR_B”状态的条件是FIFO_SR_B缓存器非空、SR_B流量的信用量大于等于0和SR_A流量不满足发送条件;从“发送SR_A”状态跳转到“发送BE”状态的条件是FIFO_BE缓存器非空、SR_A流量和SR_B流量不满足发送条件;“发送SR_A”状态保持不变的条件是FIFO_SR_A缓存器非空和SR_A流量的信用量大于等于0;其它所有情况下均会从“发送SR_A”状态跳转到“空”状态;
当状态机的当前处于“发送SR_B”状态时,从“发送SR_B”状态跳转到“发送SR_A”状态的条件是FIFO_SR_A缓存器非空和SR_A流量的信用量大于等于0;“发送SR_B”状态保持不变的条件是FIFO_SR_B缓存器非空、SR_B流量的信用量大于等于0和SR_A流量不满足发送条件;从“发送SR_B”状态跳转到“发送BE”状态的条件是FIFO_BE缓存器非空、SR_A流量和SR_B流量不满足发送条件;其它所有情况下均会从“发送SR_B”状态跳转到“空”状态;
当状态机的当前处于“发送BE”状态时,从“发送BE”状态跳转到“发送SR_A”状态的条件是FIFO_SR_A缓存器非空和SR_A流量的信用量大于等于0;从“发送BE”状态跳转到“发送SR_B”状态的条件是FIFO_SR_B缓存器非空、SR_B流量的信用量大于等于0和SR_A流量不满足发送条件;“发送BE”状态保持不变的条件是FIFO_BE缓存器非空、SR_A流量和SR_B流量不满足发送条件;其它所有情况下均会从“发送BE”状态跳转到“空”状态。
3.根据权利要求1所述的基于CBS流控机制的AVB网络流量最大延迟测试的装置,其特征在于:FIFO模块(40)对数据帧的读写控制需要满足FIFO满状态时不进行写操作、FIFO空状态时不进行读操作的原则。
4.根据权利要求1所述的基于CBS流控机制的AVB网络流量最大延迟测试的装置,其特征在于:所述装置采用FPGA硬件实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711367379.XA CN107911265B (zh) | 2017-12-18 | 2017-12-18 | 一种基于cbs流控机制的avb网络流量最大延迟测试的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711367379.XA CN107911265B (zh) | 2017-12-18 | 2017-12-18 | 一种基于cbs流控机制的avb网络流量最大延迟测试的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107911265A true CN107911265A (zh) | 2018-04-13 |
CN107911265B CN107911265B (zh) | 2019-08-20 |
Family
ID=61870188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711367379.XA Active CN107911265B (zh) | 2017-12-18 | 2017-12-18 | 一种基于cbs流控机制的avb网络流量最大延迟测试的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107911265B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418723A (zh) * | 2018-05-29 | 2018-08-17 | 合肥工业大学 | 一种车载以太网avb预留带宽优化配置方法 |
CN108768780A (zh) * | 2018-06-04 | 2018-11-06 | 合肥工业大学 | 一种用于车载网络通信保障的动态时间环方法 |
CN111786844A (zh) * | 2019-04-04 | 2020-10-16 | 郑州宇通客车股份有限公司 | 一种减小以太网avb通信延时的方法 |
CN112821977A (zh) * | 2021-04-16 | 2021-05-18 | 之江实验室 | 一种异步低延时时间敏感数据处理方法 |
CN113783756A (zh) * | 2020-09-29 | 2021-12-10 | 北京航空航天大学 | 一种基于cbs整形机制的流量排队的网络性能评估方法 |
CN115865810A (zh) * | 2023-02-22 | 2023-03-28 | 浙江中控研究院有限公司 | 一种时间敏感网络中信用值流量调度系统及方法 |
CN116684659A (zh) * | 2023-08-02 | 2023-09-01 | 苏州浪潮智能科技有限公司 | Bmc芯片的视频输出控制模块、方法、设备和服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337885A (zh) * | 2015-09-28 | 2016-02-17 | 北京信息科技大学 | 一种适用于信用量整形网络的多段分组最坏延迟计算方法 |
CN107070808A (zh) * | 2017-02-28 | 2017-08-18 | 北京航空航天大学 | 一种基于信用量整形的avb网络多类预定流最坏排队延迟处理方法 |
-
2017
- 2017-12-18 CN CN201711367379.XA patent/CN107911265B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337885A (zh) * | 2015-09-28 | 2016-02-17 | 北京信息科技大学 | 一种适用于信用量整形网络的多段分组最坏延迟计算方法 |
CN107070808A (zh) * | 2017-02-28 | 2017-08-18 | 北京航空航天大学 | 一种基于信用量整形的avb网络多类预定流最坏排队延迟处理方法 |
Non-Patent Citations (2)
Title |
---|
LIN ZHAO: ""Comparison of AFDX and Audio Video Bridging Forwarding Methods Using Network Calculus Approach"", 《IEEE》 * |
李二帅等: ""AVB网络流量整形帧模型端到端延迟计算"", 《北京航空航天大学学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418723A (zh) * | 2018-05-29 | 2018-08-17 | 合肥工业大学 | 一种车载以太网avb预留带宽优化配置方法 |
CN108418723B (zh) * | 2018-05-29 | 2021-01-12 | 合肥工业大学 | 一种车载以太网avb预留带宽优化配置方法 |
CN108768780A (zh) * | 2018-06-04 | 2018-11-06 | 合肥工业大学 | 一种用于车载网络通信保障的动态时间环方法 |
CN108768780B (zh) * | 2018-06-04 | 2021-06-01 | 合肥工业大学 | 一种用于车载网络通信保障的动态时间环建立方法 |
CN111786844A (zh) * | 2019-04-04 | 2020-10-16 | 郑州宇通客车股份有限公司 | 一种减小以太网avb通信延时的方法 |
CN113783756A (zh) * | 2020-09-29 | 2021-12-10 | 北京航空航天大学 | 一种基于cbs整形机制的流量排队的网络性能评估方法 |
CN113783756B (zh) * | 2020-09-29 | 2022-08-05 | 北京航空航天大学 | 一种基于cbs整形机制的流量排队的网络性能评估方法 |
CN112821977A (zh) * | 2021-04-16 | 2021-05-18 | 之江实验室 | 一种异步低延时时间敏感数据处理方法 |
CN115865810A (zh) * | 2023-02-22 | 2023-03-28 | 浙江中控研究院有限公司 | 一种时间敏感网络中信用值流量调度系统及方法 |
CN115865810B (zh) * | 2023-02-22 | 2023-06-09 | 浙江中控研究院有限公司 | 一种时间敏感网络中信用值流量调度系统及方法 |
CN116684659A (zh) * | 2023-08-02 | 2023-09-01 | 苏州浪潮智能科技有限公司 | Bmc芯片的视频输出控制模块、方法、设备和服务器 |
CN116684659B (zh) * | 2023-08-02 | 2024-02-23 | 苏州浪潮智能科技有限公司 | Bmc芯片的视频输出控制模块、方法、设备和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN107911265B (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911265A (zh) | 一种基于cbs流控机制的avb网络流量最大延迟测试的装置 | |
CN102804714B (zh) | 控制分组传输 | |
US7061862B2 (en) | Inter-network relay system and method | |
US10069683B2 (en) | Apparatus for optimising a configuration of a communications network device | |
US7929431B2 (en) | Port rate smoothing in an avionics network | |
CN107948103A (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
US20090257441A1 (en) | Packet forwarding apparatus and method for discarding packets | |
JP2005124210A (ja) | 高帯域幅チャネル内に低帯域幅チャネルを生成する方法および装置 | |
GB2460920A (en) | Transmitting data as a set of logical data streams using a serial interface to stage the data streams and determine the readiness of the data stream | |
WO2015044822A1 (en) | Systems and methods for high throughput traffic pattern generation | |
US20140201354A1 (en) | Network traffic debugger | |
CN103634223B (zh) | 一种基于网络业务流的动态控制传输方法和装置 | |
CN115051938A (zh) | Opc ua-tsn传输时延测试系统及方法 | |
US7756165B2 (en) | Method and arrangement for producing a time interval between data frames | |
CN104283741B (zh) | 精确检测大流老化的方法及装置 | |
CN112804760B (zh) | 针对周期性数据流的规划调度方法、系统、设备和介质 | |
EP2639702A1 (en) | Circuit and method for software tracing | |
FI120284B (fi) | Huojuntapuskurin täyttöasteen säätö | |
CN106533869A (zh) | 数据转发方法及装置、电子设备 | |
Seliem et al. | Delay analysis of TSN based industrial networks with preemptive traffic using network calculus | |
CN112583658A (zh) | 一种可用带宽测量方法、存储介质及设备 | |
US20050147103A1 (en) | Packet scheduling method and apparatus | |
Nasri | New Approach of QoS Metric Modeling on Network on Chip. | |
CN101977131B (zh) | 一种考虑物理链路历史占用情况的虚拟链路帧间间隔的监测系统 | |
CN105099932B (zh) | 基于直通转发技术的调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |