Xilinx系列FPGA视频采集转HDMI2.0输出,基于HDMI 1.4/2.0 Transmitter Subsystem方案,提供6套工程源码和技术支持

目录

  • 1、前言
    • 工程概述
    • 免责声明
  • 2、相关方案推荐
    • 我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目
    • 我已有的 GT 高速接口解决方案
    • 我已有的FPGA图像处理方案
  • 3、详细设计方案
    • 设计框图
    • 硬件设计架构
    • FPGA开发板
    • 输入Sensor之-->OV5640摄像头+动态彩条
    • Video In To AXI4-Stream
    • VDMA 图像缓存
    • HDMI 1.4/2.0 Transmitter Subsystem
    • Video PHY Controller
    • vivado逻辑工程源码架构
    • vitis软件工程源码架构
  • 4、工程源码1详解-->Kintex7-325T版本
  • 5、工程源码2详解-->KU040版本
  • 6、工程源码3详解-->KU3P版本
  • 7、工程源码4详解-->ZU4EV版本
  • 8、工程源码5详解-->ZU7EV版本
  • 9、工程源码6详解-->ZU15EG版本
  • 10、工程移植说明
    • vivado版本不一致处理
    • FPGA型号不一致处理
    • 其他注意事项
  • 11、上板调试验证并演示
    • 准备工作
    • 视频采集转HDMI2.0输出演示
  • 12、福利:工程源码获取

Xilinx系列FPGA视频采集转HDMI2.0输出,基于HDMI 1.4/2.0 Transmitter Subsystem方案,提供6套工程源码和技术支持

1、前言

Xilinx系列FPGA实现4K视频收发现状:
目前Xilinx系列FPGA实现提供了多种4K视频收发方案;对于纯FPGA而言,需要用到GT高速接口资源实现编解码,但要求K7及其以上系列FPGA,以HDMI2.0为例,Xilinx官方提供了基于Video PHY Controller为核心的一整套HDMI2.0收发方案,此外,还可以直接使用GT高速接口IP核配置为GT-HDMI编解码模式,或者配置为DP编解码模式;对于Zynq系列FPGA而言,既可以使用PL端的GT高速接资源做4K视频收发,也可以使用PS端的DP外设做4K视频收发;本博主擅长Xilinx系列FPGA实现HDMI2.0视频收发方案设计,本设计采用基于Video PHY Controller为核心的一整套HDMI2.0收发方案,最高支持3840x2160@60Hz;

工程概述

本设计基于Xilinx系列FPGA的GT高速接口实现HDMI2.0工程解决方案,最高支持4K@60Hz分辨率;视频输入源为OV5640摄像头,如果你的FPGA开发板没有视频输入接口,或者你的手里没有摄像头时,可以使用FPGA逻辑实现的动态彩条模拟输入视频,代码里通过parametr参数选择视频源,默认使用OV5640摄像头;FPGA首先对摄像头进行i2c初始化配置,然后采集摄像头视频;然后送入Xilinx官方的Video In To AXI4-Stream IP核实现Native视频转 AXI4-Stream视频流;然后送入Xilinx官方的VDMA IP核实现视频三帧缓存;视频从VDMA读出后送入Xilinx官方的AXI4-Stream Data FIFO IP核实现视频缓冲;然后送入Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核实现HDMI2.0视频编码;然后送入Xilinx官方的Video PHY Controller IP核实现并串转换,并输出高速差分的HDMI2.0视频;HDMI2.0视频再送入板载的DP159或其他同等功能的驱动芯片,以增强高速信号的输出驱动能力;最后使用HDMI2.0线缆连接至显示器即可输出显示采集的视频;

上述IP和IC需要SDK或者vitis配置,所以需要调用MicroBlaze或者Zynq软核;针对目前市面上主流的项目需求,本博客共设计了6套工程源码,详情如下:
在这里插入图片描述
现对上述6套工程源码做如下解释,方便读者理解:

工程源码1

