资讯详情

资讯详情

FPGA实现CameraLink转PCIE,基于XDMA中断模式,提供6套工程源码和技术支持

目录1、前言工程概述免责声明2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目FPGA实现CameraLink视频编解码方案我已有的PCIE方案3、工程详细设计方案工程设计原理框图输入CameraLink相机CameraLink视频解码模块CameraLink视频对齐模块DS90CR287芯片解码图像缓存架构XDMA配置及使用XDMA中断模块用户中断发起逻辑Windows版本XDMA驱动安装Linux版本XDMA驱动安装QT上位机工程源码架构Vivado工程注意事项PCIE上板调试注意事项4、vivado工程源码1详解--Artix7-100T RTL逻辑解码版本5、vivado工程源码2详解--Artix7-100T DS90CR287芯片解码版本6、vivado工程源码3详解--Kintex7-325TRTL逻辑解码版本7、vivado工程源码4详解--Kintex7-325T DS90CR287芯片解码版本8、vivado工程源码5详解--Zynq7100RTL逻辑解码版本9、vivado工程源码6详解--Zynq7100DS90CR287芯片解码版本10、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他注意事项11、上板调试验证CameraLink转PCIE效果演示12、工程代码的获取FPGA实现CameraLink转PCIE基于XDMA中断模式提供6套工程源码和技术支持1、前言FPGA实现CameraLink视频解码现状FPGA实现CameraLink视频解码目前有两种方案一是使用专用编芯片解码比如典型的DS90CR287优点是简单快捷缺点是需要额外的芯片导致PCB布线难度加大系统成本上升另一种方案是使用FPGA逻辑资源实现编解码其中7系列FPGA使用ISERDES2原语实现解串UltraScale系列FPGA使用ISERDES3原语实现解串优点是充分利用了FPGA资源系统设计简单成本更低缺点是实现难度大对FPGA工程师水平要求较高本设计使用7系列FPGA的ISERDES2原语和TI的DS90CR287芯片实现CameraLink视频解码FPGA实现PCIE数据传输现状目前基于Xilinx系列FPGA的PCIE通信架构主要有以下2种一种是简单的、傻瓜式的、易于开发的、对新手友好的XDMA架构该架构对PCIE协议底层做了封装并加上了DMA引擎使得使用的难度大大降低加之Xilinx提供了配套的Windows和Linux系统驱动和上位机参考源代码使得XDMA一经推出就让工程师们欲罢不能另一种是更为底层的、需要设计者有一定PCIE协议知识的、更易于定制化开发的7 Series Integrated Block for PCI Express架构该IP实现的是PCIe 的物理层、链路层和事务层提供给用户的是以 AXI4-stream 接口定义的TLP 包使用该IP 核需要对PCIe 协议有清楚的理解特别是对事务包TLP报文格式本设计采用第一种方案使用XDMA的中断模式实现PCIE通信工程概述本设计使用Xilinx 7系列FPGA为平台实现实现CameraLink转PCIE输入视频为CameraLink相机相机为Base模式CameraLink相机LVDS视频首先送入纯verilog代码实现的LVDS接收解码模块或者TI的DS90CR287芯片实现LVDS视频解码输出并行视频数据LVDS接收解码模块需要用到Xilinx ISERDES2原语然后解码视频送入纯verilog代码实现的LVDS视频对齐模块实现视频时序恢复根据CameraLink协议和相机数据手册将并行视频数据恢复为Native视频时序提取出行同步信号、长同步信号、数据有效信号和视频像素数据然后使用纯verilog代码实现的图像缓存架构对采集视频做图像3帧缓存缓存介质为板载DDR3每当缓存一帧视频完毕就发起一次用户中断给XDMA IP核XDMA IP核收到用户中断后通知QT上位机发起一次XDMA读数据操作XDMA再从DDR中读取一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频针对市场主流需求本博客设计并提供6套工程源码具体如下现对上述6套工程源码做如下解释方便读者理解工程源码1开发板FPGA型号为Xilinx–Artix7-100T–xc7a100tfgg484-2输入视频为CameraLink相机相机为Base-1TAP模式默认分辨率为2448x2050CameraLink相机LVDS视频首先送入纯verilog代码实现的LVDS接收解码模块实现LVDS视频解码输出并行视频数据LVDS接收解码模块需要用到Xilinx ISERDES2原语然后解码视频送入纯verilog代码实现的LVDS视频对齐模块实现视频时序恢复根据CameraLink协议和相机数据手册将并行视频数据恢复为Native视频时序提取出行同步信号、长同步信号、数据有效信号和视频像素数据然后使用纯verilog代码实现的图像缓存架构对采集视频做图像3帧缓存缓存介质为板载DDR3本设计仅缓存CameraLink相机1920x1080分辨率的有效图像区域每当缓存一帧视频完毕就发起一次用户中断给XDMA IP核XDMA IP核收到用户中断后通知QT上位机发起一次XDMA读数据操作XDMA再从DDR中读取一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频由此形成CameraLink高速接口PCIE的高端架构该工程适用于CameraLink视频采集卡PCIE接口应用工程源码2开发板FPGA型号为Xilinx–Artix7-100T–xc7a100tfgg484-2输入视频为CameraLink相机相机为Base-1TAP模式默认分辨率为2448x2050CameraLink相机LVDS视频首先送入TI的DS90CR287芯片实现LVDS视频解码输出并行视频数据直接输出Native视频时序包括行同步信号、长同步信号、数据有效信号和视频像素数据然后使用纯verilog代码实现的图像缓存架构对采集视频做图像3帧缓存缓存介质为板载DDR3本设计仅缓存CameraLink相机1920x1080分辨率的有效图像区域每当缓存一帧视频完毕就发起一次用户中断给XDMA IP核XDMA IP核收到用户中断后通知QT上位机发起一次XDMA读数据操作XDMA再从DDR中读取一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频由此形成CameraLink高速接口PCIE的高端架构该工程适用于CameraLink视频采集卡PCIE接口应用工程源码3开发板FPGA型号为Xilinx–Kintex7–325T–xc7k325tffg676-2输入视频为CameraLink相机相机为Base-1TAP模式默认分辨率为2448x2050CameraLink相机LVDS视频首先送入纯verilog代码实现的LVDS接收解码模块实现LVDS视频解码输出并行视频数据LVDS接收解码模块需要用到Xilinx ISERDES2原语然后解码视频送入纯verilog代码实现的LVDS视频对齐模块实现视频时序恢复根据CameraLink协议和相机数据手册将并行视频数据恢复为Native视频时序提取出行同步信号、长同步信号、数据有效信号和视频像素数据然后使用纯verilog代码实现的图像缓存架构对采集视频做图像3帧缓存缓存介质为板载DDR3本设计仅缓存CameraLink相机1920x1080分辨率的有效图像区域每当缓存一帧视频完毕就发起一次用户中断给XDMA IP核XDMA IP核收到用户中断后通知QT上位机发起一次XDMA读数据操作XDMA再从DDR中读取一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频由此形成CameraLink高速接口PCIE的高端架构该工程适用于CameraLink视频采集卡PCIE接口应用工程源码4开发板FPGA型号为Xilinx–Kintex7–325T–xc7k325tffg676-2输入视频为CameraLink相机相机为Base-1TAP模式默认分辨率为2448x2050CameraLink相机LVDS视频首先送入TI的DS90CR287芯片实现LVDS视频解码输出并行视频数据直接输出Native视频时序包括行同步信号、长同步信号、数据有效信号和视频像素数据然后使用纯verilog代码实现的图像缓存架构对采集视频做图像3帧缓存缓存介质为板载DDR3本设计仅缓存CameraLink相机1920x1080分辨率的有效图像区域每当缓存一帧视频完毕就发起一次用户中断给XDMA IP核XDMA IP核收到用户中断后通知QT上位机发起一次XDMA读数据操作XDMA再从DDR中读取一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频由此形成CameraLink高速接口PCIE的高端架构该工程适用于CameraLink视频采集卡PCIE接口应用工程源码5开发板FPGA型号为Xilinx–Zynq100–xc7z100ffg900-2输入视频为CameraLink相机相机为Base-1TAP模式默认分辨率为2448x2050CameraLink相机LVDS视频首先送入纯verilog代码实现的LVDS接收解码模块实现LVDS视频解码输出并行视频数据LVDS接收解码模块需要用到Xilinx ISERDES2原语然后解码视频送入纯verilog代码实现的LVDS视频对齐模块实现视频时序恢复根据CameraLink协议和相机数据手册将并行视频数据恢复为Native视频时序提取出行同步信号、长同步信号、数据有效信号和视频像素数据然后使用纯verilog代码实现的图像缓存架构对采集视频做图像3帧缓存缓存介质为板载DDR3本设计仅缓存CameraLink相机1920x1080分辨率的有效图像区域每当缓存一帧视频完毕就发起一次用户中断给XDMA IP核XDMA IP核收到用户中断后通知QT上位机发起一次XDMA读数据操作XDMA再从DDR中读取一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频由此形成CameraLink高速接口PCIE的高端架构该工程适用于CameraLink视频采集卡PCIE接口应用工程源码6开发板FPGA型号为Xilinx–Zynq100–xc7z100ffg900-2输入视频为CameraLink相机相机为Base-1TAP模式默认分辨率为2448x2050CameraLink相机LVDS视频首先送入TI的DS90CR287芯片实现LVDS视频解码输出并行视频数据直接输出Native视频时序包括行同步信号、长同步信号、数据有效信号和视频像素数据然后使用纯verilog代码实现的图像缓存架构对采集视频做图像3帧缓存缓存介质为板载DDR3本设计仅缓存CameraLink相机1920x1080分辨率的有效图像区域每当缓存一帧视频完毕就发起一次用户中断给XDMA IP核XDMA IP核收到用户中断后通知QT上位机发起一次XDMA读数据操作XDMA再从DDR中读取一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频由此形成CameraLink高速接口PCIE的高端架构该工程适用于CameraLink视频采集卡PCIE接口应用本博客详细描述了FPGA实现CameraLink转PCIE的设计方案工程代码可综合编译上板调试可直接项目移植适用于在校学生、研究生项目开发也适用于在职工程师做学习提升可应用于医疗、军工等行业的高速接口或图像处理领域提供完整的、跑通的工程源码和技术支持工程源码和技术支持的获取方式放在了文章末尾请耐心看到最后免责声明本工程及其源码即有自己写的一部分也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等)若大佬们觉得有所冒犯请私信批评教育基于此本工程及其源码仅限于读者或粉丝个人学习和研究禁止用于商业用途若由于读者或粉丝自身原因用于商业用途所导致的法律问题与本博客及博主无关请谨慎使用。。。2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目其实一直有朋友反馈说我的博客文章太多了乱花渐欲迷人自己看得一头雾水不方便快速定位找到自己想要的项目所以本博文置顶列出我目前已有的所有项目并给出总目录每个项目的文章链接当然本博文实时更新。。。以下是博客地址点击直接前往FPGA实现CameraLink视频编解码方案我的CameraLink视频专栏有很多FPGA的CaeraLink视频编解码方案既有CaeraLink接收也有CaeraLink发送既有CaeraLink普通输出显示也有CaeraLink视频拼接输出等等专栏链接如下欢迎前往查看点击直接前往我已有的PCIE方案我的主页有PCIE通信专栏该专栏基于XDMA的轮询模式实现与QT上位机的数据交互既有基于RIFFA实现的PCIE方案也有基于XDMA实现的PCIE方案既有简单的数据交互、测速也有应用级别的图像采集传输以下是专栏地址点击直接前往此外我的主页有中断模式的PCIE通信专栏该专栏基于XDMA的中断模式实现与QT上位机的数据交互以下是专栏地址点击直接前往此外还有基于RIFFA架构的PCIE通信专栏以下是专栏地址点击直接前往3、工程详细设计方案工程设计原理框图工程设计原理框图如下输入CameraLink相机输入视频为CameraLink工业相机相机为Base模式输出分辨率为2448x205015Hz输出灰度图输出为1-Tap模式即一个像素时钟输出1个像素像素时钟频率85MHz本设计只使用1920x1080的有效图像CameraLink相机如下CameraLink视频解码模块本设计参考了Xilinx官方设计基于ISERDES2原语实现的CameraLink解码模块对输入的CameraLink视频进行解码CameraLink视频解码模块设计框图如下CameraLink视频解码模块输入为4对LVDS差分数据对和1对随路差分时钟对利用Xilinx官方IDELAY和ISERDES原语实现串并转换模块总体代码架构如下IDELAY原语用于接收延时保证接收端视频的稳定性ISERDES2原语用于串并转换将输入串行差分数据转换为并行数据此外CameraLink解串视频还需要做对齐处理随路时钟也需要通过MMCM输出同步处理整个CameraLink视频解码模块严格按照设计框图实现解码模块顶层接口如下CameraLink视频解码模块的两个parameter参数可自由配置以适应CameraLink相机的不同模式具体配置如下CameraLink视频对齐模块调用CameraLink视频对齐模块根据CameraLink视频协议提取出行同步信号、场同步信号、数据有效信号和像素数据模块总体代码架构如下模块顶层接口如下注意注意注意数据对齐最终以你使用的CameraLink相机手册为准我给的只是参考。DS90CR287芯片解码另一种方案是CameraLink相机LVDS视频首先送入TI的DS90CR287芯片实现LVDS视频解码输出并行视频数据直接输出Native视频时序包括行同步信号、长同步信号、数据有效信号和视频像素数据DS90CR287芯片不需要软件配置即可正常工作在FPGA接收端只需要根据标准的CameraLink解码协议提取RGB时序即可。图像缓存架构图像缓存方案采用纯verilog实现缓存介质为DDR3/4图像缓存架构实现的功能是将输入视频缓存到板载DDR中再读出送后续模块目的是实现视频同步输出实现输入视频到输出视频的跨时钟域问题更好的呈现显示效果由于调用了Xilinx官方的MIG作为DDR控制器所以FDMA图像缓存架构就是实现用户数据到MIG的桥接作用架构如下FDMA图像缓存架构由FDMA控制器FDMA组成FDMA实际上就是一个AXI4-FULL总线主设备与MIG对接MIG配置为AXI4-FULL接口FDMA控制器实际上就是一个视频读写逻辑以写视频为例假设一帧图像的大小为M×N其中M代表图像宽度N代表图像高度FDMA控制器每次写入一行视频数据即每次向DDR3中写入M个像素写N次即可完成1帧图像的缓存本设计只用到了FDMA控制器的写功能FDMA控制器IP配置如下FDMA图像缓存架构在Block Design中如下XDMA配置及使用根据Xilinx官方手册XDMA框图如下由图可知XDMA封装了Integrated Block for PCI Express IP不仅完成了事务层的组包解包还添加了完整的 DMA 引擎XDMA 一般情况下使用AXI4 接口AXI4 接口可以加入到系统总线互联适用于大数据量异步传输而且通常情况下使用 XDMA 都会使用到 BRAM 或 DDR 内存AXI4-Stream 接口适用于低延迟数据流传输。XDMA 允许在主机内存和 DMA 子系统之间移动数据。它通过对包含有关要传输的数据的源、目标和数量的信息的“描述符”进行操作来实现此目的。这些直接内存传输既可以用于主机到卡Host to CardH2C的传输也可以用与卡到主机Card to HostC2H的传输。可以将 DMA 配置为由所有通道共享一个 AXI4 Master 接口或者为每个启用的通道提供一个 AXI4-Stream 接口。内存传输是基于每个通道的描述符链接列表指定的DMA 从主机内存和进程中获取这些链接列表。诸如描述符完成和错误之类的事件通过中断来发出信号。XDMA 还提供多达 16 条用户中断线这些中断线会向主机生成中断。本设计需要配置为中断模式如下图XDMA详情参考《AXI Bridge for PCI Express Gen3 Subsystem Product GuidePG194》XDMA在Block Design中如下XDMA中断模块XDMA中断模块和XDMA IP配合使用XDMA中断模块主要执行两个任务一是获取XDMA的状态输出用户中断使能信号以指示用户此时可以发起中断该任务通过AXI_Lite接口与XDMA连接其从机地址受PC端软件控制二是转发用户中断给XDMA当用户侧检测到XDMA处于可接受中断状态时用户逻辑可以发起中断XDMA中断模块将此中断转发给XDMA IP将模块直接拖入Block Design中显示如下用户中断发起逻辑每当FDMA缓存一帧视频完毕就通知用户中断发起逻辑发起一次用户中断操作中断号几位当前缓存视频帧的帧号用户中断通过中断模块发送给XDMAXDMA收到用户中断后通知QT上位机发起一次XDMA读数据操作该过程同样由中断模块转发XDMA再从DDR3中读取当前一帧视频并通过PCIE总线发送给QT上位机QT上位机接收并显示当前采集的视频核心代码如下Windows版本XDMA驱动安装提供Windows和Linux系统驱动本章节介绍Windows下XDMA驱动安装Windows下驱动安装步骤如下友情提示Windows下驱动秩序安装一次即可第一步使系统禁用签名并进入测试模式方法如下也可百度其他方法实现上述目的完成后电脑屏幕右下角应有如下显示第二步定位到驱动目录下提供Windows7和Windows10两个版本驱动由于我的电脑选择Windows10如下单击鼠标右键安装即可如下第三步下载FPGA工程bit到FPGA开发板然后重启电脑打开我的电脑–管理–设备管理器应看到如下设备Linux版本XDMA驱动安装提供Windows和Linux系统驱动本章节介绍Linux下XDMA驱动安装Linux下驱动安装步骤如下友情提示Linux下每次下载FPGA bit后都需要重启电脑才能安装驱动进入到Linux驱动目录下一次执行以下两条指令即可安装如下• 驱动编译终端指令make -j8•驱动安装终端指令sudo insmod xdma.koQT上位机提供Linux和Win10版本的QT上位机位置如下以Win10版本为例源码位置如下以Win10版本下可以点击已经编译好的QT软件直接运行位置如下Linux下必须先安装QT软件然后打开QT工程才能运行如下QT上位机运行效果如下工程源码架构提供6套工程源码以工程源码1为例工程Block Design设计如下提供6套工程源码以工程源码1为例综合后的工程源码架构如下Vivado工程注意事项Vivado工程需要配合修改过的Xilinx官方XDMA驱动和QT上位机一起使用所以Vivado工程必须做到以下几点1XDMA中的AXI4_Lite基地址必须设为0x44A00000这是XDMA驱动修改的规定感兴趣的可以去看驱动源码配置如下2MIG的DDR基地址必须从0x00000000开始这是QT上位机代码的规定感兴趣的可以去看QT源码配置如下PCIE上板调试注意事项1必须先安装本博提供的XDMA驱动详情请参考第4章节的《XDMA驱动及其安装》Windows版本驱动只需安装一次2Windows版本下载FPGA工程bit后需要重启电脑电脑才能识别到XDMA驱动程序固化后也需要重启电脑Linux版本每次载FPGA工程bit后都需要重启电脑都需要安装XDMA驱动3FPGA板卡插在主机上后一般不需要额外供电如果你的板子元器件较多功耗较大则需要额外供电详情咨询开发板厂家当然找我买板子的客户可以直接问我4PCIE调试需要电脑主机但笔记本电脑理论上也可以外接出来PCIE详情百度自行搜索一下电脑主机PCIE插槽不方便操作时可以使用延长线接出来某宝有卖4、vivado工程源码1详解–Artix7-100T RTL逻辑解码版本开发板FPGA型号Xilinx–Artix7-100T–xc7a100tfgg484-2FPGA开发环境Vivado2019.1QT上位机开发环境VS2015 Qt 5.12.10输入CameraLink相机Base模式分辨率2448x205015Hz输出灰度图输出PCIE2.0 X2分辨率为1920x108060HzCameraLink视频解码方案Xilinx官方ISERDES2原语方案LVDS差分对4对差分数据1对随路差分时钟图像缓存方案纯verilog图像缓存DDR3颗粒4帧缓存PCIE底层方案Xilinx XDMA IP核工程作用让读者掌握FPGA实现CameraLink转PCIE的设计能力以便能够移植和设计自己的项目工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容工程的资源消耗和功耗如下5、vivado工程源码2详解–Artix7-100T DS90CR287芯片解码版本开发板FPGA型号Xilinx–Artix7-100T–xc7a100tfgg484-2FPGA开发环境Vivado2019.1QT上位机开发环境VS2015 Qt 5.12.10输入CameraLink相机Base模式分辨率2448x205015Hz输出灰度图输出PCIE2.0 X2分辨率为1920x108060HzCameraLink视频解码方案DS90CR287芯片解码方案图像缓存方案纯verilog图像缓存DDR3颗粒4帧缓存PCIE底层方案Xilinx XDMA IP核工程作用让读者掌握FPGA实现CameraLink转PCIE的设计能力以便能够移植和设计自己的项目工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容工程的资源消耗和功耗如下6、vivado工程源码3详解–Kintex7-325TRTL逻辑解码版本开发板FPGA型号Xilinx–Kintex7–325T–xc7k325tffg676-2FPGA开发环境Vivado2019.1QT上位机开发环境VS2015 Qt 5.12.10输入CameraLink相机Base模式分辨率2448x205015Hz输出灰度图输出PCIE2.0 X4分辨率为1920x108060HzCameraLink视频解码方案Xilinx官方ISERDES2原语方案LVDS差分对4对差分数据1对随路差分时钟图像缓存方案纯verilog图像缓存DDR3颗粒4帧缓存PCIE底层方案Xilinx XDMA IP核工程作用让读者掌握FPGA实现CameraLink转PCIE的设计能力以便能够移植和设计自己的项目工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容工程的资源消耗和功耗如下7、vivado工程源码4详解–Kintex7-325T DS90CR287芯片解码版本开发板FPGA型号Xilinx–Kintex7–325T–xc7k325tffg676-2FPGA开发环境Vivado2019.1QT上位机开发环境VS2015 Qt 5.12.10输入CameraLink相机Base模式分辨率2448x205015Hz输出灰度图输出PCIE2.0 X4分辨率为1920x108060HzCameraLink视频解码方案DS90CR287芯片解码方案图像缓存方案纯verilog图像缓存DDR3颗粒4帧缓存PCIE底层方案Xilinx XDMA IP核工程作用让读者掌握FPGA实现CameraLink转PCIE的设计能力以便能够移植和设计自己的项目工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容工程的资源消耗和功耗如下8、vivado工程源码5详解–Zynq7100RTL逻辑解码版本开发板FPGA型号Xilinx–Zynq7100–xc7z100ffg900-2FPGA开发环境Vivado2019.1QT上位机开发环境VS2015 Qt 5.12.10输入CameraLink相机Base模式分辨率2448x205015Hz输出灰度图输出PCIE2.0 X8分辨率为1920x108060HzCameraLink视频解码方案Xilinx官方ISERDES2原语方案LVDS差分对4对差分数据1对随路差分时钟图像缓存方案纯verilog图像缓存DDR3颗粒4帧缓存PCIE底层方案Xilinx XDMA IP核工程作用让读者掌握FPGA实现CameraLink转PCIE的设计能力以便能够移植和设计自己的项目工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容工程的资源消耗和功耗如下9、vivado工程源码6详解–Zynq7100DS90CR287芯片解码版本开发板FPGA型号Xilinx–Zynq7100–xc7z100ffg900-2FPGA开发环境Vivado2019.1QT上位机开发环境VS2015 Qt 5.12.10输入CameraLink相机Base模式分辨率2448x205015Hz输出灰度图输出PCIE2.0 X8分辨率为1920x108060HzCameraLink视频解码方案DS90CR287芯片解码方案图像缓存方案纯verilog图像缓存DDR3颗粒4帧缓存PCIE底层方案Xilinx XDMA IP核工程作用让读者掌握FPGA实现CameraLink转PCIE的设计能力以便能够移植和设计自己的项目工程Block Design和工程代码架构请参考第3章节的《工程源码架构》小节内容工程的资源消耗和功耗如下10、工程移植说明vivado版本不一致处理1如果你的vivado版本与本工程vivado版本一致则直接打开工程2如果你的vivado版本低于本工程vivado版本则需要打开工程后点击文件–另存为但此方法并不保险最保险的方法是将你的vivado版本升级到本工程vivado的版本或者更高版本3如果你的vivado版本高于本工程vivado版本解决如下打开工程后会发现IP都被锁住了如下此时需要升级IP操作如下FPGA型号不一致处理如果你的FPGA型号与我的不一致则需要更改FPGA型号操作如下更改FPGA型号后还需要升级IP升级IP的方法前面已经讲述了其他注意事项1由于每个板子的DDR不一定完全一样所以MIG IP需要根据你自己的原理图进行配置甚至可以直接删掉我这里原工程的MIG并重新添加IP重新配置2根据你自己的原理图修改引脚约束在xdc文件中修改即可3纯FPGA移植到Zynq需要在工程中添加zynq软核11、上板调试验证需要准备的器材如下CameraLink相机可以找本博主提供FPGA开发板没有开发板可以找本博提供台式电脑主机我的开发板了连接如下CameraLink转PCIE效果演示CameraLink转PCIE上位机采集效果演示如下12、工程代码的获取代码太大无法邮箱发送以某度网盘链接方式发送资料获取方式文章末尾的V名片。网盘资料如下此外有很多朋友给本博主提了很多意见和建议希望能丰富服务内容和选项因为不同朋友的需求不一样所以本博主还提供以下服务
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →