CN113342724A - 一种基于fpga的数据传输方法与装置 - Google Patents
一种基于fpga的数据传输方法与装置 Download PDFInfo
- Publication number
- CN113342724A CN113342724A CN202110449253.7A CN202110449253A CN113342724A CN 113342724 A CN113342724 A CN 113342724A CN 202110449253 A CN202110449253 A CN 202110449253A CN 113342724 A CN113342724 A CN 113342724A
- Authority
- CN
- China
- Prior art keywords
- data
- processor
- data transmission
- data processor
- memory space
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 200
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000004044 response Effects 0.000 claims description 35
- 238000012546 transfer Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明实施例提供了一种基于FPGA的数据传输方法与装置。缓存器数据达到预设数量时,向数据处理器发送数据待处理通知,接收数据处理器根据数据待处理通知发送的数据传输参数,数据传输参数包括数据传输长度和数据传输首地址,根据数据传输长度和数据传输首地址向数据处理器的第一内存空间传输数据,当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取第一内存空间内的数据。能够提高PCIE IP核带宽利用率,满足高速数据传输的需求。
Description
技术领域
本发明属于信号与信息处理领域,尤其涉及一种基于FPGA的数据传输方法与装置。
背景技术
在信号与信息处理领域,数据采集技术发挥着至关重要的作用,而高速数据传输技术是数据采集系统中的关键部分。高速串行计算机扩展总线(Peripheral ComponentInterconnect Express,PCIE)在高速数据采集和传输系统中具有显著的优势,基于现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)实现PCIE IP核,采用高速直接存储器访问(Direct Memory Access,DMA)控制器传输方式,实现了FPGA板卡与其他处理器之间的通信,满足了实时采集、高速传输数据的要求。但是现有的基于FPGA实现PCIE IP核数据传输系统PCIE IP核带宽利用率较低,只能满足部分低速数据传输需求,无法满足较高或高速数据传输的需求。
发明内容
本发明实施例提供一种缓存系统及方法,能够提高PCIE IP核带宽利用率,满足高速数据传输的需求。
第一方面,本发明实施例提供一种基于FPGA的数据传输方法,方法包括:
当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知;
接收数据处理器根据数据待处理通知发送的数据传输参数;
根据数据传输参数向数据处理器的第一内存空间传输数据;
当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取第一内存空间内的数据。
在一种可选的实施方式中,数据传输完成通知包括类型信息;在向数据处理器发送数据传输完成通知后方法还包括:
接收数据处理器发送的响应消息,响应消息是数据处理器判断数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
向数据处理器的第二内存空间传输数据,包括:
在接收到数据处理器的响应消息时,向数据处理器的第二内存空间传输数据。
在一种可选的实施方式中,向数据处理器的第二内存空间传输数据,包括:
在向数据处理器的第二内存空间传输数据的过程中,接收到数据处理器发送的响应消息时,停止向数据处理器的第二内存空间传输数据,并向数据处理器发送回复消息;其中,响应消息是数据处理器判断数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
在向数据处理器发送回复消息完成时,继续向数据处理器的第二内存空间传输数据。
在一种可选的实施方式中,方法在当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知之前,还包括:对接收到的待传输的数据进行缓存,缓存为采用基于FPGA内部构建的FIFO进行缓存和/或采用外设的DDR进行缓存。
在一种可选的实施方式中,当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知,包括:
在FPGA处理器中的缓存器模块存储数据达到预设数量时,通过FPGA处理器中的PCIE接口向数据处理器发送数据待处理通知。
第二方面,本发明实施例提供了一种基于FPGA的数据传输装置,装置包括FPGA处理器,FPGA处理器包括PCIE模块和缓存器模块;
PCIE模块,用于当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知;
PCIE模块,还用于接收数据处理器根据数据待处理通知发送的数据传输参数;
PCIE模块,还用于根据数据传输参数向数据处理器的第一内存空间传输数据;
PCIE模块,还用于当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取第一内存空间内的数据。
在一种可选的实施方式中,PCIE模块还用于:
接收数据处理器发送的响应消息,响应消息是数据处理器判断数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
PCIE模块向数据处理器的第二内存空间传输数据,包括:
在接收到数据处理器的响应消息时,PCIE模块向数据处理器的第二内存空间传输数据。
在一种可选的实施方式中,PCIE模块还用于:
在向数据处理器的第二内存空间传输数据的过程中,接收到数据处理器发送的响应消息时,停止向数据处理器的第二内存空间传输数据,并向数据处理器发送回复消息;其中,响应消息是数据处理器判断数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
在向数据处理器发送回复消息完成时,继续向数据处理器的第二内存空间传输数据。
在一种可选的实施方式中,缓存器模块包括:FIFO缓存器模块和/或者DDR缓存器模块。
在一种可选地实施方式中,PCIE模块具体用于:
在FPGA处理器中的缓存器模块存储数据达到预设数量时,通过FPGA处理器中的PCIE接口向数据处理器发送数据待处理通知。
在一种可选地实施方式中,PCIE模块包括PCIE控制模块和PCIE IP核模块;
PCIE控制模块,用于当缓存器模块缓存的数据达到预设数量时,读取缓存器模块缓存的数据,并将数据传输至PCIE IP核模块;
PCIE IP核模块,用于接收到数据时向数据处理器发送数据待处理通知;以及,
用于接收数据处理器根据数据待处理通知发送的数据传输参数;以及,
用于根据数据传输参数向数据处理器的第一内存空间传输数据;以及,
用于当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取所述第一内存空间内的数据。
根据本发明实施例的基于FPGA的数据传输方法与装置,当FPGA处理器中缓存的数据达到预设数量时,向数据处理器发送数据待处理通知,接收数据处理器根据数据待处理通知发送的数据传输参数,数据传输参数包括数据传输长度和数据传输首地址,根据数据传输长度和数据传输首地址向数据处理器的第一内存空间传输数据,当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取第一内存空间内的数据。能够提高PCIE IP核带宽利用率,满足高速数据传输的需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于FPGA的数据传输方法的流程示意图;
图2是本发明实施例提供的一种基于FPGA的数据传输装置的结构示意图;
图3是本发明实施例提供的FIFO缓存器结构示意图;
图4是本发明实施例提供的FIFO缓存器和DDR缓存器结构示意图;
图5是本发明实施例提供的一种数据传输系统的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本发明,而不是限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
在信号与信息处理领域,数据采集技术发挥着至关重要的作用,而高速数据传输技术是数据采集系统中的关键部分。高速串行计算机扩展总线(Peripheral ComponentInterconnect Express,PCIE)在高速数据采集和传输系统中具有显著的优势,基于现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)实现PCIE IP核,采用高速直接存储器访问(Direct Memory Access,DMA)控制器传输方式,实现了FPGA板卡与其他处理器之间的通信,满足了实时采集、高速传输数据的要求。但是现有的基于FPGA实现PCIE IP核数据传输系统PCIE IP核带宽利用率较低,只能满足部分低速数据传输需求,无法满足较高或高速数据传输的需求。
为了解决现有技术问题,本发明实施例提供了一种基于FPGA的数据传输方法、装置、设备及计算机存储介质。
下面首先对本发明实施例所提供的数据传输方法进行介绍。
图1示出了本发明一个实施例提供的数据传输方法的流程示意图。如图1所示,该方法的执行主体是基于FPGA处理器的装置,该装置包括PCIE模块,该方法可以包括以下步骤:
S101、当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知。
PCIE模块从数据源中获取数据,并存储到FPGA处理器中的缓存器中,并检测缓存器中缓存的数据的数量,当检测到缓存器缓存的数据达到预设数量时,PCIE模块向数据处理器发送数据待处理通知。
在一些实施例中,数据待处理通知包括DMA上行中断通知。
S102、接收数据处理器根据数据待处理通知发送的数据传输参数。
在一个实施例中,数据传输参数可以包括数据传输长度和数据传输首地址。
在一些实施例中,数据处理器的存储空间可以划分为多个内存空间。PCIE模块接收数据处理器根据数据待处理通知发送的数据传输参数,数据传输参数中包括多个内存空间中每个内存空间的数据传输长度和每个存储空间的数据传输首地址。
在一些实施例中,数据处理器通过寄存器配置数据传输相关参数。主要通过寄存器配置DMA数据传输首地址和数据传输长度。
S103、根据数据传输参数向数据处理器的第一内存空间传输数据。
在一些实施例中,当PCIE模块获取到数据传输参数时,根据数据传输参数中的数据传输长度和数据传输首地址向数据处理器的第一内存空间进行数据传输,其中数据传输参数中的数据传输长度和数据传输首地址包括向第一内存空间进行数据传输的的数据传输长度和数据传输首地址。PCIE模块根据第一内存空间的数据传输长度和数据传输首地址向第内存空间传输数据。
在一些实施例中,PCIE模块通过DMA的方式向数据处理器传输数据。
S104、当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取第一内存空间内的数据。
在一些实施例中,当PCIE模块识别到向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据包括:PCIE模块根据获取的数据传输参数中第二内存空间的数据传输长度和数据传输首地址向第二内存空间传输数据。
在一些实施例中,数据传输完成通知包括数据传输完成中断。
可选地,在一些实施例中,数据传输完成通知可以包括类型信息;在向第一内存空间传输数据完成,向数据处理器发送数据传输完成通知,并向数据存储器的第二内存空间传输数据,包括:
在向第一内存空间传输数据完成,且向数据处理器发送数据传输完成通知;
接收数据处理器发送的响应消息,所响应消息是数据处理器判断数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
在接收到数据处理器的响应消息时,向数据处理器的第二内存空间传输数据。
可选地,在一些实施例中,在向第一内存空间传输数据完成,向数据处理器发送数据传输完成通知,并向数据存储器的第二内存空间传输数据,包括:
在向数据处理器的第二内存空间传输数据的过程中,接收到数据处理器发送的响应消息时,停止向数据处理器的第二内存空间传输数据,并向数据处理器发送回复消息;其中,响应消息是数据处理器判断数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
在向数据处理器发送回复消息完成时,继续向数据处理器的第二内存空间传输数据。
根据本发明实施例的基于FPGA的数据传输方法,当缓存器数据达到预设数量时,向数据处理器发送数据待处理通知,接收数据处理器根据数据待处理通知发送的数据传输参数,数据传输参数包括数据传输长度和数据传输首地址,根据数据传输长度和数据传输首地址向数据处理器的第一内存空间传输数据,当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取第一内存空间内的数据。能够提高PCIE IP核带宽利用率,满足高速数据传输的需求。
图2示出了本发明实施例提供的一种基于FPGA的数据传输装置的结构示意图,如图2该装置包括:PCIE模块和缓存器模块2011;PCIE模块,用于当缓存的数据达到预设数量时,向数据处理器202发送数据待处理通知。
PCIE模块,还用于接收数据处理器202根据数据待处理通知发送的数据传输参数。
PCIE模块,还用于根据数据传输参数向数据处理器202的第一内存空间传输数据。
PCIE模块,还用于当向第一内存空间传输数据完成时,向数据处理器202的第二内存空间传输数据,并向数据处理器202发送数据传输完成通知,以用于数据处理器202根据数据传输完成通知读取第一内存空间内的数据
在一些实施例中,PCIE模块还用于:接收数据处理器202发送的响应消息,响应消息是数据处理器202判断数据传输完成通知的类型信息为数据传输完成类型时生成的消息。在接收到数据处理器202的响应消息时,向数据处理器202的第二内存空间传输数据。
在一些实施例中,缓存器模块2011包括:先进先出(First Input First Output,FIFO)缓存器和/或双倍速率(Double Data Rate,DDR)缓存器。
如图3所示为本发明实施例提供的FIFO缓存器结构示意图,使用FPGA内部的BlockRAM构建FIFO缓存器进行数据缓存。由于FPGA处理器201内部Block RAM资源有限且FIFO数据深度有限制,使用串行方式构建最大FIFO缓存器如图3所示,这样就可以支持高速大数据量缓存,FIFO1---FIFON可以设置为最大容量FIFO。
DDR缓存器:使用外部存储器进行数据缓存。可以根据系统功能和性能选择外部存储器大小,外部存储器可以选择DDR2、DDR3或DDR4等。
如图4所示为本发明一个实施例提供的FIFO缓存器和DDR缓存器结构示意图。FIFO缓存器和DDR缓存器是使用FIFO缓冲器和DDR缓存器进行三级数据缓存。使用FIFO缓存进行第一级数据缓存,使用DDR缓存器进行第二级数据缓存,使用FIFO进行第三级数据缓存。
因为缓存器有多种构成方法,不同的构成方法可以满足不同数据的高速缓存。
在一些实施例中,PCIE模块具体用于:在缓存器模块2011存储数据达到预设数量时,通过FPGA处理器201中的PCIE接口2012向数据处理器202发送数据待处理通知。
在一些实施例中,PCIE模块包括PCIE控制模块2013和PCIE IP核2012模块;
PCIE控制模块2013,用于当缓存器模块2011模块缓存的数据达到预设数量时,读取缓存器模块缓存的数据,并将数据传输至PCIE IP核模块2012;
PCIE IP核模块2012,用于接收到数据时向数据处理器202发送数据待处理通知;以及,
用于接收数据处理器202根据数据待处理通知发送的数据传输参数;以及,
用于根据数据传输参数向数据处理器202的第一内存空间传输数据;以及,
用于当向第一内存空间传输数据完成时,向数据处理器202的第二内存空间传输数据,并向数据处理器202发送数据传输完成通知,以用于数据处理器202根据数据传输完成通知读取所述第一内存空间内的数据。
根据本发明实施例的数据传输系统中,当缓存器数据达到预设数量时,向数据处理器发送数据待处理通知,接收数据处理器根据数据待处理通知发送的数据传输参数,数据传输参数包括数据传输长度和数据传输首地址,根据数据传输长度和数据传输首地址向数据处理器的第一内存空间传输数据,当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取第一内存空间内的数据。能够提高PCIE IP核带宽利用率,满足高速数据传输的需求。
图5示出了本发明实施例提供的一种数据传输系统的结构示意图,如图5所示该系统包括:
FPGA处理器201、数据处理器202以及数据源203,其中,FPGA处理器201包括缓存器2011、PCIE IP核模块2012、PCIE控制模块2013以及数据接收模块2014。
在一些实施例中,数据源203将数据源中的数据通过数据接收模块2014发送至缓存器模块2011。其中,数据接收模块2014用于根据不同数据源203类型进行数据接收、数据位宽转换和异步时钟域数据转换,然后将数据源203中的数据发送至缓存器模块2011。
在一些实施例中,数据源203包括ADC数据、以太网数据、以及视频图像数据等多种数据类型。
在一些实施例中,当PCIE控制模块2013识别到缓存器模块2011中缓存的数据达到预设的数量时,将数据待处理通知发送至PCIE IP核模块2012,PCIE IP核模块2012将数据进行并串转换,然后通过PCIE IP核模块2012将数据待处理通知发送至数据处理器202。
在一些实施例中,数据处理器必须适配PCIE IP核模块2012,数据处理器202包括(Advanced RISC Machine,ARM)处理器、FPGA处理器、(Performance Optimization WithEnhanced RISC–Performance Computing,PowerPC)处理器和(Personal Computer,PC)机。
在一些实施例中,数据处理器202在接收到数据待处理通知后,根据数据待处理通知生成数据传输参数,数据传输参数包括数据传输长度和数据传输首地址,其中数据处理器202的存储空间可以划分为多个内存空间。数据传输参数中包括多个内存空间中每个内存空间的数据传输长度和每个存储空间的数据传输首地址。
在一些实施例中,PCIE控制模块2013获取到数据传输参数后,根据数据传输参数中的第一内存空间的数据传输长度和数据传输首地址向PCIE IP核模块2012发送控制信令,PCIE IP核2012根据接收到的控制信令将缓存器模块2011中缓存的数据进行并串转换,然后通过物理IO发送到写入到数据处理器202的第一内存空间。
可选地,在一些实施例中,在PCIE控制模块2013识别到数据传输完成时,通过PCIE总线向数据处理器202发送数据传输完成通知,数据处理器202在接收到数据传输完成通知后,开始对第一内存空间的数据进行读取,并根据数据传输完成通知生成响应消息,并将数据响应消息发送至PCIE控制模块2013。在PCIE控制模块2013获取到响应消息后,开始向数据处理器202的第二内存空间传输数据,其中数据处理器202的第二内存空间传输数据的方式与向数据处理器202的第一内存空间传输数据的方式相同。
可选地,在一些实施例中,在PCIE控制模块2013识别到数据传输完成时,通过PCIE总线向数据处理器202发送数据传输完成通知,并向数据处理器202的第二内存空间传输数据。数据处理器202在接收到数据传输完成通知后,开始对第一内存空间的数据进行读取,并根据数据传输完成通知生成响应消息,并将数据响应消息发送至PCIE控制模块2013。PCIE控制模块2013在接收到响应消息后停止向数据处理器的第二内存空间传输数据,并向数据处理器202发送回复消息,其中,回复消息为PCIE控制模块2013根据响应消息生成的。在PCIE控制模块2013向数据处理器202发送回复消息完成时,继续向数据处理器202的第二内存空间传输数据。
根据本发明实施例的数据传输系统中,当缓存器数据达到预设数量时,向数据处理器发送数据待处理通知,接收数据处理器根据数据待处理通知发送的数据传输参数,数据传输参数包括数据传输长度和数据传输首地址,根据数据传输长度和数据传输首地址向数据处理器的第一内存空间传输数据,当向第一内存空间传输数据完成时,向数据处理器的第二内存空间传输数据,并向数据处理器发送数据传输完成通知,以用于数据处理器根据数据传输完成通知读取第一内存空间内的数据。能够提高PCIE IP核带宽利用率,满足高速数据传输的需求。
以上,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (11)
1.一种基于FPGA的数据传输方法,其特征在于,所述方法包括:
当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知;
接收所述数据处理器根据所述数据待处理通知发送的数据传输参数;
根据所述数据传输参数向所述数据处理器的第一内存空间传输数据;
当向所述第一内存空间传输数据完成时,向所述数据处理器的第二内存空间传输数据,并向所述数据处理器发送数据传输完成通知,以用于所述数据处理器根据所述数据传输完成通知读取所述第一内存空间内的所述数据。
2.根据权利要求1所述的方法,其特征在于,所述数据传输完成通知包括类型信息;在所述向所述数据处理器发送数据传输完成通知后,所述方法还包括:
接收所述数据处理器发送的响应消息,所述响应消息是所述数据处理器判断所述数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
所述向所述数据处理器的第二内存空间传输数据,包括:
在接收到所述数据处理器的所述响应消息时,向所述数据处理器的第二内存空间传输数据。
3.根据权利要求1所述的方法,其特征在于,所述向所述数据处理器的第二内存空间传输数据,包括:
在向数据处理器的第二内存空间传输数据的过程中,接收到所述数据处理器发送的响应消息时,停止向所述数据处理器的第二内存空间传输数据,并向所述数据处理器发送回复消息;其中,所述响应消息是所述数据处理器判断所述数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
在向所述数据处理器发送回复消息完成时,继续向所述数据处理器的第二内存空间传输数据。
4.根据权利要求1所述的方法,其特征在于,在所述当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知之前,所述方法还包括:
对接收到的待传输的数据进行缓存,所述缓存为采用基于FPGA处理器内部构建的先进先出FIFO进行缓存和/或采用外设的双倍速率DDR进行缓存。
5.根据权利要求1所述的方法,其特征在于,所述当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知,包括:
在FPGA处理器中的缓存器模块存储数据达到预设数量时,通过所述FPGA处理器中的PCIE接口向所述数据处理器发送所述数据待处理通知。
6.一种基于FPGA的数据传输装置,其特征在于,所述装置包括FPGA处理器,所述FPGA处理器包括PCIE模块和缓存器模块;
所述PCIE模块,用于当缓存的数据达到预设数量时,向数据处理器发送数据待处理通知;
所述PCIE模块,还用于接收所述数据处理器根据所述数据待处理通知发送的数据传输参数;
所述PCIE模块,还用于根据所述数据传输参数向所述数据处理器的第一内存空间传输数据;
所述PCIE模块,还用于当向所述第一内存空间传输数据完成时,向所述数据处理器的第二内存空间传输数据,并向所述数据处理器发送数据传输完成通知,以用于所述数据处理器根据所述数据传输完成通知读取所述第一内存空间内的所述数据。
7.根据权利要求6所述的装置,其特征在于,所述PCIE模块还用于:
接收所述数据处理器发送的响应消息,所述响应消息是所述数据处理器判断所述数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
所述PCIE模块向所述数据处理器的第二内存空间传输数据,包括:
在接收到所述数据处理器的所述响应消息时,所述PCIE模块向所述数据处理器的第二内存空间传输数据。
8.根据权利要求6所述的装置,其特征在于,所述PCIE模块还用于:
在向数据处理器的第二内存空间传输数据的过程中,接收到所述数据处理器发送的响应消息时,停止向所述数据处理器的第二内存空间传输数据,并向所述数据处理器发送回复消息;其中,所述响应消息是所述数据处理器判断所述数据传输完成通知的类型信息为数据传输完成类型时生成的消息;
在向所述数据处理器发送回复消息完成时,继续向所述数据处理器的第二内存空间传输数据。
9.根据权利要求6所述的装置,其特征在于,所述缓存器模块包括:FIFO缓存器模块和/或DDR缓存器模块。
10.根据权利要求6所述的装置,其特征在于,所述PCIE模块具体用于:
在所述FPGA处理器中的缓存器模块存储数据达到预设数量时,通过所述FPGA处理器中的PCIE接口向所述数据处理器发送所述数据待处理通知。
11.根据权利要求6所述的装置,其特征在于,所述PCIE模块包括PCIE控制模块和PCIEIP核模块;
所述PCIE控制模块,用于当所述缓存器模块缓存的数据达到预设数量时,读取所述缓存器模块缓存的数据,并将数据传输至所述PCIE IP核模块;
所述PCIE IP核模块,用于接收到数据时向数据处理器发送数据待处理通知;以及,
用于接收所述数据处理器根据所述数据待处理通知发送的数据传输参数;以及,
用于根据所述数据传输参数向所述数据处理器的第一内存空间传输数据;以及,
用于当向所述第一内存空间传输数据完成时,向所述数据处理器的第二内存空间传输数据,并向所述数据处理器发送数据传输完成通知,以用于所述数据处理器根据所述数据传输完成通知读取所述第一内存空间内的所述数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110449253.7A CN113342724A (zh) | 2021-04-25 | 2021-04-25 | 一种基于fpga的数据传输方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110449253.7A CN113342724A (zh) | 2021-04-25 | 2021-04-25 | 一种基于fpga的数据传输方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113342724A true CN113342724A (zh) | 2021-09-03 |
Family
ID=77468514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110449253.7A Pending CN113342724A (zh) | 2021-04-25 | 2021-04-25 | 一种基于fpga的数据传输方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342724A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794481A (zh) * | 2021-09-14 | 2021-12-14 | 上海创远仪器技术股份有限公司 | 用于采集超宽带无线信号的系统及其方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967225A (zh) * | 2017-11-21 | 2018-04-27 | 深圳市统先科技股份有限公司 | 数据传输方法、装置、计算机可读存储介质和终端设备 |
CN111143261A (zh) * | 2020-01-02 | 2020-05-12 | 云南大学 | 一种基于pcie高速数据采集系统 |
CN112115081A (zh) * | 2020-09-16 | 2020-12-22 | 南京艾科朗克信息科技有限公司 | 证券期货领域Fpga与计算机之间的DMA传输系统和方法 |
-
2021
- 2021-04-25 CN CN202110449253.7A patent/CN113342724A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107967225A (zh) * | 2017-11-21 | 2018-04-27 | 深圳市统先科技股份有限公司 | 数据传输方法、装置、计算机可读存储介质和终端设备 |
CN111143261A (zh) * | 2020-01-02 | 2020-05-12 | 云南大学 | 一种基于pcie高速数据采集系统 |
CN112115081A (zh) * | 2020-09-16 | 2020-12-22 | 南京艾科朗克信息科技有限公司 | 证券期货领域Fpga与计算机之间的DMA传输系统和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794481A (zh) * | 2021-09-14 | 2021-12-14 | 上海创远仪器技术股份有限公司 | 用于采集超宽带无线信号的系统及其方法 |
CN113794481B (zh) * | 2021-09-14 | 2024-06-14 | 上海创远仪器技术股份有限公司 | 用于采集超宽带无线信号的系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109446125B (zh) | Ddr读写仲裁器及方法 | |
WO2023284169A1 (zh) | 从axi总线到opb总线的数据写入方法及读取方法 | |
CN101324869B (zh) | 一种基于axi总线的多路复用器 | |
CN103077132B (zh) | 一种高速缓存处理方法及协议处理器高速缓存控制单元 | |
CN103077123A (zh) | 一种数据写入和读取方法及装置 | |
CN102841869B (zh) | 一种基于fpga的多通道i2c控制器 | |
WO2011008402A2 (en) | Squelch filtration to limit false wakeups | |
WO2018232736A1 (zh) | 内存访问技术及计算机系统 | |
CN102541779A (zh) | 一种提高多数据缓冲区dma效率的系统和方法 | |
EP3036648B1 (en) | Enhanced data transfer in multi-cpu systems | |
CN104239252A (zh) | 数据存储系统的数据传输方法、装置及系统 | |
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
CN113342724A (zh) | 一种基于fpga的数据传输方法与装置 | |
CN100517498C (zh) | 一种无读取延迟的先进先出存储器 | |
CN112825024A (zh) | 命令融合、拆分方法与NVMe控制器 | |
US20130166805A1 (en) | Interrupt cause management device and interrupt processing system | |
CN117472815A (zh) | 一种axi协议下的存储模块转换接口及其转换方法 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
CN114168503A (zh) | 一种接口ip核控制方法、接口ip核、装置及介质 | |
CN111694777B (zh) | 基于PCIe接口的DMA传输方法 | |
CN218996035U (zh) | 一种配合xmda使用的rdma高速数据传输系统 | |
CN118502323B (zh) | 工业以太网数据的传输方法和fpga | |
CN109634880B (zh) | 一种数据采集设备、数据交互设备及数据采集系统 | |
CN117149680B (zh) | 用于贴片机子模块日志上传的主控板及上传方法 | |
CN112148667B (zh) | 一种基于fpga软核的缓存系统及方法 |
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 |