开发板FPGA型号为Xilinx–>Kintex7-xc7k325t‐2ffg676;视频输入源为OV5640摄像头,如果你的FPGA开发板没有视频输入接口,或者你的手里没有摄像头时,可以使用FPGA逻辑实现的动态彩条模拟输入视频,代码里通过parametr参数选择视频源,默认使用OV5640摄像头;FPGA首先对摄像头进行i2c初始化配置,输出分辨率配置为1280x720@30Hz,然后采集摄像头视频;然后送入Xilinx官方的Video In To AXI4-Stream IP核实现Native视频转 AXI4-Stream视频流;然后送入Xilinx官方的VDMA IP核实现视频三帧缓存;视频从VDMA读出后送入Xilinx官方的AXI4-Stream Data FIFO IP核实现视频缓冲;然后送入Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核实现HDMI2.0视频编码;然后送入Xilinx官方的Video PHY Controller IP核实现并串转换,并输出高速差分的HDMI2.0视频,输出分辨率配置为1280x720@60Hz;HDMI2.0视频再送入板载的DP159或其他同等功能的驱动芯片,以增强高速信号的输出驱动能力;最后使用HDMI2.0线缆连接至显示器即可输出显示采集的视频;本设计使用GTX高速接口,适用于Xilinx-Kintex7系列FPGA实现HDMI2.0视频收发应用;

工程源码2

开发板FPGA型号为Xilinx–>Kintex7-UltraScale-xcku040-ffva1156-2-i;视频输入源为FPGA内部生成的动态彩条视频,因为我这里的板子没有摄像头摄入接口,彩条视频输出分辨率配置为1280x720@60Hz,然后采集摄像头视频;然后送入Xilinx官方的Video In To AXI4-Stream IP核实现Native视频转 AXI4-Stream视频流;然后送入Xilinx官方的VDMA IP核实现视频三帧缓存;视频从VDMA读出后送入Xilinx官方的AXI4-Stream Data FIFO IP核实现视频缓冲;然后送入Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核实现HDMI2.0视频编码;然后送入Xilinx官方的Video PHY Controller IP核实现并串转换,并输出高速差分的HDMI2.0视频,输出分辨率配置为1280x720@60Hz;HDMI2.0视频再送入板载的DP159或其他同等功能的驱动芯片,以增强高速信号的输出驱动能力;最后使用HDMI2.0线缆连接至显示器即可输出显示采集的视频;本设计使用UltraScale-GTH高速接口,适用于Xilinx-Kintex7-UltraScale系列FPGA实现HDMI2.0视频收发应用;

工程源码3

开发板FPGA型号为Xilinx–>Kintex7-UltraScale+ xcku3p-ffva676-2-i;视频输入源为OV5640摄像头,如果你的FPGA开发板没有视频输入接口,或者你的手里没有摄像头时,可以使用FPGA逻辑实现的动态彩条模拟输入视频,代码里通过parametr参数选择视频源,默认使用OV5640摄像头;FPGA首先对摄像头进行i2c初始化配置,输出分辨率配置为1280x720@30Hz,然后采集摄像头视频;然后送入Xilinx官方的Video In To AXI4-Stream IP核实现Native视频转 AXI4-Stream视频流;然后送入Xilinx官方的VDMA IP核实现视频三帧缓存;视频从VDMA读出后送入Xilinx官方的AXI4-Stream Data FIFO IP核实现视频缓冲;然后送入Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核实现HDMI2.0视频编码;然后送入Xilinx官方的Video PHY Controller IP核实现并串转换,并输出高速差分的HDMI2.0视频,输出分辨率配置为1280x720@60Hz;HDMI2.0视频再送入板载的DP159或其他同等功能的驱动芯片,以增强高速信号的输出驱动能力;最后使用HDMI2.0线缆连接至显示器即可输出显示采集的视频;本设计使用UltraScale-GTY高速接口,适用于Xilinx-Kintex7-UltraScale+系列FPGA实现HDMI2.0视频收发应用;

工程源码4

