CN117155883B - 一种实现报文定时发送的tsn网卡装置、方法及介质 - Google Patents

一种实现报文定时发送的tsn网卡装置、方法及介质 Download PDF

Info

Publication number
CN117155883B
CN117155883B CN202311428974.5A CN202311428974A CN117155883B CN 117155883 B CN117155883 B CN 117155883B CN 202311428974 A CN202311428974 A CN 202311428974A CN 117155883 B CN117155883 B CN 117155883B
Authority
CN
China
Prior art keywords
data packet
network card
sending
time
engine
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.)
Active
Application number
CN202311428974.5A
Other languages
English (en)
Other versions
CN117155883A (zh
Inventor
刘畅
金石
洪悦
王晋
王捷
田里
周亮
喻潇
徐江珮
龙凤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Hubei Electric Power Co Ltd
Electric Power Research Institute of State Grid Hubei Electric Power Co Ltd
Original Assignee
State Grid Hubei Electric Power Co Ltd
Electric Power Research Institute of State Grid Hubei Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Hubei Electric Power Co Ltd, Electric Power Research Institute of State Grid Hubei Electric Power Co Ltd filed Critical State Grid Hubei Electric Power Co Ltd
Priority to CN202311428974.5A priority Critical patent/CN117155883B/zh
Publication of CN117155883A publication Critical patent/CN117155883A/zh
Application granted granted Critical
Publication of CN117155883B publication Critical patent/CN117155883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种实现报文定时发送的TSN网卡装置、方法及介质,方法包括以下步骤:开启Linux内核ETF排队规则和网卡定时发送功能;把数据包的发送时间txtime写入socket控制信息cmsg中,连同数据包一起传入Linux内核;Linux内核收到带发送时间的数据包后,在临近最早发送时间的时候把最早待发数据包发送到网卡驱动程序;网卡驱动程序收到带发送时间的待发数据包后,提取数据包内存地址信息和数据包发送时间,再次驱动DMA引擎把待发数据包搬到网卡数据包SRAM中;网卡发送引擎等待网卡硬件时钟的时间超过了数据包发送时间,就把待发数据包从网卡数据包SRAM中发送出去。本申请可以准确实现报文的硬定时发送,降低了报文在网卡处的发送抖动。

Description

一种实现报文定时发送的TSN网卡装置、方法及介质
技术领域
本申请涉及通信技术领域,特别涉及一种实现报文定时发送的TSN网卡装置、方法及介质。
背景技术
时间敏感网络(Time-Sensitive Networking,TSN)是由 IEEE802 TSN 工作组提出的一种全新的标准化工业通信技术,它允许周期性数据和非周期性数据在同一网络中传输,为以太网提供低延时、低抖动和确定性传输的能力,使得以太网能适用于可靠性和时间敏感型的应用场景。TSN技术主要分为四大类:时间同步、流量调度、网络管理以及安全可靠。时间同步协议是IEEE 802.1AS,又称gPTP(generalized precision time protocol),在最大7跳的网络拓扑中,gPTP理论上能保证的时钟同步误差在1us以内。流量调度技术主要使用基于时间感知的调度机制(Time Awareness Shaper,TAS),精确指定多条周期性实时流在每个网络设备中的发送时间槽,来保证确定性端到端的时延。网络管理采用IEEE802.1Qcc标准,高效灵活地配置整个TSN网络,对所有网络设备进行统一的调度。
在一个确定性的TSN网络中,为了保证端到端的严格确定性时延,不仅仅每跳交换机使用TAS时间感知整形器。TSN端侧设备也要具有时间敏感特性。现在的网卡都是采用先进先出的方式调度数据包,导致数据包从网口处发出的时间存在不确定性,这样可能会造成从TSN端侧发出的报文到达第一跳交换机的时间在它的TAS调度表中的时间槽之后,这样该数据包会在这跳交换机中多逗留一段时间,导致端到端时延抖动比较大。
现在亟需一种实现报文定时发送的网卡装置,从而解决现有技术中在一个确定性的时间敏感网络中,报文的延迟和抖动较高的问题。
发明内容
本申请实施例的目的在于提供一种实现报文定时发送的TSN网卡装置、方法及介质,可以准确实现报文的硬定时发送,降低了报文在网卡处的发送抖动。
为实现上述目的,本申请提供如下技术方案:
第一方面,本申请实施例提供一种实现报文定时发送的TSN网卡装置,所述装置包括:
PTP时钟同步模块,接收操作系统设置的时钟调节,生成全局时间,用于在MAC层给报文打上时间戳,以及在发送引擎模块内用于基于发送时间的数据包调度;
IO引擎,将PCIe操作转换为读写寄存器操作,用于网卡驱动程序配置和通知网卡;
DMA引擎,将PCIe操作转换为DMA操作,用于网卡与操作系统之间的描述符搬运和报文搬运;
描述符提取模块,驱动DMA引擎将网卡驱动程序中环形缓冲区里的描述符搬到网卡SRAM里;
发送引擎模块,解析描述符信息,驱动DMA引擎将操作系统中数据包搬到网卡数据包SRAM里,并根据描述符中发送时间,将数据包从网卡数据包SRAM中发送出去;
MAC模块,给以太网帧打上前导码和CRC校验码,并在前导码处给报文打上硬件时间戳,放入完成描述符中。
第二方面,本申请实施例提供一种实现报文定时发送的方法,包括以下步骤:
步骤101:开启Linux内核ETF排队规则和网卡定时发送功能;
步骤102:把数据包的发送时间txtime写入socket控制信息cmsg中,连同数据包一起传入Linux内核;
步骤103:Linux内核收到带发送时间的数据包后,按照发送时间将数据包排序并入队,在临近最早发送时间的时候把最早待发数据包发送到网卡驱动程序;
步骤104:网卡驱动程序收到带发送时间的待发数据包后,把数据包的发送时间写入到数据包发送描述符中,通知网卡读取数据包发送描述符以及待发数据包;
步骤105:网卡收到发送新数据包的通知后,驱动DMA引擎将数据包发送描述符搬到网卡描述符SRAM中,提取数据包内存地址信息和数据包发送时间,再次驱动DMA引擎把待发数据包搬到网卡数据包SRAM中;
步骤106:网卡发送引擎等待网卡硬件时钟的时间超过了数据包发送时间,就把待发数据包从网卡数据包SRAM中发送出去。
所述步骤101中,用户利用Linux tc工具配置Linux ETF Qdisc,开启Linux内核ETF排队规则和网卡定时发送功能。
所述步骤102中,用户应用程序调度Socket系统调度,把数据包的发送时间txtime写入socket控制信息cmsg中,连同数据包一起传入Linux内核。
所述步骤103中,Linux内核ETF Qdisc收到带发送时间的数据包后,按照发送时间将数据包排序并入队,在临近最早发送时间的时候把最早待发数据包发送到网卡驱动程序,这个临近最早发送时间的时刻是txtime-delta,delta是用户可配置时间。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码,所述程序代码被处理器执行时,实现如上所述的实现报文定时发送的方法的步骤。
与现有技术相比,本申请的有益效果是:
本发明使用基于FPGA的TSN网卡实现报文定时发送功能,使用Linuxptp保证操作系统软件时钟和网卡硬件时钟同步,使用Linux ETF Qdisc的排队规则确保带发送时间的描述符进入网卡,在网卡处基于时间触发的方式使待发送报文能够精准地按照待发送报文的发送时刻从网口处离开,配合交换机的时间感知调度特性,进一步地降低了报文的延迟和抖动。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1所示是本文实施例报文定时发送的过程;
图2所示是本文实施例的一种实现报文定时发送的基于FPGA的TSN网卡装置示意图。
图3所示是本文实施例TSN网卡的发送引擎模块示意图。
图4所示是本文实施例TSN网卡的PTP时钟同步模块示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
本文实施例所述的一种实现报文定时发送的基于FPGA的TSN网卡装置可以应用于时间敏感网络系统,解决现有技术中在一个确定的时间敏感网络中,终端周期性实时流的报文定时发送问题。
图1所示为本文实施例数据包从linux应用程序到网卡定时发送的过程。在本图中描述了报文定时发送的过程,应用了Linux内核ETF Qdisc排队规则。具体的如图1所示,所述流程可以包括:
步骤101:用户利用Linux tc工具配置Linux ETF Qdisc,开启Linux内核ETF排队规则和网卡定时发送功能,Linux内核从4.19版本起增加了ETF Qdisc排队规则;
步骤102:用户应用程序调度Socket系统调度,把数据包的发送时间txtime写入socket控制信息cmsg中,连同数据包一起传入Linux内核;
步骤103:Linux内核ETF Qdisc收到带发送时间的数据包后,会按照发送时间将数据包排序并入队,在临近最早发送时间的时候把最早待发数据包发送到网卡驱动程序,这个临近最早发送时间的时刻是txtime-delta,delta是用户可配置时间;
步骤104:网卡驱动程序收到带发送时间的待发数据包后,把数据包的发送时间写入到数据包发送描述符中,通知网卡读取数据包发送描述符以及待发数据包;
步骤105:网卡收到发送新数据包的通知后,驱动DMA引擎将数据包发送描述符搬到网卡描述符SRAM中,提取数据包内存地址信息和数据包发送时间,再次驱动DMA引擎把待发数据包搬到网卡数据包SRAM中;
步骤106:网卡发送引擎等待网卡硬件时钟的时间超过了数据包发送时间,就把待发数据包从网卡数据包SRAM中发送出去。
图2所示是本文实施例网卡内部逻辑示意图,所述模块包括:
IO引擎201:IO引擎将网卡PCIe操作转换为读写寄存器操作,在网卡内部有三个用途,一是更新描述符提取模块205的队列指针,用来网卡驱动程序通知网卡要发送新的数据包;二是激活发送引擎模块206的报文定时发送功能;三是配置PTP时钟同步模块203的相位调节和频率调节;
DMA引擎202:DMA引擎将PCIe操作转换为DMA操作,用于网卡与Linux内核之间的描述符搬运和报文搬运。
PTP时钟同步模块203:在本文实施例中,Linux内核运行的linuxptp计算出来的频偏和相偏通过网卡驱动程序的时钟寄存器配置接口写入到PTP时钟同步模块,调整网卡硬件时钟的节拍和相位,从而实现网络设备之间的网络时钟同步,和网卡设备的网络时钟与Linux操作系统软件时钟同步,同步后的时钟生成全局当前时间(单位:纳秒),输入到MAC模块204和发送引擎模块206;
MAC模块204:MAC模块给待发数据包打上前导码和CRC校验码,组成完整的以太网帧,发送到以太网物理层芯片,并在发送前导码的时候(D5)记录全局当前时间,作为硬件时间戳,放入完成描述符中,通过DMA引擎202,搬到网卡驱动程序,最终作为linuxptp程序的输入,持续调整网卡的硬件时钟;
描述符提取模块205:描述符提取模块通过IO引擎201接收网卡驱动程序发送新数据包的通知,更新队列指针,从而驱动DMA引擎202将网卡驱动程序中环形缓冲区里的数据包描述符搬到网卡描述符SRAM,再把描述符传入发送引擎模块206中;
发送引擎模块206:发送引擎模块通过IO引擎201接收网卡驱动程序激活定时发送特性的通知,开启报文定时发送功能,同时接收描述符提取模块205传来的发送数据包描述符和PTP时钟同步模块203传来的全局当前时间,并解析描述符,获取数据包在内存中的地址信息和发送时间,驱动DMA引擎202将数据包从内存搬到网卡数据包SRAM,按照数据包的发送时间定时将待发数据包从SRAM中发送出去。
图3所示是本文实施例TSN网卡的发送引擎模块内部逻辑示意图。所述数据包路径可以包括:
步骤301:当发送数据包描述符进入发送引擎模块时,先判断它处于哪个发送队列,如果是队列0,则进入定时发送引擎,如果是其他队列1…N,则进入先进先出发送引擎;
步骤302:尽力而为发送引擎会解析出数据包描述符中的内存地址信息,驱动DMA引擎202把待发数据包搬到内部SRAM中,内部SRAM组成FIFO队列,只要队列头部有待发数据包,就采用先进先出的方式把队列头部的数据包给发送出去;
步骤303:定时发送引擎会解析出数据包描述符的内存地址信息和发送时间调度信息,如果全局当前时间超过了数据包发送时间,则表示超时,丢弃数据包,通知网卡驱动程序释放数据包占用的内存,如果全局当前时间小于数据包发送时间,则驱动DMA引擎202将数据包从内存搬到网卡数据包SRAM;
在本文实施例中,由于Linux ETF Qdisc已经把队列0的代发数据包按照发送时间排序,所以进入网卡队列0的待发数据包是有序的,因此定时发送引擎也是采用先进先出的顺序调度数据包,其内部SRAM也是组成FIFO队列。与上面尽力而为发送引擎不同的是队列里的待发数据包会在SRAM中多等待一会,直到全局当前时间超过了队列头部待发数据包的发送时间,才将该待发数据包从内部SRAM中发送出去。
步骤304:当尽力而为发送引擎和定时发送引擎同时都有数据包要发送出去的时候,会优先发送定时发送引擎要发送的数据包,等待定时发送引擎发送完后才发送尽力而为发送引擎要发送的数据包。
图4所示是本文实施例TSN网卡的PTP时钟同步模块内部逻辑示意图。在本文实施例中,数据包的发送时间是利用Linux系统时间计算出来的,而数据包基于发送时间的调度在网卡硬件处,是根据网卡硬件时间来决策的,所以报文定时发送的前提是Linux系统时间和网卡硬件时间同步。网卡硬件时钟同步的过程如下:
时间累加器401根据时钟晶振的节拍计算出全局当前时间,一拍更新一次,同时根据Linux内核运行的linuxptp计算出来的频偏值和相偏值来进行频率调节和相位调节。时间累加器401利用频偏寄存器402和相偏寄存器403实时纠正同步时钟的节拍和全局当前时间的相位。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码,所述程序代码被处理器执行时,实现如上所述的实现报文定时发送的方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (6)

1.一种实现报文定时发送的TSN网卡装置,其特征在于,所述装置包括:
PTP时钟同步模块,接收操作系统设置的时钟调节,生成全局时间,用于在MAC层给报文打上时间戳,以及在发送引擎模块内用于基于发送时间的数据包调度;
IO引擎,将PCIe操作转换为读写寄存器操作,用于网卡驱动程序配置和通知网卡;
DMA引擎,将PCIe操作转换为DMA操作,用于网卡与操作系统之间的描述符搬运和报文搬运;
描述符提取模块,驱动DMA引擎将网卡驱动程序中环形缓冲区里的描述符搬到网卡SRAM里;
发送引擎模块,解析描述符信息,驱动DMA引擎将操作系统中数据包搬到网卡数据包SRAM里,并根据描述符中发送时间,将数据包从网卡数据包SRAM中发送出去;
MAC模块,给以太网帧打上前导码和CRC校验码,并在前导码处给报文打上硬件时间戳,放入完成描述符中;
发送引擎模块的具体工作流程为,当发送数据包描述符进入发送引擎模块时,先判断它处于哪个发送队列,如果是队列0,则进入定时发送引擎,如果是其他队列1…N,则进入先进先出发送引擎;
尽力而为发送引擎会解析出数据包描述符中的内存地址信息,驱动DMA引擎把待发数据包搬到内部SRAM中,内部SRAM组成FIFO队列,只要队列头部有待发数据包,就采用先进先出的方式把队列头部的数据包给发送出去;
定时发送引擎会解析出数据包描述符的内存地址信息和发送时间调度信息,如果全局当前时间超过了数据包发送时间,则表示超时,丢弃数据包,通知网卡驱动程序释放数据包占用的内存,如果全局当前时间小于数据包发送时间,则驱动DMA引擎将数据包从内存搬到网卡数据包SRAM;
当尽力而为发送引擎和定时发送引擎同时都有数据包要发送出去的时候,会优先发送定时发送引擎要发送的数据包,等待定时发送引擎发送完后才发送尽力而为发送引擎要发送的数据包。
2.一种实现报文定时发送的方法,应用如权利要求1所述的装置,其特征在于,包括以下步骤:
步骤101:开启Linux内核ETF排队规则和网卡定时发送功能;
步骤102:把数据包的发送时间txtime写入socket控制信息cmsg中,连同数据包一起传入Linux内核;
步骤103:Linux内核收到带发送时间的数据包后,按照发送时间将数据包排序并入队,在临近最早发送时间的时候把最早待发数据包发送到网卡驱动程序;
步骤104:网卡驱动程序收到带发送时间的待发数据包后,把数据包的发送时间写入到数据包发送描述符中,通知网卡读取数据包发送描述符以及待发数据包;
步骤105:网卡收到发送新数据包的通知后,驱动DMA引擎将数据包发送描述符搬到网卡描述符SRAM中,提取数据包内存地址信息和数据包发送时间,再次驱动DMA引擎把待发数据包搬到网卡数据包SRAM中;
步骤106:网卡发送引擎等待网卡硬件时钟的时间超过了数据包发送时间,就把待发数据包从网卡数据包SRAM中发送出去。
3.根据权利要求2所述的一种实现报文定时发送的方法,其特征在于,
所述步骤101中,用户利用Linux tc工具配置Linux ETF Qdisc,开启Linux内核ETF排队规则和网卡定时发送功能。
4.根据权利要求2所述的一种实现报文定时发送的方法,其特征在于,
所述步骤102中,用户应用程序调度Socket系统调度,把数据包的发送时间txtime写入socket控制信息cmsg中,连同数据包一起传入Linux内核。
5.根据权利要求2所述的一种实现报文定时发送的方法,其特征在于,
所述步骤103中,Linux内核ETF Qdisc收到带发送时间的数据包后,按照发送时间将数据包排序并入队,在临近最早发送时间的时候把最早待发数据包发送到网卡驱动程序,这个临近最早发送时间的时刻是txtime-delta,delta是用户可配置时间。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序代码,所述程序代码被处理器执行时,实现如权利要求2至5任一项所述的实现报文定时发送的方法的步骤。
CN202311428974.5A 2023-10-31 2023-10-31 一种实现报文定时发送的tsn网卡装置、方法及介质 Active CN117155883B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311428974.5A CN117155883B (zh) 2023-10-31 2023-10-31 一种实现报文定时发送的tsn网卡装置、方法及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311428974.5A CN117155883B (zh) 2023-10-31 2023-10-31 一种实现报文定时发送的tsn网卡装置、方法及介质

Publications (2)

Publication Number Publication Date
CN117155883A CN117155883A (zh) 2023-12-01
CN117155883B true CN117155883B (zh) 2024-01-30

Family

ID=88912545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311428974.5A Active CN117155883B (zh) 2023-10-31 2023-10-31 一种实现报文定时发送的tsn网卡装置、方法及介质

Country Status (1)

Country Link
CN (1) CN117155883B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118199782A (zh) * 2024-05-20 2024-06-14 南昌智能新能源汽车研究院 以太网报文分时调度方法、系统、存储介质及智能设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040049732A (ko) * 2002-12-07 2004-06-12 한국전자통신연구원 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진 및방법과 그를 이용한 홈게이트웨이의 데이터 서비스 시스템
CN108123894A (zh) * 2017-12-22 2018-06-05 湖南卫导信息科技有限公司 一种基于Intel万兆网卡实现采样数据流低延迟传输的方法
CN115065646A (zh) * 2022-04-29 2022-09-16 中国电子技术标准化研究院 一种基于软硬件协同的报文定时发送方法及装置
CN115904650A (zh) * 2022-10-25 2023-04-04 奇安信科技集团股份有限公司 Linux系统下的定时任务监管方法及装置
CN116615899A (zh) * 2021-12-15 2023-08-18 新华三技术有限公司 确定性流传输方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040049732A (ko) * 2002-12-07 2004-06-12 한국전자통신연구원 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진 및방법과 그를 이용한 홈게이트웨이의 데이터 서비스 시스템
CN108123894A (zh) * 2017-12-22 2018-06-05 湖南卫导信息科技有限公司 一种基于Intel万兆网卡实现采样数据流低延迟传输的方法
CN116615899A (zh) * 2021-12-15 2023-08-18 新华三技术有限公司 确定性流传输方法及装置
CN115065646A (zh) * 2022-04-29 2022-09-16 中国电子技术标准化研究院 一种基于软硬件协同的报文定时发送方法及装置
CN115904650A (zh) * 2022-10-25 2023-04-04 奇安信科技集团股份有限公司 Linux系统下的定时任务监管方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于网络驱动接口规范的网络时延测量位置误差消除方法;陈世强;周旭;王俊峰;唐晖;;计算机应用(第07期);全文 *

Also Published As

Publication number Publication date
CN117155883A (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
CN117155883B (zh) 一种实现报文定时发送的tsn网卡装置、方法及介质
US10404608B2 (en) Systems, devices, and methods for low-jitter communication over a packet-switched network
CN110545152B (zh) 一种以太网中具有实时传输功能的上位机及以太网系统
CN112511376B (zh) 一种tsn网络转发时间特性的测量方法及终端
JP7394986B2 (ja) データパケットを送信する方法、及びこの方法を実施する装置
CN102754396B (zh) 发送数据的方法和网关设备
US9042411B1 (en) System and method for accurate time sampling in presence of output delay
US10764201B2 (en) System and method for scheduling communications
WO2018076641A1 (zh) 一种减少时延的方法、装置及存储介质
US9344375B2 (en) Method for transmitting data packets between two communication modules and communication module for transmitting data packets, as well as communication module for receiving data packets
CN106788842B (zh) 一种ptp报文的处理方法及soc
CN115086177A (zh) 数据传输方法、装置、电子设备及存储介质
ES2265055T3 (es) Proceso para el funcionamiento de un usuario final de un sistema de comunicacion isocrono y ciclico.
CN108683470B (zh) 一种获取和更新透明时钟的电路及方法
CN112491620B (zh) 一种基于srio的多通道数据传输控制器及调整方法
US11755517B2 (en) Communication control device, communication control method, information processing device, information processing method, and computer program product
Berisa et al. Investigating and Analyzing CAN-to-TSN Gateway Forwarding Techniques
CN115065646A (zh) 一种基于软硬件协同的报文定时发送方法及装置
CN103490995A (zh) 报文发送方法和装置
CN109787875B (zh) 通讯总线转换系统
US10812402B2 (en) Shaping of post-scheduling network pipeline jitter
US20230171198A1 (en) Communication control device, information processing device, communication control method, and information processing method
US20230171200A1 (en) Communication control device, information processing device, communication control method, information processing method, and storage medium
CN111385219A (zh) 借用硬件中断实现高性能高精度软件tcp限速的方法
Fejes et al. The TSN Building Blocks in Linux

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