CN115408322A - 一种基于fpga的高性能数据传输系统及方法 - Google Patents

一种基于fpga的高性能数据传输系统及方法 Download PDF

Info

Publication number
CN115408322A
CN115408322A CN202211058429.7A CN202211058429A CN115408322A CN 115408322 A CN115408322 A CN 115408322A CN 202211058429 A CN202211058429 A CN 202211058429A CN 115408322 A CN115408322 A CN 115408322A
Authority
CN
China
Prior art keywords
pcie
data
fpga
transmission
dma
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.)
Pending
Application number
CN202211058429.7A
Other languages
English (en)
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.)
Hunan Zhicunheyi Information Technology Co ltd
Original Assignee
Hunan Zhicunheyi Information Technology 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 Hunan Zhicunheyi Information Technology Co ltd filed Critical Hunan Zhicunheyi Information Technology Co ltd
Priority to CN202211058429.7A priority Critical patent/CN115408322A/zh
Publication of CN115408322A publication Critical patent/CN115408322A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于FPGA的高性能数据传输系统及方法,包括FPGA和PCIe总线;FPGA集成有PCIe IP硬核、PCIE接口和DMA控制器,并对需传输的数据进行压缩处理;PCIe IP硬核通过PCIE接口与PCIe总线连接,传输时,PCIe总线以数据包的形式传递信息,并传输给PCIe IP硬核;DMA控制器用于获取PCIe IP硬核所接收的数据包并采用DMA方式传送到外部的上位机;其有益效果是:一方面通过数据压缩的方式,使得FPGA的吞吐量得到提升;另一方将FPGA和PCIe总线相结合,利用DMA控制器进行高速DMA方式传输,提升PCIe的传输效率,实现对数据传输效率的提高。

Description