开发板FPGA型号为Xilinx-Zynq UltraScale+ xczu4ev-sfvc784-2-i;视频输入源为OV5640摄像头,如果你的FPGA开发板没有视频输入接口,或者你的手里没有摄像头时,可以使用FPGA逻辑实现的动态彩条模拟输入视频,代码里通过parametr参数选择视频源,默认使用OV5640摄像头;FPGA首先对摄像头进行i2c初始化配置,输出分辨率配置为1280x720@30Hz,然后采集摄像头视频;然后送入Xilinx官方的Video In To AXI4-Stream IP核实现Native视频转 AXI4-Stream视频流;然后送入Xilinx官方的VDMA IP核实现视频三帧缓存;视频从VDMA读出后送入Xilinx官方的AXI4-Stream Data FIFO IP核实现视频缓冲;然后送入Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核实现HDMI2.0视频编码;然后送入Xilinx官方的Video PHY Controller IP核实现并串转换,并输出高速差分的HDMI2.0视频,输出分辨率配置为1280x720@60Hz;HDMI2.0视频再送入板载的DP159或其他同等功能的驱动芯片,以增强高速信号的输出驱动能力;最后使用HDMI2.0线缆连接至显示器即可输出显示采集的视频;本设计使用UltraScale-GTH高速接口,适用于Xilinx-Zynq UltraScale+ MPSoC系列FPGA实现HDMI2.0视频收发应用;

工程源码5

开发板FPGA型号为Xilinx-Zynq UltraScale+ xczu7ev-2ffvc156;视频输入源为FPGA内部生成的动态彩条视频,因为我这里的板子没有摄像头摄入接口,彩条视频输出分辨率配置为1280x720@60Hz,然后采集摄像头视频;然后送入Xilinx官方的Video In To AXI4-Stream IP核实现Native视频转 AXI4-Stream视频流;然后送入Xilinx官方的VDMA IP核实现视频三帧缓存;视频从VDMA读出后送入Xilinx官方的AXI4-Stream Data FIFO IP核实现视频缓冲;然后送入Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核实现HDMI2.0视频编码;然后送入Xilinx官方的Video PHY Controller IP核实现并串转换,并输出高速差分的HDMI2.0视频,输出分辨率配置为1280x720@60Hz;HDMI2.0视频再送入板载的DP159或其他同等功能的驱动芯片,以增强高速信号的输出驱动能力;最后使用HDMI2.0线缆连接至显示器即可输出显示采集的视频;本设计使用UltraScale-GTH高速接口,适用于Xilinx-Zynq UltraScale+ MPSoC系列FPGA实现HDMI2.0视频收发应用;

工程源码6

开发板FPGA型号为Xilinx–>Xilinx-Zynq UltraScale+ xczu15eg-ffvb1156-2-i;视频输入源为OV5640摄像头,如果你的FPGA开发板没有视频输入接口,或者你的手里没有摄像头时,可以使用FPGA逻辑实现的动态彩条模拟输入视频,代码里通过parametr参数选择视频源,默认使用OV5640摄像头;FPGA首先对摄像头进行i2c初始化配置,输出分辨率配置为1280x720@30Hz,然后采集摄像头视频;然后送入Xilinx官方的Video In To AXI4-Stream IP核实现Native视频转 AXI4-Stream视频流;然后送入Xilinx官方的VDMA IP核实现视频三帧缓存;视频从VDMA读出后送入Xilinx官方的AXI4-Stream Data FIFO IP核实现视频缓冲;然后送入Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核实现HDMI2.0视频编码;然后送入Xilinx官方的Video PHY Controller IP核实现并串转换,并输出高速差分的HDMI2.0视频,输出分辨率配置为1280x720@60Hz;HDMI2.0视频再送入板载的DP159或其他同等功能的驱动芯片,以增强高速信号的输出驱动能力;最后使用HDMI2.0线缆连接至显示器即可输出显示采集的视频;本设计使用UltraScale-GTH高速接口,适用于Xilinx-Zynq UltraScale+ MPSoC系列FPGA实现HDMI2.0视频收发应用;

本博客详细描述了Xilinx系列FPGA视频采集转HDMI2.0输出的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做学习提升,可应用于医疗、军工等行业的高速接口或图像处理领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网以及其他开源免费获取渠道等等),若大佬们觉得有所冒犯,请私信批评教育;部分模块源码转载自上述网络,版权归原作者所有,如有侵权请联系我们删除;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、相关方案推荐

我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目

其实一直有朋友反馈,说我的博客文章太多了,乱花渐欲迷人,自己看得一头雾水,不方便快速定位找到自己想要的项目,所以本博文置顶,列出我目前已有的所有项目,并给出总目录,每个项目的文章链接,当然,本博文实时更新。。。以下是博客地址:
点击直接前往

我已有的 GT 高速接口解决方案

