S03_CH08_DMA_LWIP以太网传输

  • Post author:
  • Post category:其他



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系统构架


wps2B39.tmp

这个系统实际上就是在前面章节DMA的基础上去掉FPGA读DMA通道,只有FPGA往DMA写输入数据,当DMA接收中断产生后,在通过LWIP协议,把数据通过网口发送出去。网口是接在PS的ARM端口的因此,ARM部分也是要把网口配置好。如下图所示。

8.2.1 启用HP接口

双击ZYNQ的IP之后启动HP接口,这里只要用到1个HP接口通道


wps2B4A.tmp

8.2.2启用PL到PS的中断资源


wps2B4B.tmp

8.2.3启动PS部分的以太网接口


wps2B4C.tmp

8.2.4 时钟的设置

将FCLK_CLK0和FCLK_CLK1均设为100Mhz,其中CLK1为PL构造数据部分逻辑的时钟源,在实际应用中可自由调节时钟频率,故与CLK0分开使用。设置如下图所示。


wps2B4D.tmp

8.2.5 DMA IP 配置

由于只用到了写通道,因次,只要把勾选写DMA通道既可以,如下图所示:


wps2B5E.tmp

8.2.6 GPIO的配置

双击axi_gpio_0。设置如下图所示


wps2B5F.tmp

8.2.7配置axi_ data_fifo _0

双击axis_data_fifo_0,设置如下图所示。fifo在本例程中作为axi_dma_0的S_AXIS_S2MM接口所在的FCLK0时钟域与外部数据生成逻辑stream接口所在的FCLK1时钟域之间的转换媒介。


wps2B60.tmp

8.2.8设置S_AXIS接口


wps2B70.tmp

双击S_AXIS端口,进行如下图设置