S03_
CH0
8
_
DMA_LWIP以太网传输
8.1概述
本例程详细创建过程和本季课程第一课《
S03_
CH01_AXI_DMA_LOOP
环路测试
》非常类似,因此如果读者不清楚如何创建工程,请仔细阅读本季第一课时。
本例程的基本原理如下。
PS通过AXI GPIO IP核启动PL不间断循环构造16bit位宽的0~1023的数据,利用AXI DMA IP核,通过PS的Slave AXI GP接口传输至PS DDR3的乒乓缓存中。PL每发完一次0~1023,AXI DMA IP核便会产生一个中断信号,PS得到中断信号后将DDR3缓存的数据通过乒乓操作的方式由TCP协议发送至PC机。
8.2搭建硬件系统
8.2.1系统构架
这个系统实际上就是在前面章节DMA的基础上去掉FPGA读DMA通道,只有FPGA往DMA写输入数据,当DMA接收中断产生后,在通过LWIP协议,把数据通过网口发送出去。网口是接在PS的ARM端口的因此,ARM部分也是要把网口配置好。如下图所示。
8.2.1 启用HP接口
双击ZYNQ的IP之后启动HP接口,这里只要用到1个HP接口通道
8.2.2启用PL到PS的中断资源
8.2.3启动PS部分的以太网接口
8.2.4 时钟的设置
将FCLK_CLK0和FCLK_CLK1均设为100Mhz,其中CLK1为PL构造数据部分逻辑的时钟源,在实际应用中可自由调节时钟频率,故与CLK0分开使用。设置如下图所示。
8.2.5 DMA IP 配置
由于只用到了写通道,因次,只要把勾选写DMA通道既可以,如下图所示:
8.2.6 GPIO的配置
双击axi_gpio_0。设置如下图所示
8.2.7配置axi_ data_fifo _0
双击axis_data_fifo_0,设置如下图所示。fifo在本例程中作为axi_dma_0的S_AXIS_S2MM接口所在的FCLK0时钟域与外部数据生成逻辑stream接口所在的FCLK1时钟域之间的转换媒介。
8.2.8设置S_AXIS接口
双击S_AXIS端口,进行如下图设置