FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码

这篇具有很好参考价值的文章主要介绍了FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、前言

目前USB3.0的实现方案很多,但就简单好用的角度而言,FT601应该是最佳方案,因为它电路设计简单,操作时序简单,软件驱动简单,官方甚至提供了包括FPGA驱动在内的丰富的驱动源码和测试软件;

本设计用FPGA驱动FT601芯片实现USB3.0数据通信,使用同步245模式通信,提供2套vivado工程源码,一套是verilog代码生成的彩条视频经过图像三帧缓存至DDR3后读出,图像给到FT601发送出去,PC机读取FT601发来的视频,并用QT上位机接收视频并显示出来,该工程针对的是手里没有摄像头或者视频输入源的朋友;如果你手里有OV5640摄像头,那么适合第2套工程,第2套工程是采集OV5640摄像头数据,视频经过图像三帧缓存至DDR3后读出,图像给到FT601发送出去,PC机读取FT601发来的视频,并用QT上位机接收视频并显示出来;
本设计完全可以模拟和实现USB3.0相机的功能;代码编译通过后上板调试验证,可直接项目移植,适用于在校学生做毕业设计、研究生项目开发,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的USB3.0通信和图像传输领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式以及上板调试的演示视频放在了文章末尾,请耐心看到最后;

2、FT601芯片解读和时序分析

FT601功能和硬件电路

FT600/601Q 的技术参数如下:
FT600&601Q 芯片是 FT 最新推出的 USB3.0 to FIFO interface IC,实现 USB3.0 与 16/32bit 并行 IO 接口之间的数据传输。
整个 USB 通信协议全部由芯片驱动自行完成,开发者无须考虑 USB 底层固件的编程。
兼容支持 USB3.0(5Gbps),向下兼容 USB2.0(480Mbps and 12Mbps)传输。
高达 8 个可配置 Endpoint. >>支持 2 种 FIFO 传输协议,最大传输可达 400MB/s。
芯片内部有 16K 字节的缓冲区,可以进行数据的大吞吐量操作。
支持远程唤醒功能。
芯片支持多种 IO 电压:1.8V,2.5V.3.3V。
通过 16bit D[O:15]或 32bit D[0:31]并行数据线和读写状态/控制线 RXF、TXE、RD、WR,加上时钟 CLK,使
能 OE 信号线就可实现与 CPU/FPGA 的数据交换。
该芯片内部集成 1.0V LDO,可提供给芯片核心部分使用。
工业级芯片,工作温度范围-40 to 85℃。
芯片框架如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
外围电路设计参考如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
FT600/601Q 支持的多种传输模式,其中 245 Synchronous FIFO 模式和 Multi-Channel FIFO 模式是我们最常用的模式。我们这里介绍的 demo 以 245 Synchronous FIFO 模式为例;传输模式通过GPIO引脚高低电平配置,配置真值表如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码

FT601读时序解读

245 Synchronous FIFO 模式读时序如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
RXF_N为读数据状态信号,RXF_N为低电平期间FPGA可以读取FT601数据;
检测到RXF_N低电平后,拉低OE_N和RD_N,然后开始读数据;
检测到RXF_N高电平后,拉高OE_N和RD_N,然后退出读数据状态;

FT601写时序解读

245 Synchronous FIFO 模式写时序如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
TXF_N为读数据状态信号,RXF_N为低电平期间FPGA向FT601写入数据;
检测到TXF_N低电平后,拉低WR_N,然后开始向FT601写入数据;
检测到TXF_N高电平后,拉高WR_N,然后退出写数据状态;

3、我这儿的 FT601 USB3.0通信方案

我这儿现有的FPGA基于FT601和FT602的USB3.0通信方案主要有简单的测速方案、图像传输方案,图像传输方案包括简单的彩条传输采集、OV5640摄像头传输采集、HDMI视频采集,HDMI视频采集抓拍、USB3.0 UVC视频等等,所有工方案均包括FPGA工程和QT上位机源码;感兴趣的可以去我的FT601 USB3.0通信专栏阅读,专栏地址如下:
https://blog.csdn.net/qq_41667729/category_12339160.html?spm=1001.2014.3001.5482

4、vivado工程1–彩条视频采集传输

开发板FPGA型号:xc7k325tffg900-2;
开发环境:vivado2022.2;
输入:彩条视频;
输出:FT601–USB3.0接口;
应用:模拟和实现USB3.0相机的功能;

