流数据与AXI接口通信装置的制作方法

文档序号:17002863发布日期:2019-03-02 01:53阅读:530来源:国知局
流数据与AXI接口通信装置的制作方法

本发明涉及数据采集与传输技术,具体涉及一种流数据与axi接口通信装置。



背景技术:

随着信息技术的高速发展,人们处理的数据量也大幅增长,数据传输作为数据处理的重要一个环节,人们对数据传输的速率要求也越来越高,数据的高速传输和存储系统在现代信息社会充当着重要角色。

pcie作为第三代高性能i/o总线,相比于上一代pci总线,从并行总线变为串行总线,使用高速差分信号,减少了总线信号的同时又大大提高了传输速率。现有的高速数据传输系统多基于pcie1.0、pcie2.0、usb3.0、千兆网口等,但是其传输速率仍然不能满足现代雷达回波数据采集对于数据传输速率的要求,因此pcie3.0传输系统应运而生。

在pcie3.0采集传输系统的调试过程中,需要使用pcie3.0ip核,其只提供了axi4的接口信号,因此系统中所有的数据需要封装成axi4协议的形式,以适应pcie3.0ip的需求;前端采集的信号为普通的流数据,现在市场上又没有直接将普通流数据封装为axi4数据的解决方案,因此设计发明一种将普通流数据转换为axi4数据的模块是十分有必要而且实用的。



技术实现要素:

本发明的目的在于提供一种流数据与axi接口通信装置,解决现在技术中缺少直接将普通流数据封装为axi4数据解决方案的问题。

实现本发明目的的技术方案为:一种流数据与axi接口通信装置,包括传输控制模块、fifo模块、接口通信模块和状态信号存储寄存器;

所述传输控制模块用于接收上位机开始采集信号、监控ddr数据量、控制采集数据存入ddr;

所述fifo模块用于对采集数据进行数据率转换、进行数据缓存以组织一次axi突发写;

所述接口通信模块从fifo模块中读取数据,并将其封装为axi4协议中规定的数据格式,然后将其写入ddr存储器中;

所述状态信号存储寄存器用于存储上位机软件发出的开始采集控制信号、ddr存储器存储数据量状态信号;

当传输控制模块检测到上位机软件发出的开始采集信号后,控制fifo模块开始存储前端的采集信号;当fifo模块中的数据达到可以组成一次axi突发写的数据量时,控制读取fifo模块中的数据,将数据输出到接口通信模块;当检测到ddr中的数据量达到一次dma传输的数据量大小时,通知上位机软件从ddr存储器中读数据,并且将前端采集的数据切换存储到另一组ddr存储器中,组成乒乓存储结构。

本发明与现有技术相比,具有的有益效果为:(1)本发明实现的axi协议,支持所有在axi4协议中描述的数据位宽、地址位宽、突发长度,可手动设置axi协议中的参数,兼容性强,可以适应大多数系统要求;(2)本发明实现的axi协议,支持将主端数据映射到从端任意大小的地址空间中,充分利用ddr存储器大容量的存储特点,使得一次dma传输的数据量大小不受限制,提高了系统传输数据率;(3)使用fifo缓存以组织axi突发写,使得一次axi突发写是连续进行的,提高了axi数据的传输效率。

附图说明

图1为本发明流数据与axi接口通信装置结构框图。

图2为本发明应用系统的结构框图。

图3为本发明接口通信模块流程图。

具体实施方式

结合图1,一种流数据与axi接口通信装置,包括传输控制模块、fifo模块、接口通信模块和状态信号存储寄存器;

所述传输控制模块负责接收上位机开始采集信号、监控ddr数据量、控制采集数据存入ddr;

所述fifo模块用于对采集数据进行数据率转换、进行数据缓存以组织一次axi突发写;

所述接口通信模块从fifo中读取数据,并将其封装为axi4协议中规定的数据格式,然后将其写入ddr存储器中;

所述状态信号存储寄存器用于存储上位机软件发出的开始采集控制信号、ddr存储器存储数据量状态信号;

当传输控制模块检测到上位机软件发出的开始采集信号后,控制fifo模块开始存储前端的采集信号;当fifo模块中的数据达到可以组成一次axi突发写的数据量时,控制读取fifo模块中的数据,将数据输出到接口通信模块;当检测到ddr中的数据量达到一次dma传输的数据量大小时,通知上位机软件从ddr中读数据,并且将前端采集的数据切换存储到另一组ddr中,组成乒乓存储结构。

所述fifo模块将前端采集信号先进行缓存,以使得数据量达到一次axi写突发的数据量,并且可完成前端采集数据率到后端ddr存储数据率的转换,提高axi写数据的效率;输出内部存储状态信号至传输控制模块,以便传输控制模块控制fifo的读写。

所述接口通信模块负责将fifo输出的数据封装成axi4协议中规定的格式,支持所有axi4协议中描述的数据位宽、地址位宽、突发长度,支持主端数据映射到从端任意大的地址空间中,充分利用了ddr存储器大容量的特性,同时可以组织更大的dma传输,提高传输数据率。

所述状态信号存储寄存器用于存储上位机软件发出的开始采集控制信号、ddr存储器存储数据量状态信号,实现pcie3.0高速数据传输系统与上位机软件之间的通信。

