软件版本:VIVADO2017.4
操作系统:Ubuntu16.4 64bit
硬件平台:XILINX FPGA MK7160FA
米联客(MSXBO)论坛:www.osrc.cn 答疑解惑专栏开通,欢迎大家给我提问!!
7.1 概述 这一章主要讲述基于PCIE XDMA IP实现的一个图像传输应用,图像的数据流控制主要用到了VDMA IP,后面章节我们给出了基于FDMA自定的IP,进行传图应用,FDMA的方案要比VDMA要简单一些。本节课程的知识点点比较多,包括了中断部分知识,而中断部分内容前面的课程并没有涉及。
本节课主要包括FPGA端设计和Ubuntu系统下应用程序设计。FPGA端主要实现如下功能
XDMA与DDR数据通信 VDMA实现视频数据搬运 可编程VTC(Video Timing Control)模块,提供视频时序功能 AXIS to Video模块,实现axis到视频时序的转换 图像处理模块,用户可自定义图像处理功能,例程中实现彩色图像的饱和度调整算法 Video to AXIS模块,实现视频时序到AXIS的转换 用户逻辑寄存器模块,可桥接到XDMA,实现上位机通过XDMA对FPGA的寄存器控制 Ubuntu下应用程序实现如下功能:
读取本地图像生成图像传输链表 通过VDMA的MM2S中断来从Ubuntu传输图像到FPGA DDR 通过VDMA的S2MM中断来从FPGA DDR获取图像数据 将图像保存到本地 7.2 FPGA端设计 首先来介绍一下整个图像数据通路
由上图可以看出,图像数据是由PC端产生,然后用过XDMA传输到ZYNQ的DDR3(通过HP接口),数据再经过一个MM2S的VDMA从ZYNQ的DDR(通过HP接口)读出到AXIS接口,经过AXIS to VIDEO转换到视频时序,可以做视频处理,之后再经过VIDEO to AXIS转换到AXIS接口,经过MM2S的VDMA存入DDR,XDMA再从DDR将图像数据读出到底PC。这里面实际上包含了两条传输路径,一条是PCIE到视频,一条是视频到PCIE,一个工程,两个操作例子,很有参考意义。
下面开始在Block Design里面搭建基本互联系统。主要设计就是IP例化,配置以及连接。
7.2.1 VDMA配置 为了系统结构比较清晰,我们使用两个VDMA,一个负责S2MM,一个负责MM2S。为了提供比较充足的缓存,这里每个VDMA都采用16帧缓存模式。
MM2S VDMA配置
将Memory Map Data Width设置为64,增加AXI4接口位宽
Read Burst Size 选择32
以上两个参数用户可以自行选择,这里面只是提供参考,但是设置数值过低可能会影响性能。
Frame Buffers 选择16
Stream Data Width 选择24 传输RGB888数据
在 Advanced 选项里面同步方式选择 None,也就是靠AXIS Slave 端来控制。
Allow Unaligned Transfers 不勾选
S2MM VDMA 配置
7.2.2 XDMA 配置
关于XDMA 配置在第一课中已经有提及,这里面是针对第二课的设计进行一些配置。
首先对下图地址进行配置,这个地址是 pcie 控制接口 bar 地址到 axi 地址的映射关系,由于工程中 vdma 寄存器 基地址,用户寄存器基地址都以 0x44a00000 开始,这里面就将 pcie 控制接口到 axi 总线的地址映射到 0x44a00000,空间大小为1MB,1MB 足够了。
米联客FMC-SFP模块支持4路SFP光纤接口,最大支持10Gbps速率。可以安装到具有HPC的FMC接口开发板上使用。控
14760
FMC-3G SDI子卡测试1.1概述使用FMC-3GSDI子卡来实现 FPGA 通过 GTH 高速收发器从同轴电缆接收 3G-SDI 信号
15390
双十一欢乐购!米联客天猫商城和京东商城狂欢15日!2022.10.28-2022.11.11店铺推出满减优惠券!领券下单享
12830
1产品概述FEP-CARD-DAQ9248是一款14bits双通道65MSPS ADC采集模块,该方案采用了ADI的AD9248芯片,扩展接口
55630
1产品概述FEP-DAQ976X是一款14bits双通道125MSPS DAC数模转换模块,该方案采用了ADI的AD9767芯片,扩展接口
34910
本文在 AXI_DMA_LOOP 环路测试架构的基础上,在 DATA FIFO 端加入 FPGA 代码,对 FIFO 写,实现将 PL 端数
86243
在前文中我们学习了AXI总线协议,而且通过VIVADO自定义了AXI-LITE总线协议的IP CORE,并且实现了寄存器的读
49521
FDMA是米联客的基于AXI4总线协议定制的一个DMA控制器。有了这个IP我们可以统一实现用FPGA代码直接读写PL的D
79273
在前文的实验中我们详细介绍了FDMA的使用方法,以及使用了AXI-BRAM演示了FDMA的使用,现在我们已经掌握了FD
89218
1.1 FPGA技术背景笔者也是在偶然的机缘下接触到FPGA的,当初只有感性的认识就是FPGA速
1018520
淘宝购买链接:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18659455309
1288915
在前面的课程种,我们已经提供了FDMA和XDMA配合使用,应用于PCIE传图的方案。但是前面
14318315
8B/10B编码是1983年由IBM公司的Al Widmer和PeterFranaszek所提出的数据传输编码标准,
676410
淘宝购买连接:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-18659455309
89038
在前文的实验中我们详细介绍了FDMA的使用方法,以及使用了AXI-BRAM演示了FDMA的使用,
89218
1概述在米联客老版本的MIA701开发板(2017版本)中,米联开源了1套原创的UDP IP协议栈。
115388
1、电源改动版本使用电压输入电压范围201712275V4.7-5.2V201909185V2.0-16V新版本采用
58258
前面我们完成了一个PCIE中断采集图像的方案,但是很多应用中我们需要采集分析ADC的数
93768
本章讲解使用PL端以太网口实现UDP通信。开发板中实现千兆网 UDP 传输的基本逻辑框架如
126948
米联客FMC-SFP模块支持4路SFP光纤接口,最大支持10Gbps速率。可以安装到具有HPC的FMC
14760
FMC-3G SDI子卡测试1.1概述使用FMC-3GSDI子卡来实现 FPGA 通过 GTH 高速收发器从同轴
15390
双十一欢乐购!米联客天猫商城和京东商城狂欢15日!2022.10.28-2022.11.11店铺推出满
12830
1产品概述FEP-CARD-DAQ9248是一款14bits双通道65MSPS ADC采集模块,该方案采用了ADI的
55630
1产品概述FEP-DAQ976X是一款14bits双通道125MSPS DAC数模转换模块,该方案采用了ADI的
34910
本文在 AXI_DMA_LOOP 环路测试架构的基础上,在 DATA FIFO 端加入 FPGA 代码,对 FIFO
86243
在前文中我们学习了AXI总线协议,而且通过VIVADO自定义了AXI-LITE总线协议的IP CORE,
49521
FDMA是米联客的基于AXI4总线协议定制的一个DMA控制器。有了这个IP我们可以统一实现用F
79273
在前文的实验中我们详细介绍了FDMA的使用方法,以及使用了AXI-BRAM演示了FDMA的使用,
89218
基于FDMA可以完成很多数据读写存储类的应用,本文将展示通过FDMA读写AXI-BRAM
本文实
49761