项目简介
本项目是一个Eclipse项目,借助Cypress的EZ - USB FX3设备与支持YUY2图像流的图像传感器,实现了完整的720p视频解决方案。项目包含实现图像传感器接口、USB视频类(UVC)控制和流逻辑的固件应用代码,支持通过USB 3.0链路以30帧每秒的速度传输未压缩的HD 720p(1280 * 720)分辨率视频,以及通过USB 2.0链路以15帧每秒的速度传输未压缩的VGA(640 * 480)分辨率视频。
项目的主要特性和功能
- 支持HD 720p(1280 * 720)分辨率30fps的USB 3.0视频流,以及VGA(640 * 480)分辨率15fps的USB 2.0视频流。
- 可移植到几乎任何具有并行接口的图像传感器上使用。
- 提供了摄像头Pan、Tilt和Zoom控制的扩展存根。
- 扩展单元支持固件版本控制,用户能设置或获取固件版本。
- 具备提交缓冲区失败事件和视频计时器,可处理视频冻结问题,在出现问题时丢帧后重新启动视频。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且已安装Cypress FX3 SDK及其相关库。
配置硬件
将图像传感器、USB接口和其他外设正确连接到开发板。
应用移植(若使用不同传感器)
- 识别传感器的控制机制(如I2C、SPI等),修改
sensor.c
文件。在SensorI2cBusTest()
函数中添加代码验证传感器是否可通过固件访问,验证功能后实现传感器初始化函数SensorInit()
和分辨率设置函数(如SensorScaling_HD720p_30fps()
和SensorScaling_VGA()
)。 - 确定传感器和FX3之间的信号接口,相应地更新GPIF - II状态机,可能需要更新
uvc.c
中的GPIF - II初始化代码(CyFxUvcAppGpifInit
和CyFxGpifCB
函数)。 - 更新处理UVC控制(如亮度、Pan、Tilt和Zoom)的代码(
uvc.c
和camera_ptzcontrol.c
)。
SDK版本更新(若需要)
当更新应用程序以使用新的SDK版本时,从新的SDK中将最新的cyfxtx.c
和cyfx_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】