第十九篇:USB Audio/Video Class设备协议

2023-05-16

转发请注明出处:

随着项目的不断进行, 我想在网上查找了一下USB Audio/Video的最新资料, 看看有没有业内人士的更新, 由于我们的项目一直在技术的最前延, 而且这个USB-IF官方发布的协议, 也非常非常新, 结果找了半天, 都是我这篇文章的转发, 有些注明了文章出处, 有些, 则改个文章名字, 文章内容一模一样. 请这样的转发编辑人员, 遵守职业道德, 尊重知识产权, 因为, 你的工作所写文章也是知识产权的一种表现, 从某从程度上讲, 不尊重别人的知识产权, 就等于不尊重自己的劳动成果.


http://www.tuicool.com/articles/UjMNby 这是转发注明出处的

http://www.myexception.cn/other/1676044.html 这是无耻地改个文章标题, 而且不注明出处的



众所周知, USB是一个成功的协议

从USB1.0, USB1.1, USB2.0 480Mbps 到USB3.0 5Gbps, 再到最新的USB3.1 10Gbps, 不断在发展,不断在更新.

同时, 对USB设备方面有所了解的软件,硬件工程师,也应该知道, USB包含了Storage, audio, video, hid, printer, 只要是做过USB的工程师,都或多或少对这几个类有过底层firmware, Linux gadget driver的开发经验.

在USB子系统的速度(speed, actually it is included by performance), 性能(high performance), 耗电(low power)不断改进, 更新, 发展的同时, USB设备协议也与时俱进.


UASP (USB attached SCSI protocol) 是伴随着USB3.0 对BULK 传输的增加版本 BULK STREAMING的应运而生的, 原来的USB STORAGE BOT只是串行的存储协议, 而UASP则是USB3.0, USB BULK STREAMING, SCSI, COMMAND QUEUE的完美结合, 让看似简单的一个USB子系统, 对底层AXI/AHB, PCIE, Memory controller, SCSI, 设备端的firmware/driver, 主机端的xHCI host, host driver, storage driver, UASP USB port/miniport driver都提出了更高的要求.


USB Audio/Video Class

有些工程师可能并不清楚这个协议的内容, 从字面上理解, 是原先USB audio与USB video的重复.

其实, 完全不是这样, 为了占据技术市场的前沿, 把握最新的技术动态, 针对项目需要, 通过对USB-IF刚刚发布的USB AV CLASS协议的深入研究以及项目经验, 笔者发现USB-IF已经将音视频, 输入输出, 甚至显卡的功能及应用都周全地考虑进去.

在这样一个USB AV CLASS设备中, 同样集成了SOC, AXI/AHB, PCIE, Memory controller, DMA, USB bulk/iso, I2S, 音频, 视频, H264, OpenGL ES的方方面面, 设备端的firmware/driver, 主机端的USB AV CLASS驱动开发, 看过我对USB VIDEO CLASS驱动这篇文章的读者知道, USB VIDEO CLASS驱动是AVSTREAM/BDA架构的驱动, 这个架构已经是非常大的, 但其只考虑了视频这个方面, 相对于USB AV CLASS的音频, 视频, 甚至显卡(display, render)的功能, 需要完成这样一个驱动程序, 可以认为, 它是包括了USB VIDEO, USB AUDIO, FULL GRAPHIC(比如VidPN, GPU scheduler, video memory management)三方面的结合体, 这就对驱动开发人员, 在知识体系方面提出了更加高的要求.


另外, 还有USB Content security, 可以认为, 它是对USB AV CLASS的一个补充, 应用于音视频知识内容产权的保护, 这就对硬件,软件提出了更高的要求.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第十九篇:USB Audio/Video Class设备协议 的相关文章