本发明涉及基于pcie3.0高速数据传输系统中的流数据与axi接口通信装置,基于pcie3.0高速数据传输系统包括pcie数据发送模块、板卡配置模块、状态监控模块、ddr存储器、流数据与axi接口通信模块、时钟模块、磁盘容量检测模块、上位机数据接收模块、数据验证模块。由于数据传输系统中数据的传输都是以axi格式的数据进行的,而前端采集的信号是普通的流数据,所以实现一个模块以将普通流数据转换为axi数据便十分有必要。本发明实现的普通流数据到axi4数据的接口通信模块包括fifo模块、接口通信模块、传输控制模块、状态信号存储寄存器。该接口通信模块支持主端流数据映射到从端任意大小的地址空间中,可充分利用本系统中ddr大容量的存储特性,提高单次dma传输数据量,提高pcie数据传输速率;该模块支持用户自定义设置,可以根据需求,可通过编程设置axi传输协议的具体参数,具有较强的兼容性,兼容所有的axi4协议支持的数据位宽、地址位宽、突发长度。

下面结合附图和具体实施例对本发明进行更进一步详细描述。

实施例

结合图1,一种流数据与axi接口通信装置,包括:

(1)传输控制模块:上位机软件通过状态信号存储寄存器通知pcie3.0高速数据传输系统开始采集数据,传输控制模块轮询状态信号存储寄存器,如果检测到开始采集信号置位,输出控制信号控制前端采集数据写入fifo中缓存。

数据传输控制模块接收fifo存储状态信号,当fifo中的数据量达到一次axi突发写的数据量时,控制读取fifo中的数据,直到一次axi突发写完成。

数据传输控制模块检测axi4数据写入到ddr中的数据量,一旦检测到数据量达到一次dma的传输数据量,便通知上位机从ddr中取数据,同时将从fifo读取的数据切换写入另一组ddr中,构成乒乓存储结构,防止同时读写同一组ddr导致ddr读写速率降低。

(2)fifo模块:由于前端采集数据率与后端ddr存储数据率不一定相同,先将前端数据缓存至fifo实现数据率的转换;当fifo中的数据量达到一次axi突发写的数据量时,读取fifo中的数据,这样能保证每次axi突发写都是连续的,不会有中间的间隔时间,大大提高了axi数据的传输效率。

(3)接口通信模块:本系统需要传输的数据来自于前端的采集数据,是一种普通流数据,而系统中各个ip核之间的数据传输需要使用axi协议,因此有必要将普通流数据转换为axi数据。现有的xilinx提供的ip核中只有axi-stream和axi-mm信号之间转换的功能,市场上也没有直接将普通流数据封装成axi4数据的成熟解决方案,因此提供一种能将普通流数据直接转换为axi数据的方案是具有一定的应用价值的。

当检测到fifo中的数据量达到一次axi突发写的数据量时,控制从fifo中取数据,并将普通流数据封装成axi数据,将封装好的axi数据通过xilinx提供的mig核存储至ddr存储器;同时输出数据传输状态信号,以便传输控制模块能实时监测传输的数据量,并通知上位机开始接收数据。

该模块实现的普通流数据到axi数据的转换功能,支持所有在axi4协议中描述的数据位宽、地址位宽、突发长度,并且可以将主端数据映射到从端任意大小的地址空间中,充分利用ddr存储器大容量的存储特点。

(4)状态信号存储寄存器:状态信号存储寄存器用于存储上位机软件发出的开始采集控制信号、ddr存储器存储数据量状态信号,实现pcie3.0高速数据传输系统与上位机软件之间的通信。

如图2所示,为本发明应用示意图,即应用在基于pcie3.0高速数据传输系统中,高速数据传输系统包括pcie数据发送模块、板卡配置模块、状态监测模块、流数据与axi接口通信模块、ddr存储器、时钟模块、光纤模块、光纤数据采集模块、磁盘容量检测模块、上位机数据接收模块、ssd磁盘阵列模块、数据验证模块。其中:所述pcie数据发送模块将待发送数据按照pcie3.0协议打包,并使用dma方式将打包好的数据通过pcie3.0接口传输至pc机;所述板卡配置模块用于配置pcie数据发送模块工作模式;所述状态监测模块用于实时监测pcie传输模块的工作状态;所述流数据与axi接口通信模块用于对采集到的流数据转换为axi4协议的数据,以将数据存储值ddr;所述ddr存储器用于对发送数据进行缓存,即ddr存储器存储接口通信模块输出的axi4数据,进行数据缓存,以组织一次dma数据传输。所述时钟模块用于向fpga提供工作时钟;光纤模块和光纤数据采集模块用于接收光纤数据;所述磁盘容量检测模块用于实时检测磁盘的剩余存储容量,在传输前判断剩余容量是否能够存储所需采集的数据;所述上位机数据接收模块用于接收从fpga传输过来的数据,并存储至磁盘阵列中;ssd磁盘阵列模块用于存储上位机数据接收模块接收的数据;所述数据验证模块用于对上位机接收到的数据进行正确性验证。

图3为接口通信模块流程图,其流程为:

步骤1、前端流数据输入到fifo中,进行数据缓冲以及数据率转换;当检测到fifo将写满时,接口通信模块准备开始一次axi突发写。

步骤2、当检测到从端准备好接收地址信息时,接口通信模块输出axi地址数据以及地址有效信号,指示从端接收axi地址数据。

步骤3、当检测到从端准备好接收数据时,接口通信模块输出数据以及数据有效信号,指示从端接收axi数据。

步骤4、一次突发写结束之后,当收到从端返回的写响应信号时,说明axi数据已经写入到从端设备中了,此时重新返回步骤1,检测fifo存储状态,以准备下一次axi突发写。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1