CN113660351A - 数据通信方法、装置、通信终端及计算机可读存储介质 - Google Patents
数据通信方法、装置、通信终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113660351A CN113660351A CN202111207279.7A CN202111207279A CN113660351A CN 113660351 A CN113660351 A CN 113660351A CN 202111207279 A CN202111207279 A CN 202111207279A CN 113660351 A CN113660351 A CN 113660351A
- Authority
- CN
- China
- Prior art keywords
- terminal
- sending
- service data
- data buffer
- processed
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据通信方法、装置、通信终端及计算机可读存储介质,应用于第一终端的现场可编程逻辑门阵列,所述第一终端与至少一个第二终端在时间触发以太网网络系统下进行数据通信,所述方法包括:接收第一终端的中央处理器获取的待处理业务数据帧的特征参数,所述特征参数包括所述待处理业务数据帧的内存地址和虚链路标号信息;将所述特征参数写入预设数量的发送数据缓冲描述符,其中,各发送数据缓冲描述符具有相同大小的存储空间;根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧,目标终端为任一第二终端。通过构建发送数据缓冲描述符的方式,有序的在终端之间传输业务数据帧,大大提升了通信终端之间的通信带宽。
Description
技术领域
本发明涉及计算机网络通信领域,尤其涉及一种数据通信方法、装置、通信终端及计算机可读存储介质。
背景技术
时间触发以太网(Time Triggered Ethernet,简称TTE)网络系统包括终端系统和支持TTE协议的交换机。目前终端系统的硬件均包括现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)逻辑和ARM CPU(central processing unit,中央处理器)。
CPU上的应用程序在发送业务数据时,需要把待发送的数据写入FPGA提供的寄存器发送缓存空间,同时应用程序在接收业务数据时,需要从FPGA提供的寄存器接收缓存空间读取数据信息。CPU访问FPGA的寄存器每次只能读或写4个字节,这样CPU要发送数据包或读取数据包,需要不断循环读或写寄存器一定次数才能完成。比如读写1000个字节的数据,需要循环读写250次寄存器。而读写一个寄存器一般用时200ns左右,这种方式的业务数据的发送和接收性能很差,导致CPU和FPGA之间的通信接口的带宽小。
发明内容
为了解决上述技术问题,本申请实施例提供了一种数据通信方法、装置、通信终端及计算机可读存储介质,具体方案如下:
第一方面,本申请实施例提供了一种数据通信方法,应用于第一终端的现场可编程逻辑门阵列,所述第一终端与至少一个第二终端在时间触发以太网网络系统下进行数据通信,所述方法包括:
接收所述第一终端的中央处理器获取的待处理业务数据帧的多组特征参数,其中,一组特征参数包括对应一个发送数据缓冲描述符存储空间的所述待处理业务数据帧的内存地址和虚链路标号信息;
将所述待处理业务数据帧的多组特征参数分别写入预设数量的发送数据缓冲描述符,其中,各发送数据缓冲描述符具有相同大小的存储空间;
根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧,所述目标终端为任一第二终端。
根据本申请实施例的一种具体实施方式,所述根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧的步骤,包括:
根据所述发送数据缓冲描述符中的所述待处理业务数据帧的内存地址,从预设的存储器中提取所述待处理业务数据帧;
根据所述发送数据缓冲描述符中的所述虚链路标号信息确定目标终端;
向所述目标终端发送所述待处理业务数据帧。
根据本申请实施例的一种具体实施方式,所述发送数据缓冲描述符还包括描述符结束标志信息,根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧的步骤之后,所述方法还包括:
检测所述发送数据缓冲描述符的所述描述符结束标志信息;
若检测所述描述符结束标志信息指示未结束,继续读取下一个发送数据缓冲描述符中的待处理业务数据帧的内存地址和虚链路标号信息;
若检测所述描述符结束标志信息指示结束,向所述中央处理器发送中断信号,并释放所述发送数据缓冲描述符的存储空间。
第二方面,本申请实施例还提供了一种数据通信方法,应用于第二终端的现场可编程逻辑门阵列,所述第二终端与至少一个第一终端在时间触发以太网网络系统下进行数据通信,所述方法包括:
将所述第二终端的中央处理器待接收的待处理业务数据帧的存储空间地址写入预设数量的接收数据缓冲描述符;
根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器,所述发送终端为任一第一终端;
将所述发送终端发送的待处理业务数据帧的特征参数写入所述接收数据缓冲描述符,所述特征参数包括所述待处理业务数据帧对应的内存地址和对应的虚链路标号信息。
根据本申请实施例的一种具体实施方式,所述接收数据缓冲描述符还包括描述符结束标志信息,所述根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器的步骤之后,所述方法还包括:
检测所述接收数据缓冲描述符的所述描述符结束标志信息;
若检测所述描述符结束标志信息指示未结束,则继续向下一个接收数据缓冲描述符写入所述发送终端发送的待处理业务数据帧的特征参数;
若检测所述描述符结束标志信息指示结束,则向所述中央处理器发送中断信息,以使所述中央处理器从所述存储器中读取所述待处理业务数据帧。
根据本申请实施例的一种具体实施方式,所述向所述中央处理器发送中断信息的步骤之后,所述方法还包括:
释放各接收数据缓冲描述符的存储空间。
第三方面,本申请实施例还提供了一种数据通信装置,应用于第一终端的现场可编程逻辑门阵列,所述第一终端与至少一个第二终端在时间触发以太网网络系统下进行数据通信,所述装置包括:
接收模块,用于接收所述第一终端的中央处理器获取的待处理业务数据帧的特征参数,所述特征参数包括所述待处理业务数据帧的内存地址和虚链路标号信息;
写入模块,用于将所述待处理业务数据帧的特征参数写入预设数量的发送数据缓冲描述符,其中,各发送数据缓冲描述符具有相同大小的存储空间;
发送模块,用于根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧,所述目标终端为任一第二终端。
第四方面,本申请实施例还提供了一种数据通信装置,应用于第二终端的现场可编程逻辑门阵列,所述第二终端与至少一个第一终端在时间触发以太网网络系统下进行数据通信,所述装置包括:
第一写入模块,用于将所述第二终端的中央处理器待接收的待处理业务数据帧的存储空间地址写入预设数量的接收数据缓冲描述符;
存储模块,用于根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器,所述发送终端为任一第一终端;
第二写入模块,用于将所述发送终端发送的待处理业务数据帧的特征参数写入所述接收数据缓冲描述符,所述特征参数包括所述待处理业务数据帧对应的内存地址和对应的虚链路标号信息。
第五方面,本申请实施例还提供了一种通信终端,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行第一方面和第二方面所述的数据通信方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面和第二方面所述的数据通信方法。
本申请实施例提供了一种数据通信方法、装置、通信终端及计算机可读存储介质,应用于第一终端的现场可编程逻辑门阵列,所述第一终端与至少一个第二终端在时间触发以太网网络系统下进行数据通信,所述方法包括:接收所述第一终端的中央处理器获取的待处理业务数据帧的特征参数,所述特征参数包括所述待处理业务数据帧的内存地址和虚链路标号信息;将所述待处理业务数据帧的特征参数写入预设数量的发送数据缓冲描述符,其中,各发送数据缓冲描述符具有相同大小的存储空间;根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧,所述目标终端为任一第二终端。通过构建发送数据缓冲描述符的方式,有序的在终端之间传输业务数据帧,大大提升了通信终端之间的通信带宽。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例公开的一种时间触发以太网网络系统的结构连接示意图;
图2示出了本申请实施例公开的一种时间触发以太网网络系统中的端交互示意图;
图3示出了本申请实施例公开的一种应用于第一终端的现场可编程逻辑门阵列的数据通信方法的方法流程示意图;
图4示出了本申请实施例公开的一种数据通信方法所应用的第一终端的内部结构交互示意图;
图5示出了本申请实施例公开的一种应用于第二终端的现场可编程逻辑门阵列的数据通信方法的方法流程示意图;
图6示出了本申请实施例公开的一种数据通信方法所应用的第二终端的内部结构交互示意图;
图7示出了本申请实施例公开的一种应用于第一终端的现场可编程逻辑门阵列的数据通信装置的装置模块示意图;
图8示出了本申请实施例公开的一种应用于第二终端的现场可编程逻辑门阵列的数据通信装置的装置模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
如图1所示,时间触发以太网TTE网络系统包括终端系统(End System,简称ES)和支持TTE协议的交换机( Ethernet switch,简称SW)。目前端系统的硬件广泛采用XilinxZynq 7000系列芯片,它包括可编程逻辑(Progarmmable Logic,简称PL)和处理系统(Processing System,简称PS)两部分,其中,所述可编程逻辑对应FPGA逻辑,所述处理系统对应ARM CPU。
而如图2所示,PL层的FPGA用来实现TTE系统依赖的是AS6802时间同步协议,以及TTE业务数据帧的发送和接收处理功能。PS层的CPU上运行实时操作系统(Real-timeoperating system,简称RTOS),比如uC-OS(Micro-Controller Operating System,微控制器实时操作系统),再运行业务层的应用程序,实现业务功能。CPU和FPGA通过总线(Advanced eXtensible Interface,简称AXI)接口进行业务通信。
另外,PL层的FPGA通过吉比特介质独立接口(Reduced Gigabit MediaIndependent Interface,简称RGMII)连接到端口物理层(Physical layer,简称PHY),从而实现与交换机支架的通信。
而为了解决FPGA和CPU之间通信带宽小的问题,本申请实施例提供了一种具体的解决方案。
参考图3和图4,为本申请实施例公开的一种数据通信方法,应用于第一终端的现场可编程逻辑门阵列,所述第一终端与至少一个第二终端在时间触发以太网网络系统下进行数据通信,如图3所示,所述数据通信方法包括:
步骤S101,接收所述第一终端的中央处理器获取的多组待处理业务数据帧的特征参数,其中,一组特征参数包括对应一个发送数据缓冲描述符存储空间的所述待处理业务数据帧的内存地址和虚链路标号信息;
在具体的实施例中,所述第一终端为时间触发以太网TTE网络系统中作为发送方的端系统ES。所述第二终端为时间触发以太网TTE网络系统中作为接收方的端系统ES。所述第一终端通过交换机SW与至少一个第二终端进行数据通信。所述第二终端的数量根据TTE网络系统的实际端系统数量决定,此处不作具体限定。
所述第一终端在进行发送的过程中,所述第一终端的中央处理器会根据发送需求生成相应的待处理业务数据帧。在生成所述待处理业务数据帧后,所述第一终端的中央处理器会向预设寄存器申请用于存储所述待处理业务数据帧的存储空间地址,并将所述待处理业务数据帧根据预设规则存储在提前申请的存储空间地址中。
具体的所述第一终端的中央处理器在申请存储空间地址时,会对应预设数量的发送缓冲数据描述符向预设寄存器申请预设数量的存储空间,从而能够将完整的待处理业务数据帧拆分为多组特征参数,并分别存储在对应的存储空间地址中。
所述寄存器可以为双倍速率同步动态随机存储器(Double DataRate,简称DDR)或其它类型的存储器,此处不作具体限定。
所述第一终端的中央处理器在生成所述待处理业务数据帧后,对所述待处理业务数据帧进行分析处理,以获得所述待处理业务数据帧的特征参数,所述特征参数包括所述待处理业务数据帧的内存地址和虚链路标号信息,其中,所述内存地址即所述待处理业务数据帧信息的数据内容存储在所述寄存器中的存储空间地址,所述第一终端可以包括至少一条虚链路,用于连接至对应的至少一个第二终端,所述虚链路标号信息即指示所述发送过程是通过具体的一条虚链路,与一个第二终端进行数据通信。
具体的,所述特征参数还可以包括业务数据帧的数据长度信息和数据类型信息等。
步骤S102,将所述待处理业务数据帧的多组特征参数分别写入预设数量的发送数据缓冲描述符,其中,各发送数据缓冲描述符具有相同大小的存储空间;
如图4所示,在具体的实施例中,用户可以根据实际需要设计预设数量个相应的数据缓冲描述符(Data Buffer Descriptor,简称DBD),在本实施例中,所述发送数据缓冲描述符被设计为长度为8个字节,FPGA提供N个发送数据缓冲描述符信息的存储空间,大小为8*N字节,N的大小可以根据FPGA的总存储空间大小进行设定。
所述发送数据缓冲描述符的存储空间中存储的具体内容定义如下表所示:
表1 发送数据缓冲描述符
其中,第一长字Word0用于存储所述待处理业务数据帧的内存地址,所述内存地址指向的数据信息即为所述待处理业务数据帧的数据帧内容,FPGA可以直接访问所述内存地址从而获取数据帧内容。
第二长字Word1用于存储内存数据长度、虚链路标号信息和描述符结束标记。所述内存数据长度即为待处理业务数据帧的内容长度。
具体的,所述描述符结束标志信息为所述现场可编程逻辑门阵列在将所述待处理业务数据帧的特征参数写入所述发送数据缓冲描述符后,生成的用于指示结束或未结束的标志信息。当所述描述符结束标志信息指示未结束时,所述现场可编程逻辑门阵列会继续读取下一个发送数据缓冲描述符中存储的信息。当所述描述符结束标志信息指示结束时,所述现场可编程逻辑门阵列会停止读取下一个发送数据缓冲描述符中存储的信息,并向中央处理器发送一个中断信号。
具体的,可以设置当所述描述符结束标志信息为0时,用于指示未结束,当所述描述符标志信息为1时,用于指示结束。所述设置的信息也可以取反,此处不作具体限定。
所述第一终端在向预设寄存器申请用于存储所述待处理业务数据帧的存储空间地址时,会对应提前设置好的预设数量的发送数据缓冲描述符来申请预设数量的存储空间,从而所述现场可编程逻辑门阵列能够更快速、有序的将所述数据帧的特征参数写入所述发送数据缓冲描述符中。
在所述第一终端发送业务数据帧的过程中,中央处理器每次在向所述现场可编程逻辑门阵列写完一个发送数据缓冲描述符时,将对应的所述描述符结束标志信息均设置为指示结束,从而能够使得所述现场可编程逻辑门阵列按照所述发送业务数据缓冲描述符排列的顺序发送对应的业务数据帧。而且,在所述现场可编程逻辑门阵列每读取完一个发送数据缓冲描述符后中断读取进程,能够避免所述待处理业务数据帧出现发送混乱的情况。
上述方法,所述第一终端的中央处理器每发送一个业务数据帧,将对应的所述描述符结束标志信息均设置为指示结束,可编程逻辑门阵列每处理完一个发送数据缓冲描述符后上报一次中断,可能会导致中断信号数量过多,当所述第一终端的中央处理器的性能满足执行条件,则使用上述方法设置发送数据缓冲描述符中的描述符结束标志信息。
如果所述第一终端的中央处理器的性能较低,则在一种具体实施例中,所述现场可编程逻辑门阵列也可以按照每发送N个业务数据帧上报1次中断信息号的方式处理。具体过程为:所述第一终端的中央处理器连续发送N个待处理业务数据帧,将第1个到第N-1个待处理业务数据帧对应的所述描述符结束标志信息均设置为指示未结束,将第N个待处理业务数据帧对应的所述描述符结束标志信息设置为指示结束,使所述现场可编程逻辑门阵列一次性发送完N个业务数据缓冲描述符中对应的业务数据帧后再上报中断信号给中央处理器。
另外,当所述第一终端的中央处理器连续发送的待处理业务数据帧的个数为M,M<N时,第1个到第M-1个待处理业务数据帧对应的所述描述符结束标志信息均设置为指示未结束,还需要设计一个超时定时器,如果所述第一终端的中央处理器的待处理业务数据帧个数没有达到N个,将第M个业务数据帧对应的所述描述符结束标志信息修改为指示结束,提交给现场可编程逻辑门阵列,使所述现场可编程逻辑门阵列一次性发送完M个业务数据缓冲描述符中对应的业务数据帧后再上报中断信号给中央处理器。所述超时定时器能够避免待处理业务数据帧时的个数没有达到一次性发送的数量N时不能及时发送出去的问题。优选的,所述设置所述超时定时器的超时时间小于10ms。
步骤S103,根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧,所述目标终端为任一第二终端。
在具体的实施例中,所述现场可编程逻辑门阵列将所述待处理业务数据帧的特征信息写入所述发送数据缓冲描述符后,即能够按照预设数量的发送数据缓冲描述符的排列顺序进行发送动作。
具体的,所述发送数据缓冲描述符的数量为N,当所述现场可编程逻辑门阵列按照1-N的递增顺序读取完N个数据缓冲描述符后,会从第1个发送数据缓冲描述符再次进行写入和读取的操作。
根据本申请实施例的一种具体实施方式,所述根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧的步骤,包括:
根据所述发送数据缓冲描述符中的所述待处理业务数据帧的内存地址,从预设的存储器中提取所述待处理业务数据帧;
根据所述发送数据缓冲描述符中的所述虚链路标号信息确定目标终端;
向所述目标终端发送所述待处理业务数据帧。
所述可编程逻辑门阵列从所述发送数据缓冲描述符中提取所述待处理业务数据帧的特征信息,并根据所述待处理业务数据帧的内存地址提取出所述待处理业务数据帧的数据内容,根据所述虚链路标号信息确定相应的目标终端,通过预设的接口向所述目标终端发送所述待处理业务数据帧。
根据本申请实施例的一种具体实施方式,所述发送数据缓冲描述符还包括描述符结束标志信息,根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧的步骤之后,所述方法还包括:
检测所述发送数据缓冲描述符的所述描述符结束标志信息;
若检测所述描述符结束标志信息指示未结束,继续读取下一个发送数据缓冲描述符中的待处理业务数据帧的内存地址和虚链路标号信息;
若检测所述描述符结束标志信息指示结束,向所述中央处理器发送中断信号,并释放所述发送数据缓冲描述符的存储空间。
在具体的实施例中,若所述描述符结束标志信息指示结束,所述现场可编程逻辑门阵列会向所述中央处理器发送中断信号,所述中央处理器在接受了所述中断信号后,释放所述发送数据缓冲描述符中存储的资源,即所述发送数据缓冲描述符中存储的特征参数信息。从而能够使得所述发送数据缓冲描述符能够循环使用,不会出现数据拥挤的情况。
通过上述步骤,能够使得所述第一终端在发送业务数据帧时,根据预设的发送数据缓冲描述符进行发送,从而使得端系统之间的数据通信更加有序,且读写所述寄存器的次数被极大的减少,从而大大提升了端系统之间的通信带宽。
参考图5和图6,为本申请实施例公开的一种数据通信方法,应用于第二终端的现场可编程逻辑门阵列,所述第二终端与至少一个第一终端在时间触发以太网网络系统下进行数据通信,如图5所示,所述数据通信方法包括:
步骤S201,将所述第二终端的中央处理器待接收的待处理业务数据帧的存储空间地址写入预设数量的接收数据缓冲描述符;
如图6所示,所述第二终端为时间触发以太网网络系统中作为接收方的端系统,所述第二终端的中央处理器在接收第一终端发送的业务数据帧前,会提前向存储器申请待处理业务数据帧的存储空间地址,并将所述待处理业务数据帧的存储空间地址发送至现场可编程逻辑门阵列,所述现场可编程逻辑门阵列将所述待处理业务数据帧的存储空间地址写入预设数量的接受数据缓冲描述符中。
所述现场可编程逻辑门阵列将所述待处理业务数据帧的存储空间地址写入预设数量的接收数据缓冲描述符后,即进入等待发送终端发送的待处理业务数据帧入栈的状态。
步骤S202,根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器,所述发送终端为任一第一终端;
在具体的实施例中,所述现场可编程逻辑门阵列会将发送终端发送的待处理业务数据帧的数据内容存储在提前申请好的存储空间地址对应的存储器中,从而作为所述待处理业务数据帧的内存地址存储在接收数据缓冲描述符中。
所述接收数据缓冲描述符的存储空间和存储内容与所述发送数据缓冲描述符一致,可以参考上述发送数据缓冲描述符的具体实施过程,此处不再赘述。
步骤S203,将所述发送终端发送的待处理业务数据帧的特征参数写入所述接收数据缓冲描述符,所述特征参数包括所述待处理业务数据帧对应的内存地址和对应的虚链路标号信息。
所述现场可编程逻辑门阵列根据发送终端与第二终端之间的虚链路编号能够得到所述待处理业务数据帧的虚链路标号信息。
在所述现场可编程逻辑门阵列将所述待处理业务数据帧的特征参数全部写入所述接收数据缓冲描述符后,向所述中央处理器发送读取信号,所述中央处理器则根据所述读取信号,从第一个接收数据缓冲描述符开始读取所述待处理业务数据帧。
根据本申请实施例的一种具体实施方式,所述接收数据缓冲描述符还包括描述符结束标志信息,所述根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器的步骤之后,所述方法还包括:
检测所述接收数据缓冲描述符的所述描述符结束标志信息;
若检测所述描述符结束标志信息指示未结束,则继续向下一个接收数据缓冲描述符写入所述发送终端发送的待处理业务数据帧的特征参数;
若检测所述描述符结束标志信息指示结束,则向所述中央处理器发送中断信息,以使所述中央处理器从所述存储器中读取所述待处理业务数据帧。
在具体的实施例中,所述第二终端的现场可编程逻辑门阵列在写完全部的待处理业务数据帧前,将所述接收数据缓冲描述符的描述符结束标志信息设置为指示未结束。在写完全部的待处理业务数据帧后,将所述接收数据缓冲描述符的描述符结束标志信息设置为指示结束。从而所述中央处理器在根据所述接收数据缓冲描述符读取待处理业务数据帧时,是将所述待处理业务数据帧全部读完才结束。从而使得接收过程更加迅速,能够完整的将数据接收。
根据本申请实施例的一种具体实施方式,所述向所述中央处理器发送中断信息的步骤之后,所述方法还包括:
释放各接收数据缓冲描述符的存储空间。
具体的,在所述中央处理器读完全部的接收数据缓冲描述符后,所述现场可编程逻辑门阵列会向所述中央处理器发送中断信息,所述中央处理器在接受所述中断信息后,释放所有接收数据缓冲描述符中的特征参数。
所述接收数据缓冲描述符在释放完所有待处理业务数据帧的特征参数后,回到待写入状态。在下一次所述第二终端出现接收需求时,重新从第一个接收数据缓冲描述符写入特征参数。
参考图7,为本申请实施例还提供了一种数据通信装置700,应用于第一终端的现场可编程逻辑门阵列,所述第一终端与至少一个第二终端在时间触发以太网网络系统下进行数据通信,如图7所示,所述数据通信装置700包括:
接收模块701,用于接收所述第一终端的中央处理器获取的待处理业务数据帧的特征参数,所述特征参数包括所述待处理业务数据帧的内存地址和虚链路标号信息;
写入模块702,用于将所述待处理业务数据帧的特征参数写入预设数量的发送数据缓冲描述符,其中,各发送数据缓冲描述符具有相同大小的存储空间;
发送模块703,用于根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧,所述目标终端为任一第二终端。
参考图8,为本申请实施例公开的一种数据通信装置800,应用于第二终端的现场可编程逻辑门阵列,所述第二终端与至少一个第一终端在时间触发以太网网络系统下进行数据通信,如图8所示,所述数据通信装置800包括:
第一写入模块801,用于将所述第二终端的中央处理器待接收的待处理业务数据帧的存储空间地址写入预设数量的接收数据缓冲描述符;
存储模块802,用于根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器,所述发送终端为任一第一终端;
第二写入模块803,用于将所述发送终端发送的待处理业务数据帧的特征参数写入所述接收数据缓冲描述符,所述特征参数包括所述待处理业务数据帧对应的内存地址和对应的虚链路标号信息。
另外,本申请实施例还公开了一种通信终端,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述实施例中的数据通信方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例中的数据通信方法。
综上所述,本申请实施例还公开了一种数据通信方法、装置、通信终端及计算机可读存储介质,本发明通过直接存储器访问(Direct Memory Access,简称DMA)的方式来实现ZYNQ芯片中CPU和FPGA之间的TTE数据帧的传输,包括接收和发送两个方向,解决了以往需要CPU反复访问FPGA寄存器带来的性能瓶颈问题。采用该方式CPU和FPGA之间的通信带宽可以提升到2.4Gbps左右,是原来的60倍。另外,所提供的数据通信装置、通信终端及计算机可读存储介质的具体实施过程,可以参见上述方法实施例的具体实施过程,在此不再一一赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种数据通信方法,其特征在于,应用于第一终端的现场可编程逻辑门阵列,所述第一终端与至少一个第二终端在时间触发以太网网络系统下进行数据通信,所述方法包括:
接收所述第一终端的中央处理器获取的待处理业务数据帧的多组特征参数,其中,一组特征参数包括对应一个发送数据缓冲描述符存储空间的所述待处理业务数据帧的内存地址和虚链路标号信息;
将所述待处理业务数据帧的多组特征参数分别写入预设数量的发送数据缓冲描述符,其中,各发送数据缓冲描述符具有相同大小的存储空间;
根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧,所述目标终端为任一第二终端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧的步骤,包括:
根据所述发送数据缓冲描述符中的所述待处理业务数据帧的内存地址,从预设的存储器中提取所述待处理业务数据帧;
根据所述发送数据缓冲描述符中的所述虚链路标号信息确定目标终端;
向所述目标终端发送所述待处理业务数据帧。
3.根据权利要求1所述的方法,其特征在于,所述发送数据缓冲描述符还包括描述符结束标志信息,根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧的步骤之后,所述方法还包括:
检测所述发送数据缓冲描述符的所述描述符结束标志信息;
若检测所述描述符结束标志信息指示未结束,继续读取下一个发送数据缓冲描述符中的待处理业务数据帧的内存地址和虚链路标号信息;
若检测所述描述符结束标志信息指示结束,向所述中央处理器发送中断信号,并释放所述发送数据缓冲描述符的存储空间。
4.一种数据通信方法,其特征在于,应用于第二终端的现场可编程逻辑门阵列,所述第二终端与至少一个第一终端在时间触发以太网网络系统下进行数据通信,所述方法包括:
将所述第二终端的中央处理器待接收的待处理业务数据帧的存储空间地址写入预设数量的接收数据缓冲描述符;
根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器,所述发送终端为任一第一终端;
将所述发送终端发送的待处理业务数据帧的特征参数写入所述接收数据缓冲描述符,所述特征参数包括所述待处理业务数据帧对应的内存地址和对应的虚链路标号信息。
5.根据权利要求4所述的方法,其特征在于,所述接收数据缓冲描述符还包括描述符结束标志信息,所述根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器的步骤之后,所述方法还包括:
检测所述接收数据缓冲描述符的所述描述符结束标志信息;
若检测所述描述符结束标志信息指示未结束,则继续向下一个接收数据缓冲描述符写入所述发送终端发送的待处理业务数据帧的特征参数;
若检测所述描述符结束标志信息指示结束,则向所述中央处理器发送中断信息,以使所述中央处理器从所述存储器中读取所述待处理业务数据帧。
6.根据权利要求4所述的方法,其特征在于,所述向所述中央处理器发送中断信息的步骤之后,所述方法还包括:
释放各接收数据缓冲描述符的存储空间。
7.一种数据通信装置,其特征在于,应用于第一终端的现场可编程逻辑门阵列,所述第一终端与至少一个第二终端在时间触发以太网网络系统下进行数据通信,所述装置包括:
接收模块,用于接收所述第一终端的中央处理器获取的待处理业务数据帧的特征参数,所述特征参数包括所述待处理业务数据帧的内存地址和虚链路标号信息;
写入模块,用于将所述待处理业务数据帧的特征参数写入预设数量的发送数据缓冲描述符,其中,各发送数据缓冲描述符具有相同大小的存储空间;
发送模块,用于根据所述发送数据缓冲描述符向目标终端发送所述待处理业务数据帧,所述目标终端为任一第二终端。
8.一种数据通信装置,其特征在于,应用于第二终端的现场可编程逻辑门阵列,所述第二终端与至少一个第一终端在时间触发以太网网络系统下进行数据通信,所述装置包括:
第一写入模块,用于将所述第二终端的中央处理器待接收的待处理业务数据帧的存储空间地址写入预设数量的接收数据缓冲描述符;
存储模块,用于根据所述接收数据缓冲描述符将发送终端发送的待处理业务数据帧存入所述存储空间地址对应的存储器,所述发送终端为任一第一终端;
第二写入模块,用于将所述发送终端发送的待处理业务数据帧的特征参数写入所述接收数据缓冲描述符,所述特征参数包括所述待处理业务数据帧对应的内存地址和对应的虚链路标号信息。
9.一种通信终端,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行权利要求1至6任一项所述的数据通信方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至6中任一项所述的数据通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111207279.7A CN113660351B (zh) | 2021-10-18 | 2021-10-18 | 数据通信方法、装置、通信终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111207279.7A CN113660351B (zh) | 2021-10-18 | 2021-10-18 | 数据通信方法、装置、通信终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113660351A true CN113660351A (zh) | 2021-11-16 |
CN113660351B CN113660351B (zh) | 2022-01-04 |
Family
ID=78494556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111207279.7A Active CN113660351B (zh) | 2021-10-18 | 2021-10-18 | 数据通信方法、装置、通信终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113660351B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992768A (zh) * | 2021-10-27 | 2022-01-28 | 西安微电子技术研究所 | 一种tte网络远程管理方法、系统、设备和可读存储介质 |
CN117312201A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种数据传输方法、装置及加速器设备、主机和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115129664B (zh) * | 2022-09-01 | 2022-11-29 | 湖南兴天电子科技股份有限公司 | 数据记录设备、数据文件管理方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347902A (zh) * | 2011-09-26 | 2012-02-08 | 北京星网锐捷网络技术有限公司 | 发送间隔调整方法、装置和网络设备 |
US20170170905A1 (en) * | 2015-12-15 | 2017-06-15 | Sumitomo Electric Industries, Ltd. | Optical transceiver and upgrading method of the same |
CN109634881A (zh) * | 2018-11-16 | 2019-04-16 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的千兆以太网dma数据传输设计装置 |
CN111221759A (zh) * | 2020-01-17 | 2020-06-02 | 深圳市风云实业有限公司 | 一种基于dma的数据处理系统及方法 |
WO2021106105A1 (ja) * | 2019-11-27 | 2021-06-03 | 日本電信電話株式会社 | 分散深層学習システム |
CN113079113A (zh) * | 2021-03-30 | 2021-07-06 | 扬州万方电子技术有限责任公司 | 数据传输装置和数据传输系统 |
CN113297112A (zh) * | 2021-04-15 | 2021-08-24 | 上海安路信息科技股份有限公司 | PCIe总线的数据传输方法、系统及电子设备 |
-
2021
- 2021-10-18 CN CN202111207279.7A patent/CN113660351B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347902A (zh) * | 2011-09-26 | 2012-02-08 | 北京星网锐捷网络技术有限公司 | 发送间隔调整方法、装置和网络设备 |
US20170170905A1 (en) * | 2015-12-15 | 2017-06-15 | Sumitomo Electric Industries, Ltd. | Optical transceiver and upgrading method of the same |
CN109634881A (zh) * | 2018-11-16 | 2019-04-16 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于fpga的千兆以太网dma数据传输设计装置 |
WO2021106105A1 (ja) * | 2019-11-27 | 2021-06-03 | 日本電信電話株式会社 | 分散深層学習システム |
CN111221759A (zh) * | 2020-01-17 | 2020-06-02 | 深圳市风云实业有限公司 | 一种基于dma的数据处理系统及方法 |
CN113079113A (zh) * | 2021-03-30 | 2021-07-06 | 扬州万方电子技术有限责任公司 | 数据传输装置和数据传输系统 |
CN113297112A (zh) * | 2021-04-15 | 2021-08-24 | 上海安路信息科技股份有限公司 | PCIe总线的数据传输方法、系统及电子设备 |
Non-Patent Citations (1)
Title |
---|
毛杰: ""基于ZYNQ的FC交换机软件设计"", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992768A (zh) * | 2021-10-27 | 2022-01-28 | 西安微电子技术研究所 | 一种tte网络远程管理方法、系统、设备和可读存储介质 |
CN113992768B (zh) * | 2021-10-27 | 2023-05-12 | 西安微电子技术研究所 | 一种tte网络远程管理方法、系统、设备和可读存储介质 |
CN117312201A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种数据传输方法、装置及加速器设备、主机和存储介质 |
CN117312201B (zh) * | 2023-11-29 | 2024-02-13 | 苏州元脑智能科技有限公司 | 一种数据传输方法、装置及加速器设备、主机和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113660351B (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113660351B (zh) | 数据通信方法、装置、通信终端及计算机可读存储介质 | |
CN109726163B (zh) | 一种基于spi的通信系统、方法、设备和储存介质 | |
US10339079B2 (en) | System and method of interleaving data retrieved from first and second buffers | |
CN105190524B (zh) | 用于生成去向和来自存储驱动器的非易失性半导体存储器的数据传送的描述符的装置和方法 | |
EP3470971B1 (en) | Method, apparatus, and system for accessing memory device | |
CN113138802B (zh) | 命令分发装置、方法、芯片、计算机设备及存储介质 | |
CN109446147B (zh) | 一种网络存储设备与pcie设备的数据交互方法 | |
CN102724122A (zh) | 基于硬件系统的串口可靠传输方法及装置 | |
CN108304272B (zh) | 一种数据io请求的处理方法及装置 | |
CN108062235A (zh) | 数据处理方法及装置 | |
CN105630424A (zh) | 数据处理方法、装置及系统 | |
CN113852533B (zh) | 一种多通道数据通信系统、方法及电子设备 | |
CN106254270A (zh) | 一种队列管理方法及装置 | |
CN114048151A (zh) | 主机内存访问方法、装置及电子设备 | |
JP2007529815A (ja) | 信号送信装置及び信号送信のための方法 | |
CN107291641B (zh) | 用于计算单元的存储器直接访问控制装置及其运行方法 | |
CN103326889B (zh) | 一种新旧版本间通信兼容的方法及装置 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
CN110720126B (zh) | 传输数据掩码的方法、内存控制器、内存芯片和计算机系统 | |
US8041902B2 (en) | Direct memory move of multiple buffers between logical partitions | |
CN115509972A (zh) | 实现dma高效收发报文的方法及应用 | |
CN107689996B (zh) | 数据传输方法、装置及终端设备 | |
CN102027424B (zh) | 用于控制从多个进程出发的对存储器的区域的访问的方法以及用于实现该方法的带有消息存储器的通信模块 | |
CN110399099B (zh) | 数据迁移系统及方法 | |
CN107729140B (zh) | 一种并行实现多个eMMC主机接口命令排队功能的装置及方法 |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 410000 room 801, accelerator production workshop, building B1, Haichuang science and Technology Industrial Park, No. 627 Lugu Avenue, Changsha high tech Development Zone, Changsha City, Hunan Province Patentee after: Hunan Xingtian Electronic Technology Co.,Ltd. Address before: 8a01, building B1, Lugu new Changhai center, Yuelu District, Changsha, Hunan 410000 Patentee before: HUNAN XING TIAN ELECTRONIC TECHNOLOGY Co.,Ltd. |