我的主页有FPGA GT 高速接口专栏,该专栏有 GTP 、 GTX 、 GTH 、 GTY 等GT 资源的视频传输例程和PCIE传输例程,其中 GTP基于A7系列FPGA开发板搭建,GTX基于K7或者ZYNQ系列FPGA开发板搭建,GTH基于KU或者V7系列FPGA开发板搭建,GTY基于KU+系列FPGA开发板搭建;以下是专栏地址:
点击直接前往

我已有的FPGA图像处理方案

我的主页目前有FPGA图像处理专栏,改专栏收录了我目前手里已有的FPGA图像处理方案,包括图像缩放、图像识别、图像拼接、图像融合、图像去雾、图像叠加、图像旋转、图像增强、图像字符叠加等等;以下是专栏地址:
点击直接前往

3、详细设计方案

设计框图

本设计使用的是Xilinx官方推荐的方案,该方案大致如下:
在这里插入图片描述
具体到本设计的工程详细设计方案框图如下:
在这里插入图片描述

硬件设计架构

4K HDMI2.0 硬件设计架构如下:
在这里插入图片描述
本博主提供FPGA HDMI2.0视频收发的参考原理图,为PDF版本,里面包含了详细的电路设计,可节省你的硬件开发时间,如下:
在这里插入图片描述

FPGA开发板

本UP主有下列FPGA开发板均可实现4K@60Hz视频 HDMI2.0的收发,本博客仅仅是介绍了其中Zynq UltraScale+系列的开发板实现方案,需要其他方案的朋友可以在博客末尾联系到本UP,现有开发板方案如下:
1–>Xilinx Kintxe7 FPGA开发板;
2–>Xilinx Kintxe7 UltraScale FPGA开发板;
3–>Xilinx Kintxe7 UltraScale+ FPGA开发板;
4–>Zynq UltraScale+ MPSoC FPGA开发板;
关于本博客使用的这款开发板详细信息,请参考我之前的博客,对这块开发板感兴趣的朋友可以咨询本UP获得;博客链接如下:
点击直接前往

输入Sensor之–>OV5640摄像头+动态彩条

输入Sensor是本工程的输入设备,其一为OV5640摄像头,此外本博主在工程中还设计了动态彩条模块,彩条由FPGA内部逻辑产生,且是动态移动的,完全可模拟Sensor,输入源选择Sensor还是彩条,通过Sensor模块的顶层参数配置,默认选择Sensor输入;Sensor模块如下:
在这里插入图片描述
SENSOR_TYPE=0;则输出OV5640摄像头采集的视频;
SENSOR_TYPE=1;则输出动态彩条的视频;

OV5640摄像头需要i2c初始化配置,本设计配置为1280x720@30Hz分辨率,本设计提供纯verilog代码实现的i2c模块实现配置功能;此外,OV5640摄像头还需要图像采集模块实现两个时钟输出一个RGB565的视频转换为一个时钟输出一个RGB888视频,本设计提供纯verilog代码实现的图像采集模块实现配置功能;动态彩条则由FPGA内部逻辑实现,由纯verilog代码编写;将OV5640摄像头配置采集和动态彩条进行代码封装,形成helai_OVsensor.v的顶层模块,整个模块代码架构如下:
在这里插入图片描述
将模块顶层直接拖入Block Design设计中如下:在这里插入图片描述

Video In To AXI4-Stream

Xilinx官方的Video In To AXI4-Stream IP核实现Native视频转AXI4-Stream视频流,功能十分简单,不需要软件配置,Block Design设计中如下:
在这里插入图片描述

VDMA 图像缓存

采集视频送入Xilinx官方的VDMA IP核实现视频三帧缓存,功能十分简单,VDMA需要Vitis或者SDK软件配置,Block Design设计中如下:
在这里插入图片描述

HDMI 1.4/2.0 Transmitter Subsystem

调用Xilinx官方的HDMI 1.4/2.0 Transmitter Subsystem IP核做4K音视频的编码工作,同时编码4K视频流和音频流并输出3路AXI4-Stream流和DDC控制信号;HDMI 1.4/2.0 Transmitter Subsystem配置如下:
在这里插入图片描述
该IP需要在Vitis SDK中做进一步详细配置,详情参考Vitis SDK C语言软件代码;
值得注意的是,该IP使用的GT高速接口PLL类型要根据TX端输入的参考时钟而定,具体要结合你的原理图设计考虑,并非固定配置,详情可咨询博主;

