论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
云原生
›
FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出,基于XDM ...
FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出,基于XDMA+GTH架构,提供工 ...
老婆出轨
金牌会员
|
6 天前
|
显示全部楼层
|
阅读模式
楼主
主题
772
|
帖子
772
|
积分
2316
FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出,基于XDMA+GTH架构,提供工程源码和技能支持
1、前言
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通信;本架构既有简单的测速实验,也有视频采集应用;
FPGA实现万兆UDP网络通信现状;
Xilinx系列FPGA实现UDP网络通信如今仅有一种方案,即使用Xilinx官方的IP核实现物理层功能,好比常见的10G Ethernet Subsystem、10G Ethernet PCS/PMA、10G/25G Ethernet Subsystem等,UDP协议栈部门很简单,可使用verilog代码直接实现;本设计使用10G/25G Ethernet Subsystem方案实现万兆以太网物理层功能;
工程概述
本设计使用Xilinx系列FPGA为平台,实现电脑端视频通过PCIE到FPGA端转万兆UDP网络视频输出;输入源为电脑端实时视频,也就是电脑桌面的实时图像,分辨率为1280x720@60Hz;打开QT上位机,QT上位机会实时采集电脑端视频,通过PCIE总线发送到FPGA板卡;FPGA内部的XDMA IP核吸收到电脑端发来的视频后,将视频写入板载DDR4中缓存;同时使用本博主常用的FDMA图像缓存架构将视频从板载DDR4中读出;然后视频送入UDP视频组包发送模块,将视频加上包头和其他控制信息;然后组包的视频送入UDP协议栈举行以太网帧组帧;UDP协议栈输出的MAC数据经过FIFO组举行数据缓冲;MAC数据再送入Xilinx官方的10G/25G Ethernet Subsystem IP核实现万兆以太网物理层;再经过板载的SFP+光口用光纤传输到电脑端;电脑端使用万兆网卡吸收数据,并在QT上位机吸收UDP网络视频并体现出来;本博客提供1套工程源码,具体如下:
工程源码1
开辟板FPGA型号为Xilinx–>Kintex UltraScale–xcku060-ffva1156-2-i;输入源为电脑端实时视频,也就是电脑桌面的实时图像,分辨率为1280x720@60Hz;打开QT上位机,QT上位机会实时采集电脑端视频,通过PCIE总线发送到FPGA板卡;FPGA内部的XDMA IP核吸收到电脑端发来的视频后,将视频写入板载DDR4中缓存;同时使用本博主常用的FDMA图像缓存架构将视频从板载DDR4中读出;然后视频送入UDP视频组包发送模块,将视频加上包头和其他控制信息;然后组包的视频送入UDP协议栈举行以太网帧组帧;UDP协议栈输出的MAC数据经过FIFO组举行数据缓冲;MAC数据再送入Xilinx官方的10G/25G Ethernet Subsystem IP核实现万兆以太网物理层;再经过板载的SFP+光口用光纤传输到电脑端;电脑端使用万兆网卡吸收数据,并在QT上位机吸收UDP网络视频并体现出来;板载的PCIE为8 Lane的PCIE3.0;单Lane线速率配置为8GT/s;板载SFP+光口;由此形成QT上位机+PCIE3.0+XDMA+SFP+万兆UDP的高端架构;该工程实用于PCIE接口的视频采集卡大概网卡应用;
本文具体形貌了FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出的设计方案,工程代码可综合编译上板调试,可直接项目移植,实用于在校学生、研究生项目开辟,也实用于在职工程师做项目开辟,可应用于医疗、军工等行业的高速接口领域;
提供完整的、跑通的工程源码和技能支持;
工程源码和技能支持的获取方式放在了文章末尾,请耐烦看到最后;
免责声明
本工程及其源码即有本身写的一部门,也有网络公开渠道获取的一部门(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所得罪,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身缘故原由用于商业用途所导致的法律题目,与本博客及博主无关,请谨慎使用。。。
2、相关方案保举
我已有的全部工程源码总目次----方便你快速找到本身喜欢的项目
实在不停有朋友反馈,说我的博客文章太多了,乱花渐欲迷人,本身看得一头雾水,不方便快速定位找到本身想要的项目,以是本博文置顶,列出我如今已有的全部项目,并给出总目次,每个项目标文章链接,当然,本博文实时更新。。。以下是博客地址:
点击直接前往
我已有的PCIE方案
我的主页有PCIE通信专栏,该专栏基于XDMA的轮询模式实现与QT上位机的数据交互,既有基于RIFFA实现的PCIE方案,也有基于XDMA实现的PCIE方案;既有简单的数据交互、测速,也有应用级别的图像采集传输,以下是专栏地址:
点击直接前往
别的,我的主页有中断模式的PCIE通信专栏,该专栏基于XDMA的中断模式实现与QT上位机的数据交互,以下是专栏地址:
点击直接前往
别的,还有基于RIFFA架构的PCIE通信专栏,以下是专栏地址:
点击直接前往
10G/25G Ethernet Subsystem实现万兆以太网物理层方案
Xilinx官方的10G/25G Ethernet Subsystem IP核可实现万兆以太网物理层方案,该方案使用FPGA内部高速接口资源即可实现,关于这个方案,请参考我之前的博客,博客链接如下:
10G/25G Ethernet Subsystem物理层+万兆UDP协议栈方案,博客链接如下:
直接点击前往
10G/25G Ethernet Subsystem物理层+万兆TCP/IP协议栈方案,博客链接如下:
直接点击前往
本博客方案的PCIE2.0版本
本博客具体形貌了FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出的设计方案,但并不是全部FPGA都支持PCIE3.0,对于低端FPGA而言,PCIE2.0大概具有更多应用场景,恰好之前写过一篇PCIE2.0方案,设计基本与本片博客一样,只是XDMA配置的PCIE版本不一样,感兴趣的可以查看之前的博客,博客链接如下:
点击直接前往
3、PCIE基础知识扫描
PCIe 总线架构与以太网的 OSI 模型类似,是一种分层协议架构,分为事务层(Transaction Layer)、数据链路层(Data Link Layer) 和物理层(Physical Layer)。这些层中的每一层都分为两部门:一部门处置处罚出站(要发送的)信息,另一部门处置处罚入站(吸收的)信息,如下图:
事务层
事务层的主要责任是事务层包 TLP(Transaction Layer Packet)的组装和拆卸。事务层吸收来自 PCIe 设备核心层的数据,并将其封装为 TLP。TLP 用于转达事务,比方读取和写入,以及确定变乱的类型。事务层还负责管理 TLP 的基于名誉的流控制。每个需要响应数据包的请求数据包都作为拆分事务实现。每个数据包都有一个唯一标识符,该标识符使响应数据包可以定向到正确的始发者。数据包格式支持差异情势的寻址,具体取决于事务的类型(内存、I/O、配置和消息)。数据包可能还具有诸如 No Snoop、Relaxed Ordering 和基于 ID 的排序(IDO)之类的属性。事务层支持四个地址空间:包括三个 PCI 地址空间(内存、I/O 和配置)并添加消息空间。该规范使用消息空间来支持全部先前 PCI 的边带信号,比方中断、电源管理请求等,作为带内消息事务。
数据链路层
数据链路层充当事务层和物理层之间的中央阶段。数据链路层的主要职责包括链路管理和数据完整性,包括错误检测和错误改正。数据链路层的发送方接受事务层组装的 TLP,盘算并应用数据保护代码和 TLP序列号,以及将它们提交给物理层以在链路上传输。吸收数据链路层负责查抄吸收到的 TLP 的完整性,并将它们提交给事务层以举行进一步处置处罚。在检测到 TLP 错误时,此层负责请求重发 TLP,直到正确吸收信息或确定链路失败为止。数据链路层还天生并使用用于链路管理功能的数据包。为了将这些数据包与事务层(TLP)使用的数据包区分开,当指代在数据链路层天生和使用的数据包时,将使用术语“数据链路层数据包(DLLP)”。
物理层
PCIe 总线的物理层为 PCIe 设备间的数据通信提供传送介质,为数据传送提供可靠的物理情况。物理层包括用于接口操作的全部电路,包括驱动器和输入缓冲器、并行至串行和串行至并行转换、PLL 和阻抗匹配电路。它还包括与接口初始化和维护有关的逻辑功能。物理层以实现特定的格式与数据链路层交换信息。该层负责将从数据链路层吸收的信息转换为得当的序列化格式,并以与连接到链路另一端的设备兼容的频率和通道宽度在 PCI Express 链路上传输该信息。物理层是 PCIe 体系结构最重要,也是最难以实现的构成部门(该层对用户透明,开辟 PCIe 步伐时无需关心)。PCIe 总线的物理层界说了 LTSSM (Link Training and Status State Machine)状态机,PCIe 链路使用该状态机管理链路状态,并举行链路训练、链路规复和电源管理。PCIe 总线使用端到端的连接方式,在一条PCIe 链路的两端只能各连接一个设备,这两个设备互为数据发送端和数据吸收端。由于 PCIe 是支持全双工通信的,以是发送端和吸收端中都含有TX (发送逻辑) 和RX (吸收逻辑)。在PCIe 总线的物理链路的一个数据通路(Lane) 中,有两组差分信号,共4 根信号线构成。其中发送端的TX 与吸收端的RX 使用一组差分信号连接,该链路也被称为发送端的发送链路,也是吸收端的吸收链路;而发送端的RX 与吸收端的TX 使用另一组差分信号连接,该链路也被称为发送端的吸收链路,也是吸收端的发送链路。一个PCIe 链路可以由多个Lane 构成。如今PCIe 链路可以支持1、2、4、8、12、16 和32 个Lane,即×1、×2、×4、×8、×12、×16 和×32 宽度的PCIe 链路。每一个Lane 上使用的总线频率与PCIe 总线使用的版本相关。
4、工程具体设计方案
工程设计原理框图
工程设计原理框图如下:
电脑端视频
输入源为电脑端实时视频,也就是电脑桌面的实时图像,分辨率为1280x720@60Hz;电脑端的分辨率需要设置为1280x720@60Hz,如下:
PCIE视频采集QT上位机
仅提供Win10版本的QT上位机,位置如下:
以Win10版本为例,源码位置如下:
以Win10版本下,可以点击已经编译好的QT软件直接运行,位置如下:
QT上位机运行效果如下:
XDMA配置及使用
根据Xilinx官方手册,XDMA框图如下:
由图可知,XDMA封装了Integrated Block for PCI Express IP,不仅完成了事务层的组包解包,还添加了完整的 DMA 引擎;
XDMA 一样平常情况下使用AXI4 接口,AXI4 接口可以加入到系统总线互联,实用于大数据量异步传输,而且通常情况下使用 XDMA 都会使用到 BRAM 或 DDR 内存;AXI4-Stream 接口实用于低延迟数据流传输。XDMA 允许在主机内存和 DMA 子系统之间移动数据。它通过对包含有关要传输的数据的源、目标和数量的信息的“形貌符”举行操作来实现此目标。这些直接内存传输既可以用于主机到卡(Host to Card,H2C)的传输,也可以用与卡到主机(Card to Host,C2H)的传输。可以将 DMA 配置为由全部通道共享一个 AXI4 Master 接口,大概为每个启用的通道提供一个 AXI4-Stream 接口。内存传输是基于每个通道的形貌符链接列表指定的,DMA 从主机内存和进程中获取这些链接列表。诸如形貌符完成和错误之类的变乱通过中断来发出信号。XDMA 还提供多达 16 条用户中断线,这些中断线会向主机天生中断。本设计需要配置为中断模式;如下图:
本设计XDMA线速率配置为8GT/s,这是PCIE3.0尺度,如下:
XDMA详情参考《AXI Bridge for PCI Express Gen3 Subsystem Product Guide(PG194)》;XDMA在Block Design中如下:
XDMA中断模块
XDMA中断模块和XDMA IP共同使用,XDMA中断模块主要执行两个使命,一是获取XDMA的状态,输出用户中断使能信号,以指示用户此时可以发起中断,该使命通过AXI_Lite接口与XDMA连接,其从机地址受PC端软件控制;二是转发用户中断给XDMA,当用户侧检测到XDMA处于可接受中断状态时,用户逻辑可以发起中断,XDMA中断模块将此中断转发给XDMA IP;将模块直接拖入Block Design中,体现如下:
FDMA图像缓存
FDMA图像缓存架构实现的功能是将输入视频缓存到板载DDR3中,由于调用了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中如下:
UDP视频组包发送
UDP视频组包发送实现视频数据的组包并通过UDP协议栈发送出去,视频数据发送必须与QT上位机的接受步伐同等,上位机界说的UDP帧格式包括帧头个UDP数据,QT上位机吸收代码数据帧头界说如下:
FPGA端的UDP数据组包代码必须与上图的数据帧格式对应,否则QT无法解析,代码中界说了数据组包状态机以及数据帧,如下:
别的,由于UDP发送是64位数据位宽,而图像像素数据是24bit位宽,以是必须将UDP数据重新组合,以保证像素数据的对齐,这部门是整个工程的难点,也是全部FPGA做UDP数据传输的难点;UDP视频组包发送代码架构如下:
UDP协议栈
本UDP协议栈使用UDP协议栈网表文件,该协议栈如今并不开源,只提供网表文件,虽看不见源码但可正常实现UDP通信,但不影响使用,该协议栈带有用户接口,使得用户无需关心复杂的UDP协议而只需关心简单的用户接口时序即可操作UDP收发,非常简单;协议栈架构如下:
协议栈性能体现如下:
1:支持 UDP 吸收校验和检验功能,暂不支持 UDP 发送校验和天生;
2:支持 IP 首部校验和的天生和校验,同时支持 ICMP 协议中的 PING 功能,可吸收并响应同一个子网内部设备的 PING 请求;
3:可主动发起或响应同一个子网内设备的 ARP 请求,ARP 收发完全自适应。ARP 表可保存同一个子网内部256 个 IP 和 MAC 地址对;
4:支持 ARP 超时机制,可检测所需发送数据包的目标 IP 地址是否可达;
5:协议栈发送带宽利用率可达 93%,高发送带宽下,内部仲裁机制保证 PING 和 ARP 功能不受任何影响;
6:发送过程不会造成丢包;
7:提供64bit位宽AXI4-Stream情势的MAC接口,可与Xilinx官方的千兆以太网IP核Tri Mode Ethernet MAC,以及万兆以太网 IP 核 10 Gigabit Ethernet Subsystem、10 Gigabit Ethernet MAC 共同使用;
有了此协议栈,我们无需关心复杂的UDP协议的实现了,直接调用接口即可使用。。。
本UDP协议栈用户接口发送时序如下:
本UDP协议栈用户接口吸收时序如下:
MAC数据缓冲FIFO
这里对代码中用到的数据缓冲FIFO组做如下解释:
10G/25G Ethernet Subsystem与UDP协议栈之间的MAC数据需要通过 AXI4-Stream FIFO做缓冲,如果你对延时要求较高,可删除缓冲FIFO,以工程1为例,MAC数据缓冲FIFO代码层面如下:
10G/25G Ethernet Subsystem 详解
本设计的10G/25G Ethernet Subsystem部门主要为IP调用、IP复位配置等,代码层面如下:
10G/25G Ethernet Subsystem是Xilinx推出的具有10G速率的MAC,用户接口为AXI4-Stream,使用Xilinx GT高速接口作为物理层,官方数据手册为《PG210》,本博对10G Ethernet Subsystem的解析主要是对《PG210》的翻译和总结,具体细节读者还需自行阅读官方英文原版手册;
10G/25G Ethernet Subsystem框架如下:
可以看到,10G/25G Ethernet Subsystem与我们之前使用的10G Ethernet Subsystem相机简单很多,但功能都是一样的,用户需要关心的只有两个,一个是无外部连接的SFP光口,另一个是与FPGA用户逻辑连接的用户接口;外部接口为SERDES,本应用为SFP光口,FPGA用户逻辑接口为AXI4-Stream;
10G/25G Ethernet Subsystem 使用
10G/25G Ethernet Subsystem通过调用IP方式使用,这里只对重点配置讲解,如下:
当AXI4-Stream数据位宽选择64 bit时,要求GT连接的外部晶振必须是156.25M;这点很重要,因为它对硬件有定性要求,可以选择SIL系列可编程的差分晶振,否则硬件设计兼容性很差;
10G/25G Ethernet Subsystem 配置
10G/25G Ethernet Subsystem通过调用IP方式使用,通过灵活接口对IP和内部的MAC层和物理层举行配置,相比于之前使用的0G Ethernet Subsystem需要AXI-Lite配置而言,10G/25G Ethernet Subsystem使用更为简单,不再需要配置逻辑,仅需举行同步复位即可;以工程4为例,代码层面如下:
10G/25G Ethernet Subsystem 的多核使用
一个10G/25G Ethernet Subsystem最多可挂载4个GT高速接口,且4个GT高速接口共用一对差分时钟,也就是10G/25G Ethernet Subsystem 的多核使用;相比于之前使用的0G Ethernet Subsystem需要级联和主从搭配,10G/25G Ethernet Subsystem将这些功能举行了集成和优化,使得用户不再需要去举行复杂的连线和例化;以工程4为例,一个10G/25G Ethernet Subsystem挂载了4个GT高速接口,配置如下:
IP地址、端口号的修改
UDP协议栈留出了IP地址、端口号的修改端供词用户自由修改,位置在顶层模块如下:
测试用10G 网卡
测试用10G 网卡要求如下:
必须支持10G速率;
必须是SFP光口;
必须安装好网卡驱动,驱动找卖家要;
我的网卡驱动安装后如下:
SFP光口
FPGA开辟板需要至少拥有1路SFP光口,且至少支持10G速率,别的还需要SFP光模块和光纤,用于连接10网卡,我的FPGA开辟板与10G 网卡连接如下:
UDP视频吸收体现QT上位机
仅提供Win10版本的QT上位机,位置如下:
以Win10版本为例,源码位置如下:
以Win10版本下,可以点击已经编译好的QT软件直接运行,位置如下:
QT上位机运行效果如下:
我们的QT如今仅支持1280x720分辨率的视频抓图体现,但同时预留了1080P接口,对QT开辟感兴趣的朋友可以实验修改代码以适应1080P,因为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.ko
工程源码架构
工程Block Design设计如下:
综合后的工程源码架构如下:
Vivado工程注意事项
Vivado工程需要共同修改过的Xilinx官方XDMA驱动和QT上位机一起使用,以是Vivado工程必须做到以下几点:
1:XDMA中的AXI4_Lite基地址必须设为0x44A00000,这是XDMA驱动修改的规定,感兴趣的可以去看驱动源码,配置如下;
2:MIG的DDR基地址必须从0x00000000开始,这是QT上位机代码的规定,感兴趣的可以去看QT源码,配置如下;
PCIE上板调试注意事项
1:必须先安装本博提供的XDMA驱动,详情请参考第4章节的《XDMA驱动及其安装》,Windows版本驱动只需安装一次;
2:Windows版本下载FPGA工程bit后需要重启电脑,电脑才能辨认到XDMA驱动;步伐固化后也需要重启电脑;Linux版本每次载FPGA工程bit后都需要重启电脑,都需要安装XDMA驱动;
3:FPGA板卡插在主机上后一样平常不需要额外供电,如果你的板子元器件较多功耗较大,则需要额外供电,详情咨询开辟板厂家,当然,找我买板子的客户可以直接问我;
4:PCIE调试需要电脑主机,但笔记本电脑理论上也可以外接出来PCIE,详情百度自行搜索一下,电脑主机PCIE插槽不方便操作时可以使用延伸线接出来,某宝有卖;
5、vivado工程源码1详解–>KU060版本
开辟板FPGA型号:Xilinx–>Kintex UltraScale–xcku060-ffva1156-2-i;
FPGA开辟情况:Vivado2019.1;
QT开辟情况:VS2015 + Qt 5.12.10;
输入:电脑主机实时视频,分辨率1280x720@60Hz;
输出:万兆UDP网络视频,分辨率1280x720@60Hz;
PC端到FDMA传输方案:PCIE3.0传输;
图像缓存方案:FDMA图像缓存+DDR4颗粒;
PCIE底层方案:Xilinx XDMA,8GT/s单lane线速率;
PCIE详情:PCIE3.0版本,X8,8GT/s单lane线速率;
万兆以太网物理层:Xilinx官方10G/25G Ethernet Subsystem方案
万兆以太网协议层:10G万兆UDP协议栈;
实现功能:FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出;
工程作用:此工程目标是让读者掌握FPGA实现PCIE3.0视频采集转10G万兆UDP网络输出的设计能力,以便可以大概移植和设计本身的项目;
工程Block Design和工程代码架构请参考第4章节的《工程源码架构》末节内容;
工程的资源斲丧和功耗如下:
6、工程移植阐明
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软核;
7、上板调试验证
准备工作
需要准备的东西如下:
FPGA开辟板,没有开辟板可以找本博提供;
带PCIE卡槽的电脑主机;
网线;
我的开辟板了连接如下:
电脑端IP地址配置
电脑端IP地址需要修改为和代码里的目标地址一样,如下:
QT上位机配置
打开QT上位机配置如下,然后可以采集体现视频;
电脑端视频通过PCIE到FPGA端转UDP网络视频输出效果演示
电脑端视频通过PCIE到FPGA端转UDP网络视频输出效果如下:
XDMA-UDP
8、福利:工程代码的获取
福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,大概文章末尾的V手刺。
网盘资料如下:
别的,有很多朋友给本博主提了很多意见和发起,盼望能丰富服务内容和选项,因为差异朋友的需求不一样,以是本博主还提供以下服务:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
老婆出轨
金牌会员
这个人很懒什么都没写!
楼主热帖
1000套安卓(Android)毕业设计(带论 ...
在工作中离屏真的不重要吗,代码优化就 ...
【Linux学习】网络基础 和 SOCKET套接 ...
Git + Jenkins 自动化 NGINX 发布简易 ...
设计模式必知必会系列终章
SRC基础抓包
python采集世界大学排名并作数据可视化 ...
探索GreatADM:如何快速定义监控 ...
牛客SQL刷题第三趴——SQL大厂面试真题 ...
元类(一)
标签云
挺好的
服务器
快速回复
返回顶部
返回列表