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

来源:互联网 发布:js删除a标签的父div 编辑:程序博客网 时间:2024/06/05 13:45

转发请注明出处:

随着项目的不断进行, 我想在网上查找了一下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的一个补充, 应用于音视频知识内容产权的保护, 这就对硬件,软件提出了更高的要求.

0 0
原创粉丝点击