UVC1.5协议 2

这篇具有很好参考价值的文章主要介绍了UVC1.5协议 2。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

文章目录

前言

一、UVC拓扑结构

二、UVC描述符以及单元


前言

 

UVC协议是USB下的一个子类 ,UVC就是USB video class ,是 USB视频捕获设备定义的协议标准。USB设备可能具备很多功能比如一个摄像头可能集合了音频和视频所以它会用到UVC和UAC,将这俩个功能进行复合。内容较多,先写一些,个人理解如有不对之处请见谅


一、UVC拓扑结构

USB拓扑结构如图:UVC1.5协议 2

         这是一个比较标准的UVC设备的拓扑结构,图中所示这个设备有两个接口,VideoControl以及VIdeoStreaming,在实际的UVC设备中这两个接口是存在的,但是里面的单元不一定是这样,可能IT->PU->OT或者多个EU等等。

        可以看到在这个示例中,这个设备有俩个接口,接口可以理解成一种功能的集合,vc接口负责视频控制,vs接口描述视频流格式等信息。在video funtion中可以看到他有俩输入终端,一个是camera terminal 代表从sensor捕获数据输入,另外一个是input terminal,代表复合视频输入,一般来说都是IT。然后经过选择单元将视频流选择后送入处理单元再进去output treminal。再被vs中的端点接收。UVC1.5协议 2

        白色的为usb描述符,灰色是特殊类,或者说uvc class的描述符。alt,setting代表备用设置,一个uvc设备当前只能使用一种配置,但是可以动态的改变设置,完成配置的不同。 

二、UVC描述符以及单元

        UVC的描述符用来表示该设备的属性,在枚举的过程中给主机端读出描述符明白这个设备是怎么样供电用的是什么协议,以及该设备具备的功能例如支持什么样的分辨率,什么编码模式(可以出mjpeg或者264)等等一些属性。

        具体描述符如下(有些疏忽):

        UVC1.5协议 2

         可以看到UVC的描述符和拓扑结构是相关的,IAD是将接口关联描述符,VC这边主要是一些单元的描述符来对视频进行控制,拓展单元的话一般用在厂商的配套APP,中断状态一般使用的是端点0,在通信过程中设备与主机通信通过端点进行传输,具体描述符功能有点多,感兴趣的看一下官方文档吧

三、  复位

        复位是把一个信号从从挂起态唤醒,设备3ms不活动进入空闲态,空闲10ms进入挂起态 主机会停止发送sof包 usb会提供10ms的唤醒时间,保证下行端口也成功唤醒。

关于复位也还存在一些疑惑了解的大佬可以详细说说文章来源地址https://www.toymoban.com/news/detail-401623.html

到了这里,关于UVC1.5协议 2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【数据结构】【王道】【数据结构实现】文章目录

    持续更新中。。。 数据结构 链接 顺序表实现及基本操作(可直接运行) 文章链接 无头结点单链表的实现及基本操作(可直接运行) 文章链接 带头结点单链表的实现及基本操作(可直接运行) 文章链接 双链表的实现及基本操作(可直接运行) 文章链接 循环链表的实现及

    2023年04月08日
    浏览(90)
  • 一篇文章带你了解SpringBoot目录结构

    前言 SpringBoot是整合Spring技术栈的一站式框架,是简化Spring技术栈的快速开发脚手架,是一个能够快速构建生产级别的Spring应用的工具。SpringBoot是目前流行的微服务框架,倡导“约定优于配置”,简化Spring项目搭建及开发过程。springboot提供了很多核心的功能,比如自动化配置

    2024年03月25日
    浏览(67)
  • vscode 系列文章目录 - ctrl+鼠标左键无效

    vscode 中有时会遇到 “Alt + 鼠标点击” 有效,但 “Ctrl + 鼠标点击” 无效,这时可以通过 Ctrl + , 进行系统配置。 进入VScode的首选项,选择设置(快捷键 Ctrl + , ),输入Go to definition,找到如下两个设置。 Editor: Multi Cursor Modifier 设置成 alt “editor.gotoLocation.multipleDefinitions” 设置

    2024年04月23日
    浏览(52)
  • 【vim 学习系列文章 5 - cscope 过滤掉某些目录】

    上篇文章:【vim 学习系列文章 4 - vim与系统剪切板之间的交互】 下篇文章:【vim 学习系列文章 6 – vim 如何从上次退出的位置打开文件】 第一步 创建自己的 cscope 脚本 ~/.local/bin/cscope.sh ,如下: 我的这个脚本首先去区分当前执行 cscope 命令的目录是 rt-thread 目录还是 linux 目

    2024年02月12日
    浏览(82)
  • Git系列文章目录 - Git 子模块git submodule使用

    项目中有时会遇到会涉及子模块的使用,比如 flatpak 项目包含多个子模块。 进入需要添加子模块的目录,一般是项目根目录。 删除子模块目录及源码: 删除项目目录下.gitmodules文件中子模块相关条目: 删除配置项中子模块相关条目: 删除模块下的子模块目录: 清除子模块

    2024年01月20日
    浏览(60)
  • dockerfile不可以使用../作为路径在上级目录查找文件

    在 Dockerfile 中,不能直接使用 …/ 跳转到上级目录。Dockerfile 中的路径是相对于构建上下文路径的,而构建上下文指定了在构建镜像时可访问的文件和目录的范围。 如果你需要在 Dockerfile 中引用上级目录中的文件或目录,可以将上级目录作为构建上下文,并使用相对于构建上

    2024年01月25日
    浏览(38)
  • 目录(文章更新中...)《实战NFT web3 solidity(新版本0.8.+)》

    注:由于是付费专栏内容,若有错误请及时联系@1_bit,博客链接:https://blog.csdn.net/A757291228 ,或在文章下留言,收到后将会对错误进行改正,若是版本更新导致的问题也希望大家对错误进行提交,尽力去保证付费用户该得到的权益。 友情提示:本系列文章读者最好学过一门编

    2024年02月16日
    浏览(43)
  • Linux如何将一个目录移动到另一个目录去,Linux 中,可以使用 mv 命令将一个目录移动到另一个目录中。

    在 Linux 中,可以使用 mv 命令将一个目录移动到另一个目录中。 命令格式如下: 其中,选项包括: -f :覆盖目标文件(不提示)。 -i :询问是否覆盖目标文件。 -n :不覆盖任何已存在的目标文件。 -v :显示移动的详细过程。 例如,将目录 /home/user1/documents 移动到 /home/use

    2024年02月08日
    浏览(84)
  • 想要入驻俄罗斯ozon?这篇文章可以帮到你

    俄罗斯ozon作为当地最大的在线零售商,一直有“俄罗斯亚马逊”之称,它以高性价比和多品类闻名。而且从数据来看,中国卖家入驻的其实并不多,市场还很大。俄罗斯人口多,需求量同时也不少,所以入驻该平台的未来也是很可观的。 1.大陆或者香港公司的营业执照(需要

    2024年02月05日
    浏览(56)
  • 还没搞懂重写和重载吗?这篇文章可以帮助你

    首先,会大致介绍一下什么叫做向上转型,方便后续的理解 提示:以下是本篇文章正文内容,下面案例可供参考 向上转型是Java的一个多态性的表现形式。指的是一个子类的对象赋值给父类类型的引用变量。换句话说,它是将一个对象转换为它的父类类型。 在上述示例中,

    2024年02月06日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包