一种基于FPGA的高性能数据传输系统及方法
技术领域
本发明涉及计算机技术领域,具体涉及一种基于FPGA的高性能数据传输系统及方法。
背景技术
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是由通过可编程互连连接的可配置逻辑块(CLB)矩阵构成的半导体器件。PCIE属于高速串行总线,实现点对点双向高带宽传输,连接设备独享通道带宽,这种传送方式在功耗、速率、可靠性等方面具有较好的优势。实际应用过程中FPGA采集的数据经常需要传输到PC进行处理分析与运算,常需要更加高效的数据传输,以满足数据交换和处理等要求,而现有技术中往往无法实现这一要求,因此,亟需一种将FPGA与PCIE相结合,以提高数据传输效率的解决方案。
发明内容
本发明的发明目的在于:提供了一种基于FPGA的高性能数据传输系统及方法,以提高数据传输效率。
第一方面:一种基于FPGA的高性能数据传输系统,包括FPGA和PCIe总线;所述FPGA集成有PCIe IP硬核、PCIE接口和DMA控制器,并对需传输的数据进行压缩处理;
所述PCIe IP硬核通过所述PCIE接口与所述PCIe总线连接,传输时,所述PCIe总线以数据包的形式传递信息,并传输给所述PCIe IP硬核;
所述DMA控制器用于获取所述PCIe IP硬核所接收的数据包并采用高速DMA方式传送到外部的上位机。
作为本申请一种可选的实施方式,所述FPGA还部署有用于缓存其A/D采集数据的缓存空间,其中,所述缓存空间的数量为多个,且还设有用于暂存中间数据的寄存器。
作为本申请一种可选的实施方式,所述PCIe IP硬核采用分层结构,包括物理层、数据链路层和事务层,并提供有事务层接口,所述DMA控制器根据事务层的设定格式完成数据包发送、接收和解析。
作为本申请一种可选的实施方式,所述数据包为TLP数据包,所述TLP数据包的格式具有一个或多个TLP前缀、TLP头、数据有效负载和摘要;
在传输时,所传送的数据报文,首先通过所述事务层封装成一个或多个TLP数据包,然后才通过PCIe总线发送出去。
作为本申请一种可选的实施方式,所述高速DMA方式传输是将TLP包头中的各个字段正确填充,并将数据按照64_bit并行放在TLP包头,传输给PCIe硬核,然后硬核以PCIe协议串行传输。
作为本申请一种可选的实施方式,DMA传输时,会判断当前传输的字节数是否满足DMA所要传输的字节数,如不满足则继续传输,直到所有数据传输完成,则DMA传输结束。
第二方面:一种基于FPGA的高性能传输方法,应用于第一方面所述的一种基于FPGA的高性能数据传输系统;
所述传输方法包括:
对需传输的数据进行压缩处理;
利用FPGA集成的PCIe IP硬核通过PCIE接口与PCIe总线连接,传输时,所述PCIe总线以数据包的形式传递信息;
判断当前传输的字节数是否满足DMA所要传输的字节数,如不满足则继续传输,直到所有数据传输完成,则DMA传输结束。
作为本申请一种可选的实施方式,所述方法还包括:
在所述FPGA中部署用于缓存其A/D采集数据的缓存空间,其中,所述缓存空间的数量为多个,且还设有用于暂存中间数据的寄存器。
作为本申请一种可选的实施方式,所述PCIe IP硬核采用分层结构,包括物理层、数据链路层和事务层,并提供有事务层接口,DMA控制器根据事务层的设定格式完成数据包发送、接收和解析。
作为本申请一种可选的实施方式,所述数据包为TLP数据包,所述TLP数据包的格式具有一个或多个TLP前缀、TLP头、数据有效负载和摘要;
在传输时,所传送的数据报文,首先通过所述事务层封装成一个或多个TLP数据包,然后才通过PCIe总线发送出去。
采用上述技术方案,具有以下优点:本发明提出的一种基于FPGA的高性能数据传输系统及方法,一方面先通过数据压缩的方式,使得FPGA的吞吐量得到提升,基于FPGA本身进行加速;另一方将FPGA和PCIe总线相结合,利用DMA控制器进行高速DMA方式传输,提升PCIe的传输效率;实现对数据传输效率的提高。
附图说明
图1是本发明实施例所提供的一种基于FPGA的高性能数据传输系统的结构示意图;
图2是本发明实施例所提供的一种基于FPGA的高性能数据传输方法的流程图。
具体实施方式
下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的电路,软件或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。
下面结合附图,对本发明作详细的说明。
参考图1所示,一种基于FPGA的高性能数据传输系统,包括FPGA和PCIe总线;所述FPGA集成有PCIe IP硬核、PCIE接口和DMA控制器,并对需传输的数据进行压缩处理;
所述PCIe IP硬核通过所述PCIE接口与所述PCIe总线连接,传输时,所述PCIe总线以数据包的形式传递信息,并传输给所述PCIe IP硬核;
所述DMA控制器用于获取所述PCIe IP硬核所接收的数据包并采用高速DMA方式传送到外部的上位机。
具体地,实施时,所述PCIe总线用于FPGA与上位机、主机和其他处理器之间的通讯;所述PCIe IP硬核与PCIe硬核均为相同的含义;并根据外部设备的读/写要求,进行DMA方式传输;所述FPGA还集成有多种用于获取采集数据的接口。
本实施例中,所述压缩处理包括:
对数据划分为数据块,并按预设的处理策略进行处理后,将压缩文件进行存储;其中,所述处理策略包括索引文件建立(包括索引值+数据)、数据匹配和数据编码;
所述数据包为TLP数据包,所述TLP数据包的格式具有一个或多个TLP前缀、TLP头、数据有效负载和摘要;
所述PCIe IP硬核采用分层结构,包括物理层、数据链路层和事务层,并提供有事务层接口,所述DMA控制器根据事务层的设定格式完成数据包发送、接收和解析;其中:
所述事务层接收数据请求并将其封装为数据包,转换为总线事务;数据链路层用于数据包的正确接收与发送,确保数据可靠与完备;物理层发送链路层的数据包以及本身产生的数据包,接收另一端发送设备传输过来的数据上传至链路;
在传输时,所传送的数据报文,首先通过所述事务层封装成一个或多个TLP数据包,然后才通过PCIe总线的各个层次发送出去。
所述PCIe IP硬核提供多个基地址寄存器,可根据用户的设计需要进行设置;
为了避免传输时由于写满导致丢数,在所述PCIe IP硬核中,需将读取时钟设置为写入时钟的两倍。
同理,所述DMA控制器也存在对应的操作寄存器,并根据所述操作寄存器的值实现对DMA的传输控制。
所述高速DMA方式传输是将TLP包头中的各个字段正确填充,并将数据按照64_bit并行放在TLP包头,传输给PCIe硬核,然后硬核以PCIe协议串行传输。
进一步地,DMA传输时,会判断当前传输的字节数是否满足DMA所要传输的字节数,如不满足则继续传输,直到所有数据传输完成,则DMA传输结束。
通过上述方案,一方面先通过数据压缩的方式,使得FPGA的吞吐量得到提升,基于FPGA本身进行加速;另一方将FPGA和PCIe总线相结合,利用DMA控制器进行高速DMA方式传输,提升PCIe的传输效率;实现对数据传输效率的提高。
进一步地,所述FPGA还部署有用于缓存其A/D采集数据的缓存空间,其中,所述缓存空间的数量为多个,且还设有用于暂存中间数据的寄存器;
通过多缓存空间的设置,使得采集频率与PCIe的传输速率相适配;
而寄存器的设置,可减少查找表资源,减少消耗所需的物理时间,进而提升速率。
参照图2所示,本发明实施例还提供了一种基于FPGA的高性能数据传输方法,应用于前文所述的一种基于FPGA的高性能数据传输系统;
所述传输方法包括:
S101,对需传输的数据进行压缩处理;
S102,利用FPGA集成的PCIe IP硬核通过PCIE接口与PCIe总线连接,传输时,所述PCIe总线以数据包的形式传递信息;
S103,判断当前传输的字节数是否满足DMA所要传输的字节数,如不满足则继续传输,直到所有数据传输完成,则DMA传输结束。
应用时,所述数据包为TLP数据包,所述TLP数据包的格式具有一个或多个TLP前缀、TLP头、数据有效负载和摘要;
所述PCIe IP硬核采用分层结构,包括物理层、数据链路层和事务层,并提供有事务层接口,DMA控制器根据事务层的设定格式完成数据包发送、接收和解析;
在传输时,所传送的数据报文,首先通过所述事务层封装成一个或多个TLP数据包,然后才通过PCIe总线发送出去。
进一步地,为实现效率的提升,所述方法还包括:
在所述FPGA中部署用于缓存其A/D采集数据的缓存空间,其中,所述缓存空间的数量为多个,且还设有用于暂存中间数据的寄存器。
需要说明的是,上述方法实施例中具体实施方式,可参照前文系统实施例的描述,在此不再赘述。
通过上述方法,一方面先通过数据压缩的方式,使得FPGA的吞吐量得到提升,基于FPGA本身进行加速;另一方将FPGA和PCIe总线相结合,利用DMA控制器进行高速DMA方式传输,提升PCIe的传输效率;实现对数据传输效率的提高。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于FPGA的高性能数据传输系统,包括FPGA和PCIe总线;其特征在于,所述FPGA集成有PCIe IP硬核、PCIE接口和DMA控制器,并对需传输的数据进行压缩处理;
所述PCIe IP硬核通过所述PCIE接口与所述PCIe总线连接,传输时,所述PCIe总线以数据包的形式传递信息,并传输给所述PCIe IP硬核;
所述DMA控制器用于获取所述PCIe IP硬核所接收的数据包并采用高速DMA方式传送到外部的上位机。
2.根据权利要求1所述的一种基于FPGA的高性能数据传输系统,其特征在于,所述FPGA还部署有用于缓存其A/D采集数据的缓存空间,其中,所述缓存空间的数量为多个,且还设有用于暂存中间数据的寄存器。
3.根据权利要求2所述的一种基于FPGA的高性能数据传输系统,其特征在于,所述PCIeIP硬核采用分层结构,包括物理层、数据链路层和事务层,并提供有事务层接口,所述DMA控制器根据事务层的设定格式完成数据包发送、接收和解析。
4.根据权利要求3所述的一种基于FPGA的高性能数据传输系统,其特征在于,所述数据包为TLP数据包,所述TLP数据包的格式具有一个或多个TLP前缀、TLP头、数据有效负载和摘要;
在传输时,所传送的数据报文,首先通过所述事务层封装成一个或多个TLP数据包,然后才通过PCIe总线发送出去。
5.根据权利要求4所述的一种基于FPGA的高性能数据传输系统,其特征在于,所述高速DMA方式传输是将TLP包头中的各个字段正确填充,并将数据按照64_bit并行放在TLP包头,传输给PCIe硬核,然后硬核以PCIe协议串行传输。
6.根据权利要求5所述的一种基于FPGA的高性能数据传输系统,其特征在于,DMA传输时,会判断当前传输的字节数是否满足DMA所要传输的字节数,如不满足则继续传输,直到所有数据传输完成,则DMA传输结束。
7.一种基于FPGA的高性能传输方法,其特征在于,应用于权利要求3所述的一种基于FPGA的高性能数据传输系统;
所述传输方法包括:
对需传输的数据进行压缩处理;
利用FPGA集成的PCIe IP硬核通过PCIE接口与PCIe总线连接,传输时,所述PCIe总线以数据包的形式传递信息;
判断当前传输的字节数是否满足DMA所要传输的字节数,如不满足则继续传输,直到所有数据传输完成,则DMA传输结束。
8.根据权利要求7所述的一种基于FPGA的高性能传输方法,其特征在于,所述方法还包括:
在所述FPGA中部署用于缓存其A/D采集数据的缓存空间,其中,所述缓存空间的数量为多个,且还设有用于暂存中间数据的寄存器。
9.根据权利要求7所述的一种基于FPGA的高性能传输方法,其特征在于,
所述PCIe IP硬核采用分层结构,包括物理层、数据链路层和事务层,并提供有事务层接口,DMA控制器根据事务层的设定格式完成数据包发送、接收和解析。
10.根据权利要求7或8所述的一种基于FPGA的高性能传输方法,其特征在于,所述数据包为TLP数据包,所述TLP数据包的格式具有一个或多个TLP前缀、TLP头、数据有效负载和摘要;
在传输时,所传送的数据报文,首先通过所述事务层封装成一个或多个TLP数据包,然后才通过PCIe总线发送出去。
CN202211058429.7A 2022-08-31 2022-08-31 一种基于fpga的高性能数据传输系统及方法 Pending CN115408322A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211058429.7A CN115408322A (zh) 2022-08-31 2022-08-31 一种基于fpga的高性能数据传输系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211058429.7A CN115408322A (zh) 2022-08-31 2022-08-31 一种基于fpga的高性能数据传输系统及方法