详细设计框图及其原理

详细设计框图如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
彩条视频:
用verilog代码生成一个VGA时序的,分辨率为1280x720@60Hz的彩条视频,完全可以模拟各种相机和视频输入设备,手里没有摄像头或者板子没有视频输入接口的兄弟可以拿这个东西去用,很实用;
FDMA图像缓存:
FDMA图像三帧缓存,经常看我文章的兄弟都知道,这是我惯用的图像缓存套路,它由FDMA控制器和FDMA构成,作用是将输入的视频缓存到DDR3里做三帧缓存后再读出来,目的是使得图像数据的输入输出跨时钟域读写,输出图像平稳无撕裂等现象;关于FDMA的详细设计说明,请参考我之前的文章:点击直接前往
FT601 模块:
就是FT601的verilog驱动代码,根据FT601芯片读写时序实现接口对接,这里很简单;关于FT601驱动的详细设计说明,请参考我之前的文章:点击直接前往
FT601 驱动:
这是官方给的FT601 驱动,文件已包含在了我提供的资料包里;
QT上位机:
基于c++的QT,调用官方API,实现USB3.0接口的视频数据实时采集并显示,我提供的资料包里有QT上位机软件和QT源码,做嵌入式软件开发的兄弟可以拿去参考;

vivado工程解读

工程Block Design如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
综合后的工程代码架构如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
综合编译完成后的FPGA资源消耗和功耗预估如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码

5、vivado工程2–OV5640视频采集传输

开发板FPGA型号:xc7k325tffg900-2;
开发环境:vivado2022.2;
输入:OV5640摄像头;
输出:FT601–USB3.0接口;
应用:模拟和实现USB3.0相机的功能;

详细设计框图及其原理

详细设计框图如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
OV5640摄像头和视频采集:
OV5640分辨率为1280x720@60Hz,纯verilog实现的i2c协议实现对齐内部寄存器的配置,纯verilog实现的图像采集模块将OV5640输出视频采集为VGA时序的RGB888视频输出;
FDMA图像缓存:
FDMA图像三帧缓存,经常看我文章的兄弟都知道,这是我惯用的图像缓存套路,它由FDMA控制器和FDMA构成,作用是将输入的视频缓存到DDR3里做三帧缓存后再读出来,目的是使得图像数据的输入输出跨时钟域读写,输出图像平稳无撕裂等现象;关于FDMA的详细设计说明,请参考我之前的文章:点击直接前往
FT601 模块:
就是FT601的verilog驱动代码,根据FT601芯片读写时序实现接口对接,这里很简单;关于FT601驱动的详细设计说明,请参考我之前的文章:点击直接前往
FT601 驱动:
这是官方给的FT601 驱动,文件已包含在了我提供的资料包里;
QT上位机:
基于c++的QT,调用官方API,实现USB3.0接口的视频数据实时采集并显示,我提供的资料包里有QT上位机软件和QT源码,做嵌入式软件开发的兄弟可以拿去参考;

vivado工程解读

工程Block Design如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
综合后的工程代码架构如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
综合编译完成后的FPGA资源消耗和功耗预估如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码

6、上板调试验证

先连接板子和电脑,然后打开QT上位机软件,资料包里的目录如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
彩条工程输出QT接收结果:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
ila波形抓取如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码
OV5640工程输出QT接收结果:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码

7、福利:工程代码的获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式1:私,或者文章末尾的V名片。
网盘资料如下:
FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码文章来源地址https://www.toymoban.com/news/detail-511399.html

