基于zynq的axis-fifo桥电路及利用该电路进行数据传输的方法
【技术领域】
[0001 ]本发明涉及FPGA设计技术领域,具体涉及一种基于ZYNQ的AXIS-FIFO桥电路及利用该电路进行数据传输的方法。
【背景技术】
[0002]基于ZYNQ的FPGA芯片由ARM处理系统与片上可编程逻辑组成。而ARM处理系统与片上可编程逻辑的互连普遍采用AX1、AXI_1ITE和AXIS总线接口。其中AXIS总线接口面向高速流数据传输,应用于具备数据处理和传输功能的IP进行数据交换,并且基于ZYNQ处理器的VIVADO开发软件也提供了基于AXIS接口的功能IP。但是如果用户需要将自己设计的功能封装成IP应用于ZYNQ平台时会产生一些不便,除了需要设计IP内部功能,还要额外设计与ZYNQ处理器接口交换的AXIS接口,而VIVADO开发软件并没有提供这方面的IP。
【发明内容】
[0003](一)要解决的技术问题
[0004]本发明要解决的技术问题是:如何设计一种结构简单可靠且通用性强的基于ZYNQ的AXIS-FIF0桥电路及相应的数据传输方法。
[0005](二)技术方案
[0006]为了解决上述技术问题,本发明提供了一种基于ZYNQ的AXIS-FIFO桥电路,包括ZYNQ处理器、DDR2芯片、DMA控制器和AXIS-FIF0桥电路;
[0007]所述ZYNQ处理器包括ARM处理系统和AXI接口控制器,连接DDR2芯片和DMA控制器,用于控制DMA控制器和DDR2芯片进行数据存取交互;
[0008]所述DDR2芯片连接ZYNQ处理器,用于完成与ZYNQ处理器的数据交互;
[0009]所述DMA控制器连接ZYNQ处理器和AXIS-FIF0桥电路,通过AXI_1 ITE接口接收ZYNQ处理器的命令,通过AXI接口完成与ZYNQ处理器的数据交互,通过AXIS接口完成与AXIS-FIFO桥电路的数据交互;
[0010]所述AXIS-FIF0桥电路连接DMA控制器的IP与FIFO接口的用户IP,用于完成AXIS与FIFO接口协议转换。
[0011]优选地,所述AXIS-FIFO桥电路包括AXIS2FIFO单元和FIF02AXIS单元;
[0012]所述AXIS2FIF0单元与DMA控制器的接口信号为MemoryMap到Stream方向的AXIS协议信号,包括tdata、tvalid和tready信号,FIF02AXIS单元与DMA控制器的接口信号为31:^&1]1到]\161]10^]\紅口到方向的六乂13协议信号,包括七0^&、1:¥&11(1和1:代&(17信号;六乂13协议信号的控制机制为当有数据可供读或写时,置tvalid有效指示有效的tdata可读或写,通过对面通信方控制tready的有效与否来执行有效的读写操作;
[0013]所述AXIS2FIF0单元由AXIS2FIF0转换单元和StandardFIFO构成,所述AXIS2FIF0转换单元用于完成ZYNQ处理器MemoryMap到DMA控制器与FIF02AXIS转换单元的连接端口即用户Stream端的AXIS接口协议tready信号与FIFO接口协议almostf ul I信号之间的转换、AXIS接口协议tval id信号逻辑与tready信号后输出的信号与FIFO接口协议wr_en信号之间的转换,以及AXIS接口协议tdata与FIFO接口协议din信号的转换;
[0014]所述FIF02AXIS单元由FWFT FIFO和FIF02AXIS转换单元构成,所述FWFT FIFO用于完成零延迟FIFO数据读取功能,所述FIF02AXIS转换单元用于完成用户Stream到ZYNQ处理器MemoryMap端的AXIS接口协议tval id信号与FIFO接口协议empty信号之间的转换、AXIS接口协议tvalid信号逻辑与tready信号后输出的信号与FIFO接口协议rd_en信号之间的转换,以及AXIS接口协议tdata与FIFO接口协议dout信号之间的转换。
[0015]优选地,所述电路还包括用户IP,连接AXIS-FIFO桥电路,分别通过Standard FIFO读接口完成读FIFO操作和通过FWFT FIFO写接口负责完成写FIFO操作。
[0016]本发明还提供了一种利用所述的电路进行数据传输的方法,数据发送过程包括以下步骤:
[0017]Al、ZYNQ处理器通过配置DMA寄存器控制DMA控制器,打开DMA控制器发送使能,配置DMA控制器读DDR2地址,配置DMA控制器读取长度;
[0018]A2、ZYNQ处理器从DDR2芯片读取数据传递至DMA控制器端;
[0019]A3、DMA控制器根据AXIS-FIFO桥电路的FIFO写状态通过AXIS2FIF0转换单元将数据写入Standard FIFO中;
[0020]A4、用户IP根据FIFO读状态读取FIFO数据完成数据传输并进行数据处理;
[0021 ]数据接收过程包括以下步骤:
[0022]B1、ZYNQ处理器通过配置DMA寄存器控制DMA控制器,打开DMA控制器接收使能,配置DMA控制器写DDR2地址,配置DMA控制器写入长度;
[0023]B2、用户IP根据FIFO写状态将处理数据写入FffFT FIFO;
[0024]B3、DMA控制器根据AXIS-FIFO桥电路的FIFO读状态通过FIF02AXIS转换单元读取FIFO数据。
[0025]B4、ZYNQ处理器将DMA控制器端数据写入DDR2芯片。
[0026](三)有益效果
[0027]本发明的创新之处在于在剖析AXIS接口协议和FIFO接口协议的基础上,将AXIS接口协议通过精简的电路转换为FIFO接口协议,并通过加入FWFT FIFO控制技术实现了接口读或写操作时协议转换的零延迟效果,提供了 VIVADO开发软件没有提供的IP功能。方便用户专心于用户IP的开发,免去接口协议的设计精力的花费和重复性工作。
【附图说明】
[0028]图1为本发明实施例的电路结构框图;
[0029]图2为本发明实施例的方法进行数据传输的数据流向图。
【具体实施方式】
[0030]为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。
[0031]如图1、图2所示,本发明提供了一种基于ZYNQ的AXIS-FIF0桥电路,包括ZYNQ处理器、DDR2芯片、DMA控制器IP、AXIS-FIFO桥电路、用户IP。
[0032]所述ZYNQ处理器由ARM处理系统和AXI接口控制器组成。连接DDR2芯片和DMA控制器,负责控制DMA控制器与DDR2进行数据存取交互。
[0033]所述DDR2芯片连接ZYNQ处理器,负责完成与ZYNQ处理器的数据交互。
[0034]所述DMA控制器IP连接ZYNQ处理器和AXIS-FIF0桥电路,通过AXI_1ITE接口接收ZYNQ处理器命令,通过AXI接口负责完成与ZYNQ处理器的数据交互,通过AXIS接口完成与AXIS-FIF0桥电路的数据交互。
[0035 ] 所述AXIS-FIFO桥电路连接DMA控制器IP与FIFO接口的用户IP,负责完成AXIS与FIFO接口协议转换。AXIS-FIF0桥电路内部包括AXIS2FIF0单元和FIF02AXIS单元。AXIS2FIF0单元与DMA的接口信号为MemoryMap(映射表)到Stream(MM2S)方向的AXIS协议信号构成,主要包括tdata、tvalid和tready信号,FIF02AXIS单元与DMA的接口信号为Stream到MemoryMap到(S2MM)方向的AXIS协议信号构成,主要包括tdata、tvalid和tready信号。AXIS协议信号的控制机制为当有数据可供读或写时,置tvalid有效指示有效的tdata可读或写,通过对面通信方控制tready的有效与否来执行有效的读写操作。
[0036]所述AXIS2FIF0单元由AXIS2FIF0转换单元和StandardFIFO构成。所述AXIS2FIF0转换单元用于完成ZYNQ处理器MemoryMap到DMA控制器与FIF02AXIS转换单元的连接端口即用户Stream端的AXIS接口协议tready信号与FIFO接口协议almostf ul I信号之间的转换、AXIS接口协议tval id信号逻辑与tready信号后输出的信号与FIFO接口协议wr_en信号之间的转换,以及AXIS接口协议tdata与FIFO接口协议din信号的转换。对Standard FIFO的写操作主要通过din、wr_en和almostfull信号控制,din信号为Standard FIFO的数据输入信号,可以直接由AXIS协议信号的tdata信号转换而成;wr_en信号为Standard FIFO的写信号,