Publications (1)

Publication Number Publication Date
CN115408322A true CN115408322A (zh) 2022-11-29

Family

ID=84163042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211058429.7A Pending CN115408322A (zh) 2022-08-31 2022-08-31 一种基于fpga的高性能数据传输系统及方法

Country Status (1)

Country Link
CN (1) CN115408322A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224482A (zh) * 2015-10-16 2016-01-06 浪潮(北京)电子信息产业有限公司 一种fpga加速卡高速存储系统
CN106815157A (zh) * 2016-12-20 2017-06-09 北京旋极信息技术股份有限公司 一种数据采集模块及数据采集系统
CN112181890A (zh) * 2020-09-30 2021-01-05 北京锐马视讯科技有限公司 Pcie_dma数据传输装置和方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224482A (zh) * 2015-10-16 2016-01-06 浪潮(北京)电子信息产业有限公司 一种fpga加速卡高速存储系统
CN106815157A (zh) * 2016-12-20 2017-06-09 北京旋极信息技术股份有限公司 一种数据采集模块及数据采集系统
CN112181890A (zh) * 2020-09-30 2021-01-05 北京锐马视讯科技有限公司 Pcie_dma数据传输装置和方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YANN THOMA 等: "FPGA: An open source framework for FPGA-GPU PCIe communication", IEEE *
技术编辑ARCHIVE1: "FPGA片上集成缓存在采集系统中的应用", pages 1 - 4, Retrieved from the Internet <URL:https://xilinx.eetrend.com/d6-xilinx/article/2010-07/943.html> *
技术编辑ARCHIVE1: "基于赛灵思FPGA实现的高速串行交换模块实现方法研究", pages 1 - 5, Retrieved from the Internet <URL:https://xilinx.eetrend.com/d6-xilinx/article/2010-07/876.html> *

