littlebot
Published on 2025-04-12 / 4 Visits
0

【源码】基于Cypress EZ USB FX3的720p视频流解决方案

项目简介

本项目是一个Eclipse项目,借助Cypress的EZ - USB FX3设备与支持YUY2图像流的图像传感器,实现了完整的720p视频解决方案。项目包含实现图像传感器接口、USB视频类(UVC)控制和流逻辑的固件应用代码,支持通过USB 3.0链路以30帧每秒的速度传输未压缩的HD 720p(1280 * 720)分辨率视频,以及通过USB 2.0链路以15帧每秒的速度传输未压缩的VGA(640 * 480)分辨率视频。

项目的主要特性和功能

  1. 支持HD 720p(1280 * 720)分辨率30fps的USB 3.0视频流,以及VGA(640 * 480)分辨率15fps的USB 2.0视频流。
  2. 可移植到几乎任何具有并行接口的图像传感器上使用。
  3. 提供了摄像头Pan、Tilt和Zoom控制的扩展存根。
  4. 扩展单元支持固件版本控制,用户能设置或获取固件版本。
  5. 具备提交缓冲区失败事件和视频计时器,可处理视频冻结问题,在出现问题时丢帧后重新启动视频。

安装使用步骤

前提条件

假设用户已下载本项目的源码文件,且已安装Cypress FX3 SDK及其相关库。

配置硬件

将图像传感器、USB接口和其他外设正确连接到开发板。

应用移植(若使用不同传感器)

  1. 识别传感器的控制机制(如I2C、SPI等),修改sensor.c文件。在SensorI2cBusTest()函数中添加代码验证传感器是否可通过固件访问,验证功能后实现传感器初始化函数SensorInit()和分辨率设置函数(如SensorScaling_HD720p_30fps()SensorScaling_VGA())。
  2. 确定传感器和FX3之间的信号接口,相应地更新GPIF - II状态机,可能需要更新uvc.c中的GPIF - II初始化代码(CyFxUvcAppGpifInitCyFxGpifCB函数)。
  3. 更新处理UVC控制(如亮度、Pan、Tilt和Zoom)的代码(uvc.ccamera_ptzcontrol.c)。

SDK版本更新(若需要)

当更新应用程序以使用新的SDK版本时,从新的SDK中将最新的cyfxtx.ccyfx_gcc_startup.S文件复制到本项目中,并遵循“Getting started with the FX3 SDK”文档中关于移植到新SDK的说明。

编译和下载

编译项目代码,并将生成的固件下载到EZ - USB FX3开发板。

运行UVC扩展单元主机应用程序

运行uvc_extension_app_x64/x86应用程序,若检测到FX3设备,可选择1/2来设置/获取固件版本。

测试视频稳定性

使用合适的UVC主机应用程序(如eCAMView、Wirecast)在Windows或MAC PC上进行视频流测试,可测试USB2和USB3模式下的视频稳定性。

USB CV测试

在Windows PC上使用usb.org的标准命令验证器测试(USB 2 CV和USB 3 GenX CV),验证描述符和UVC功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】