随机推荐

  • The POM for xxxx is missing, no dependency information available

    很久以前用Maven的时候基本都是一个工程 xff0c 后来感觉太落伍了 xff0c 就根据geoserver源码开始分模块对功能进行优化 后来有个新来的同事也碰到了这个问题 xff0c 我就给他解决一下 xff0c 顺便把以前的心得记录一
  • 无人机开发-介绍Mavlink协议的消息组成、如何看懂繁杂的mavlink官网介绍、简单介绍地面站与飞控的通讯流程

    这篇博客主要介绍了mavlink的消息组成和如何看懂繁杂的mavlink官网介绍以及简单介绍了下地面站与飞控的通讯流程 前面已经提到了在mavlink消息帧里最重要的两个东西 xff0c 一个是msgid xff1b 一个是payload
  • 无人机开发-介绍MAVLink代码的大概结构

    可以看到 xff0c 里面有多个文件夹和几个头文件 pixhawk xff0c ardupilotmega xff08 apm xff09 xff0c matrixpilot这类的文件夹里都是各个飞控自己定义的mavlink消息类型 xff
  • 无人机开发-图传技术浅析

    2016年 xff0c 是中国无人机市场的元年 xff0c 无人机能够一跃进入大众视野 xff0c 并迅速在大众市场火热发展 xff0c 是很多人始料未及的 从刚开始的空中摄录 xff0c 到后来的实时摄录 xff0c 方便的无人机图传功能
  • Ubuntu18.04安装ROS+gazebo9+PIX4仿真

    本文仅作安装过程记录之用 1 安装ros Ubuntu18 04选择ROS Melodic 教程网址 xff1a http wiki ros org cn melodic Installation Ubuntu 1 1配置 Ubuntu 软
  • PX4+gazebo仿真给无人机添加摄像头

    1 启动仿真 xff1a cd到Firmware文件夹 xff0c 执行以下代码 roslaunch px4 mavros posix sitl launch 如果启动过程卡住或者很慢 xff0c 下载该链接的压缩包https bitbuc
  • 最全Pycharm教程(10)——Pycharm调试器总篇

    如果觉得这篇文章对您有所启发 xff0c 欢迎关注我的公众号 xff0c 我会尽可能积极和大家交流 xff0c 谢谢 最全Pycharm教程 xff08 1 xff09 定制外观 最全Pycharm教程 xff08 2 xff09 代码风格
  • 关于嵌入式

    学习方向 首先要学习下基础课程单片机 xff0c 汇编和C语言等等 xff0c 然后再学习嵌入式 xff0c 如果说你要想水平高的话 xff0c 最好学习下操作系统 xff0c 数据结构 xff0c 算法及一些硬件方面的知识等等 看你是想在
  • make_unique的使用

    关于make unique的构造及使用例程 xff0c MSDN的讲解非常详细 xff08 https msdn microsoft com zh cn library dn439780 aspx xff09 使用过程中 xff0c 我的理
  • C#学习记录——C#编写串口程序

    因为电气自动化专业出差太多 xff0c 考虑学点其他的看能不能实现转行 xff0c 也没太清晰的路线 xff0c 看网上好多推荐电气自动化转C 上位机开发的 xff0c 也抽时间学习了解下C xff0c 因为非软件专业 xff0c 对计算机
  • the working directory ‘XXX’ does not exist

    积累点滴 今天在idea上重新建了一个项目 xff0c 结果一运行就报了 the working directory XXX does not exist 的错误 明明上一个项目都运行好好的 xff0c 怎么新建一个就出问题了呢 xff1f
  • Git 子模块(Submodule)

    提示 xff1a Git 子模块 Submodule 操作 文章目录 一 Git 子模块 Submodule 是什么 xff1f 二 使用步骤1 创建子仓库2 clone 带有子仓库的git项目 三 子仓库代码的修改和更新 一 Git 子模
  • Java Web项目开发项目经验总结

    一 学会如何读一个JavaWeb项目源代码 步骤 xff1a 表结构 gt web xml gt mvc gt db gt spring ioc gt log gt 代码 1 先了解项目数据库的表结构 xff0c 这个方面是最容易忘记的 x
  • React + TS + Mobx 示例

    一 创建项目 方式一 xff1a create react app todo React ts demo scripts version 61 react scripts ts cd todo React ts demo npm start
  • AMD IOMMU与Linux (2) -- IVRS及AMD IOMMU硬件初始化

    介绍AMD IOMMU driver基于IVRS的硬件初始化情况 1 I O Virtualization ACPI table 2 drivers iommu amd init c 1 I O Virtualization ACPI ta
  • AMD IOMMU与Linux (3) -- DMA

    Linux中DMA会使用硬件IOMMU如AMD IOMMU INTEL VT D xff0c 也会使用软件的SWIOTLB 这篇梳理一下LINUX内核在有AMD IOMMU的情况下 xff0c 是如何做DMA的 xff0c 内容包括如下 1
  • AMD IOMMU与Linux (4) -- Domain, Group, Device

    1 domain的本质是一个页表 xff0c 1对1的关系 2 IOMMU DOMAIN UNMANAGED vs IOMMU DOMAIN DMA a IOMMU DOMAIN UNMANAGED DMA mappings managed
  • 第三篇:知其然,知其所以然-USB音频设备的开发过程

    最近 xff0c 有朋友正好在开发一个USB音频设备 xff0c 所以询问我一些USB音频设备开发方面的技术细节问题 xff1b 也和音响发烧友聊到USB音频设备的实现方式与其优缺点 xff1b 后来 xff0c 也和人谈到实现一个USB音
  • 第七篇:风起于青萍之末-电源管理请求案例分析(下)

    第五篇 风起于青萍之末 电源管理请求案例分析 上 http blog csdn net u013140088 article details 18180249 第六篇 风起于青萍之末 电源管理请求案例分析 中 http blog csdn
  • 第十九篇:USB Audio/Video Class设备协议

    转发请注明出处 随着项目的不断进行 我想在网上查找了一下USB Audio Video的最新资料 看看有没有业内人士的更新 由于我们的项目一直在技术的最前延 而且这个USB IF官方发布的协议 也非常非常新 结果找了半天 都是我这篇文章的转