Similar Documents

Publication Publication Date Title
EP1980952B1 (en) Methods and apparatus for high speed data processing by a user equipment UE
CN101409675A (zh) 网络分组净荷压缩
EP2540135B1 (en) Scalable digrf architecture
CN109408424B (zh) 一种基于PCIe接口的SpaceFibre总线数据采集方法
US20200250129A1 (en) Rdma data sending and receiving methods, electronic device, and readable storage medium
CN102185833B (zh) 一种基于fpga的fc i/o并行处理方法
CN112395230A (zh) 一种基于可编程逻辑器件的uart接口扩展电路
CN107193769A (zh) 一种基于asi接口的数据收发系统
CN110417780A (zh) 定制化数据传输协议的多通道高速数据接口转化模块
EP2390792A1 (en) Communication system and method
JP6021132B2 (ja) 連続データをパケットにより無線通信する送信装置、受信装置、通信装置、プログラム、送信方法、及び、受信方法
CN112286853A (zh) 一种支持多协议的fpga系统及数据处理方法
CN111211863B (zh) Mac发射端、mac接收端及电路、fpga芯片及数据传输系统
CN109582619B (zh) 一种高速串行总线与低速串行总线数据传输和转换方法
CN115408322A (zh) 一种基于fpga的高性能数据传输系统及方法
CN107846709B (zh) 一种基于LoRa的无线通信装置及无线通信方法
CN101304296A (zh) 网络装置及其传输方法
US11636061B2 (en) On-demand packetization for a chip-to-chip interface
CN114661650A (zh) 通信装置、电子装置和通信方法
KR20060053671A (ko) Ack 프레임 전송 방법 및 장치
CN100518141C (zh) 解决wlan中分段发送问题的方法和装置
CN117056259B (zh) 一种数据处理装置及方法
CN204189162U (zh) 一种dfti总线编解码电路
WO2023228426A1 (ja) フレーム伝送システム、5gコア装置、5g端末、トランスレータ、フレーム伝送方法、およびフレーム伝送プログラム
CN113595842B (zh) 一种fc-ae-1553协议报文通讯处理系统

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20221129

RJ01 Rejection of invention patent application after publication