到了这里,关于FPGA驱动FT601实现USB3.0相机 OV5640视频采集 提供2套工程源码和QT上位机源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA2-采集OV5640乒乓缓存后经USB3.0发送到上位机显示

    基于特权A7系列开发板,采用OV5640摄像头实时采集图像数据,并将其经过USB3.0传输到上位机显示。这是验证数据流能力的很好的项目。其中,用到的软件版本,如下表所示,基本的硬件情况如下。该项目对应FPGA工程源码,qt工程源码,以及USB固件的下载地址 软件 版本 QT 5.15

    2024年02月15日
    浏览(43)
  • FPGA 以太网传输ov5640视频

    使用 DFZU4EV MPSoC 开发板及双目 OV5640 摄像头其中一个摄像头实现图像采集,并通过开发板上的以太网接口发送给上位机实时显示。 时钟模块用于为 I2C 驱动模块、以太网顶层模块和开始传输控制模块提供驱动时钟;I2C 驱动模块和 I2C 配置模块用于初始化 OV5640 图像传感器;摄像

    2024年04月10日
    浏览(54)
  • 海康、大华连接相机失败:未安装USB3驱动或驱动无效

    https://blog.csdn.net/weixin_43197380/article/details/124428063 一、前言 设备信息: Win10 + Halcon13 + 海康工业相机(MV-CH120-10UM系列) HK相机客户端下载: 官网地址:HK相机客户端官网下载地址 博主使用的客户端版本:MVS_STD_3.2.1_200609   提取码:z9tk 二、问题分析 博主在下载完客户端,连接

    2024年02月11日
    浏览(87)
  • FPGA 多路视频处理:图像缩放+视频拼接显示,OV5640采集,提供2套工程源码和技术支持

    FPGA高端项目:Xilinx Kintex7系列FPGA 多路视频缩放拼接 工程解决方案 ov5640版本 提供4套工程源码+技术支持 没玩过图像缩放和视频拼接都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。本文使用Xilinx的Kintex7系列FPGA实现多路视频缩放拼接方案,视频

    2024年02月08日
    浏览(48)
  • FPGA GTP全网最细讲解 aurora 8b/10b协议OV5640摄像头视频传输 提供2套工程源码和技术支持

    没玩过GT资源都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 GT资源是Xilinx系列FPGA的重要卖点,也是做高速接口的基础,不管是PCIE、SATA、MAC等,都需要用到GT资源来做数据高速串化和解串处理,Xilinx不同的FPGA系列拥有不同的GT资源类型,低端

    2024年02月09日
    浏览(52)
  • FPGA基于RIFFA实现PCIE采集ov5640图像传输,提供工程源码和QT上位机

    PCIE是目前速率很高的外部板卡与CPU通信的方案之一,广泛应用于电脑主板与外部板卡的通讯,PCIE协议极其复杂,想要掌握不容易,所以Xilinx和Altera等FPGA厂商直接推出了相关IP供用户使用,比如Xilinx的XDMA,这种IP直接集成了PCIE通信的所有内核资源,并已封装为AXIS接口,用户在

    2023年04月09日
    浏览(74)
  • 【FPGA】摄像头模块OV5640

    开发板:正点原子的达芬奇开发板(或MicroPhase的Z7-Lite 7020开发板) FPGA型号:XC7A35TFGG484-2(或XC7Z020CLG400-2) Vivado版本:2020.2 参考课程链接:正点原子手把手教你学FPGA-基于达芬奇开发板 A7 OV5640模块:正点原子ATK-OV5640   OV5640是OV(OMNIVISION)公司设计的一款CMOS图像传感器,

    2024年03月21日
    浏览(51)
  • FPGA与CYUSB3014实现USB3.0数据传输学习笔记(1)

    简单介绍          赛普拉斯将CYUSB3014简称为EZ-USB FX3,该芯片用于USB3.0的外设控制。           EZ-USB FX3 集成了 USB 3.0 和 USB 2.0 物理层 (PHY) 以及 32 位 ARM926EJ-S 微处理器,具有强大的数据处理能力,并可用于构建定制应用。 本产品采用了一种巧妙的架构,使从 GPIF II 到

    2024年02月09日
    浏览(49)
  • 通过stm32cubemx配置DCMI驱动ov5640摄像头

    打开stm32cubemx选择芯片 选择外部时钟源 选择debug方式 配置dcmi   打开dma 打开dcmi中断 选择合适的io 设置reset、pwdn、scl、sda引脚,注意scl和sda设置为开漏输出,之前参考别人的设置为推挽输出,导致一直没有成功,不知道什么原因  配置时钟 配置项目 最后生成代码 系统初始化

    2024年02月13日
    浏览(52)
  • 基于zynq7100的OV5640摄像头照相机实验,提供工程源码和技术支持

    设计框图如下: 采用Xilinx官方推荐的VDMA架构实现图像缓存和显示,除OV5640摄像头采集和HDMI输出外,其他ip均采用Xilinx官方IP实现。 这里说明一下: OV5640摄像头图像数据经VDMA三帧缓存后有2路输出 1路输出HDMI显示器显示; 1路通过FATFS文件系统写入sd卡中存放,存放的数据格式

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包