USB(UVC协议)摄像头

孤街浪徒 提交于 2020-03-01 22:55:44

一、背景知识

1.1、背景

UVC全称为USB Video Class,即:USB视频类,是一种为USB视频捕获设备定义的协议标准。是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,已成为USB org标准之一。

对于一个 usb 摄像头来说,内部大概分为一个 VC 接口和一个 VS 接口,VC 接口内部有许多 unit 和 terminal 用来“控制”摄像头,比如我们可以通过 Process unit 设置白平衡、曝光等等。对于 VS 接口来说,标准 VS 接口往往含有许多个设置,每一个设置都包含一个实时传输端点,虽然它们的端点地址可能相同,但是它们的最大传输包大小不同,在 Class specific VS 接口中,包含多个 Format ,每一个 Format 包含多个 Frame ,Format 指的 YUYV MJPG 等等,Frame 就是各种分辨率 480*320 640 * 480 等等。以上这些信息,都是通过分析描述符来获得。

1.2、libuvc开源库

 

1.3、数据流

通过驱动获取传感器的数据,获得的数据通过UVC协议上传给上位机,同时,上位机会发送控制命令给设备侧。

二、设备侧开发

 

等待上位机发来的控制消息,监听USB端口的EP0

三、上位机侧开发

VLC或者AMCAP上位机软件调试

 

四、参考文档

1、里面有说到怎么控制亮度。

https://blog.csdn.net/lizuobin2/article/details/53341340?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

2、上位机开发

https://www.cnblogs.com/rollsroyce/p/11680450.html

3、论文的参考

基于UVC协议的USB3.0图像采集系统设计

http://www.docin.com/p-965508430.html

https://www.ixueshu.com/document/3a073adb15ec6629d375020a9855d541318947a18e7f9386.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!