Video PHY Controller

Video PHY Controller可做HDMI2.0视频的接收和发送的解串与串化;对于HDMI2.0视频接收而言,可将原来高速串行信号解串为3路20bit的AXI4-Stream并行数据;然后调用Xilinx官方的HDMI 1.4/2.0 Receiver Subsystem IP核做4K超清视频的解码工作,同时解码出AXI4-Stream流的音频流和视频流;对于HDMI2.0视频发送而言,可将原3路20bit的AXI4-Stream并行数据串化为高速串行信号,输出的差分视频数据信号直接从FPGA的GT高速BANK输出,差分时钟信号直接从FPGA的LVDS高速BANK输出;以HDMI2.0收发模式为例,Video PHY Controller配置如下:
在这里插入图片描述
该IP需要在Vitis SDK中做进一步详细配置,详情参考Vitis SDK C语言软件代码;

vivado逻辑工程源码架构

工程源码架构包括vivado Block Design逻辑设计和vitis SDK软件设计;
以工程源码4为例,Block Design逻辑设计架构截图如下:
在这里插入图片描述
以工程源码4为例,综合后的源码架构如下:
在这里插入图片描述

vitis软件工程源码架构

Vitis软件代码如下:
在这里插入图片描述
!!!注意
!!!注意
!!!注意
代码为了兼容不同板卡的外围IC,所以代码显得冗余复杂,图中标记的为必须使用到的代码,大多数保持默认即可;
工程源码1使用的是vivado2019.1的SDK;

4、工程源码1详解–>Kintex7-325T版本

开发板FPGA型号:Xilinx–>Kintex7-xc7k325t‐2ffg676;
FPGA开发环境:Vivado1919.1;
输入:OV5640或FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI2.0,分辨率1280x720@60Hz;
图像缓存方案:Xilinx官方VDMA方案,3帧缓存;
HDMI2.0发送方案:Xilinx系列FPGA GT高速接口方案;
使用GT高速接口类型:GTX高速接口;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA视频采集转HDMI2.0输出的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

5、工程源码2详解–>KU040版本

开发板FPGA型号:Xilinx–>Kintex7-UltraScale-xcku040-ffva1156-2-i;
FPGA开发环境:Vivado2022.2;
输入:OV5640或FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI2.0,分辨率1280x720@60Hz;
图像缓存方案:Xilinx官方VDMA方案,3帧缓存;
HDMI2.0发送方案:Xilinx系列FPGA GT高速接口方案;
使用GT高速接口类型:UltraScale-GTH高速接口;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA视频采集转HDMI2.0输出的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

6、工程源码3详解–>KU3P版本

开发板FPGA型号:Xilinx–>Kintex7-UltraScale+ xcku3p-ffva676-2-i;
FPGA开发环境:Vivado2022.2;
输入:OV5640或FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI2.0,分辨率1280x720@60Hz;
图像缓存方案:Xilinx官方VDMA方案,3帧缓存;
HDMI2.0发送方案:Xilinx系列FPGA GT高速接口方案;
使用GT高速接口类型:UltraScale-GTY高速接口;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA视频采集转HDMI2.0输出的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

7、工程源码4详解–>ZU4EV版本

开发板FPGA型号:Xilinx-Zynq UltraScale+ xczu4ev-sfvc784-2-i;
FPGA开发环境:Vivado2022.2;
输入:OV5640或FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI2.0,分辨率1280x720@60Hz;
图像缓存方案:Xilinx官方VDMA方案,3帧缓存;
HDMI2.0发送方案:Xilinx系列FPGA GT高速接口方案;
使用GT高速接口类型:UltraScale-GTH高速接口;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA视频采集转HDMI2.0输出的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

8、工程源码5详解–>ZU7EV版本

开发板FPGA型号:Xilinx-Zynq UltraScale+ xczu7ev-2ffvc156;
FPGA开发环境:Vivado2022.2;
输入:OV5640或FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI2.0,分辨率1280x720@60Hz;
图像缓存方案:Xilinx官方VDMA方案,3帧缓存;
HDMI2.0发送方案:Xilinx系列FPGA GT高速接口方案;
使用GT高速接口类型:UltraScale-GTH高速接口;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA视频采集转HDMI2.0输出的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

9、工程源码6详解–>ZU15EG版本

开发板FPGA型号:Xilinx–>Xilinx-Zynq UltraScale+ xczu15eg-ffvb1156-2-i;
FPGA开发环境:Vivado2022.2;
输入:OV5640或FPGA内部动态彩条,分辨率1280x720@30Hz;
输出:HDMI2.0,分辨率1280x720@60Hz;
图像缓存方案:Xilinx官方VDMA方案,3帧缓存;
HDMI2.0发送方案:Xilinx系列FPGA GT高速接口方案;
使用GT高速接口类型:UltraScale-GTH高速接口;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握Xilinx系列FPGA视频采集转HDMI2.0输出的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
在这里插入图片描述

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、上板调试验证并演示

准备工作

FPGA开发板,推荐使用本博的开发板;
OV5640摄像头,没有则选择彩条输入;
HDMI显示器或者电视;
HDMI线;
以工程源码4为例,开发板连接如下:
在这里插入图片描述

视频采集转HDMI2.0输出演示

视频采集转HDMI2.0输出演示如下:

OV5640-HDMI2.0

12、福利:工程源码获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36799.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习面试重点第二部分(动画版)

​ 目录 ​ 第一章、聚类算法 ​1.1 K-means 聚类 ​1.1.1 算法​编辑流程 1.1.2 优缺点 ​1.1.3 应用场景 ​1.2 层次聚类 ​1.2.1 算法流程 1.2.2 优缺点 ​1.2.3 应用场景 ​1.3 DBSCAN ​1.3.1 算法流程 1.3.2 优缺点 ​1.3.3 应用场景 1.3.4. 参数 ε&…

剑指Offer精选:Java与Spring高频面试题深度解析

一、Java底层核心机制 🔥 问题1:谈谈对Java的理解? 📌 核心技术特性 平台无关性 "一次编译,到处运行":通过JVM实现跨平台兼容 字节码(.class)作为中间语言,…

RabbitMQ 集群降配

这里写自定义目录标题 摘要检查状态1. 检查 RabbitMQ 服务状态2. 检查 RabbitMQ 端口监听3. 检查 RabbitMQ 管理插件是否启用4. 检查开机自启状态5. 确认集群高可用性6. 检查使用该集群的服务是否做了断开重连 实操1. 负载均衡配置2. 逐个节点降配(滚动操作&#xf…

【正点原子K210连载】第七十六章 音频FFT实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第七十六章 音频FFT实验 本章将介绍CanMV下FFT的应用,通过将时域采集到的音频数据通过FFT为频域。通过本章的学习,读者将学习到CanMV下控制FFT加速器进行FFT的使用。 本章分为如下几个小节: 32.1 maix.FFT模块介绍 32.2 硬件设计 32.3 程序设…

嵌入式开发之STM32学习笔记day08

从“门铃”到“中断”:手把手玩转STM32的外部中断控制器(EXTI) 引言:为什么我们需要“中断”? (类比生活场景:用“快递按门铃”解释中断的意义) 想象一下:当你在…

JVM的一些知识

JVM简介 JVM 是 Java Virtual Machine 的简称,意为 Java 虚拟机。 虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统。常见的虚拟机:JVM、VMwave、Virtual Box。 JVM 和其他两个虚拟机的区别: VMw…

Mac:JMeter 下载+安装+环境配置(图文详细讲解)

📌 下载JMeter 下载地址:https://jmeter.apache.org/download_jmeter.cgi 📌 无需安装 Apache官网下载 JMeter 压缩包,无需安装,下载解压后放到自己指定目录下即可。 按我自己的习惯,我会在用户 jane 目…

【简单有效!】Gradio利用html插件实现video视频流循环播放

文章目录 前言 & 思路静态资源挂载完整代码结果示例 前言 & 思路 需要利用gradio在前端搭建一个页面,循环播放视频。思路是直接调用gr.HTML插件实现,简单有效!!! 静态资源挂载 app.mount("/static&quo…

⭐算法OJ⭐克隆图【BFS】(C++实现)Clone Graph

前情提要:图论入门【数据结构基础】:什么是图?如何表示图? 133. Clone Graph Given a reference of a node in a connected undirected graph. Return a deep copy (clone) of the graph. Each node in the graph contains a va…

SpringSecurity——基于角色权限控制和资源权限控制

目录 基于角色权限控制 1.1 自定义 UserDetailsService 1.2 加载用户角色 1.3. 给角色配置能访问的资源(使用切面拦截,使用注解) 总结 资源权限控制 2.2. 需要有一个用户;(从数据库查询用户) 2.2 基…

【MySQL】表的约束

目录 零、前言一、空属性二、默认值三、列描述四、zerofill五、主键六、自增长七、唯一键八、外键结尾 零、前言 表中一定要有各种约束,通过约束来让用户未来插入的数据是符合要求的。约束的本质就是通过计算反过来要求用户插入正确的数据。所以站在MySQL的角度上来…

SQLMesh系列教程:SQLMesh虚拟数据环境

各种工具都已将软件工程实践引入到数据工程中,但仍有差距存在,尤其是在测试和工作流等领域。SQLMesh 的目标是在这些领域开辟新的天地,解决像 dbt 这样的竞争产品尚未提供强大解决方案的难题。在这篇文章中,我将对 SQLMesh 进行简…

基于Babylon.js的Shader入门之五:让Shader支持法线贴图

如果一个比较平坦的物体表面要添加更多的凹凸细节,但是我们又不想通过建模实现,这时候法线贴图就派上用场了。法线贴图是通过与灯光的交互来让一个平坦表面造成凹凸效果假象的,在基于Babylon.js的Shader入门之四:让Shader支持基础…

活码在实际操作中的具体场景有哪些?怎么应用?

当传统二维码因“内容固定、无法追踪、流量拥堵”等问题逐渐失效时,活码正在成为企业破解运营痛点的关键工具。 无论是需要实时更新内容的线下物料,还是面临用户分流压力的线上客服,动态二维码都能通过“一码多用、灵活配置”的特性&#xf…

极空间NAS部署gitea教程

极空间NAS部署gitea步骤教程 背景1. 准备镜像1.1 极空间官方1.2 Win系统docker再上传1.3 镜像转录 2. MySql配置2.1 容器配置2.2 命令行配置 3. gitea配置3.1 容器配置3.2 打开网页3.3 网页配置安装 参考资料 背景 极空间Nas和别的Nas不同的地方就在于,他不是那种标…

Wireshark:在 显示过滤器中“加入条件”过滤后,出现其他类型的数据包,为什么?

一、 在Wireshark中使用“tcp协议”过滤后,仍出现TLSv1.2协议的数据包,原因如下: 1. ‌协议层次关系‌ ‌TCP是传输层协议‌,而‌TLS属于应用层协议‌,后者直接运行于TCP之上‌28。因此,所有TLS流量&…

【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力

【医学影像 AI】大型语言模型生成 ROP 患者信息材料的能力 0. 论文简介0.1 基本信息0.2 摘要 1. 引言2. 材料与方法2.1 大语言模型的使用2.2 可读性标准2.3 统计分析 3. 结果3.1 Bezirci-Yılmaz可读性评分3.2 Ateşman可读性评分3.3 全面性评分3.4 准确性评分 4. 讨论4.1 可读…

设计模式(行为型)-策略模式

目录 定义 类图 角色 角色详解 Strategy(抽象策略类)​ Context(环境类 / 上下文类)​ ConcreteStrategy(具体策略类)​ 优缺点 优点​ 缺点​ 使用场景 类行为差异场景​ 动态算法选…

服装零售行业数字化时代的业务与IT转型规划P111(111页PPT)(文末有下载方式)

服装零售行业数字化时代的业务与IT转型规划P111 详细资料请看本解读文章的最后内容。 随着数字化技术的迅猛发展,服装零售行业正经历着前所未有的变革。本文将对《服装零售行业数字化时代的业务与IT转型规划P111》进行详细解读,探讨未来几年内该行业的…

【大语言模型_6】mindie启动模型错误整理

一、启动报 [hccl_runner.cpp:141] AllGatherHcclRunner:0 HcclCommInitRootInfo fa il, error:2, rank:0, rankSize:2 背景:运行DeepSeek-R1-Distill-Qwen-14B模型,在2张300 P卡可以运行,单独一张启动报以上错误。 问题分析&…