IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> UAC协议讲解 -> 正文阅读

[网络协议]UAC协议讲解

一、简介

UAC是USB Audio Class的缩写,有时也叫UAD,UAD是USB Audio Device的缩写。

UAC/UAD定义了在USB规范下实现音频的设备的实现和控制功能,这些功能包括不仅音频数字部分的,也包括模拟部分。这些音频数据(模拟和数字)和用于直接控制音频环境的功能,如音量和音调控制。这个音频设备类不包括操作与音频数据的复制,如磁带传输机制或CD-ROM驱动器控制。
UAC 目前的发展已经经历了1.0 ,2.0 到现在的3.0.
win10目前只支持到UAC2.0

注意:UAC3.0不兼容以前的任何版本。

在这里插入图片描述

UAC2.0 和UAC1.0 支持的功能对比图

在这里插入图片描述

二、UAC 传输速率

UAC1 最高实际速度: ≤ 7.8Mbs(1024 x 8 x 1000 )bit/s
UAC2 标准实际速度: ≤ 62.5Mbs(1024 x 8 x 1000 x 8 )bit/s 最高实际速度: ≤187.5Mbs(1024 x 8 x 1000 x 8 x 3)Mb/s
注意:UAC1.0 spec 规定每隔1ms 可以发送一笔数据, High speed 下单笔数据是1024Byte, 因此最大为 (1024 x 8 x 1000 )bit/s

UAC2.0 spec 是可以每隔125us 发送一笔数据, High speed 下标准为单笔数据是1024Byte, 因此最大为 (1024 x 8 x 1000 x 8 )bit/s
最大情况: 单次可以发送 3 笔数据, 所以为(1024 x 8 x 1000 x 8 x 3)bit/s
在这里插入图片描述
在这里插入图片描述

三、UAC音频设备的接口的分类

对于每一个USB配置描述符,可能含有多个USB接口描述描述符,同时这些接口描述符可能每个接口描述符又包含多个转换接口描述符。
这些接口描述符可能每一个接口描述符实现的是不同的独立的功能或者多个接口描述符组合实现一些设备功能。

在这里插入图片描述

UAC 音频设置也有独立的接口描述符,这些多接口配合实现的UAC设备接口,分为两种,分别叫做UAC音频控制接口和UAC音频流接口。

UAC音频控制接口:用于实现UAC音频控制接口及拓扑结构的枚举。
UAC音频流接口:用于音频数据流的传输。

UAC音频控制接口
为了控制特定音频功能的功能行为,主机可以操纵时钟实体、单元以及音频功能内部的终端。为了使这些对象可访问,音频功能应提供单音频控制接口。

UAC音频流接口
UAC音频流接口用于传输音频流数据。一个UAC音频设备可以有多个音频流接口,每个音频流接口可以传输不同的音频数据格式。每一个音频流接口只能有一个等时传输端点,这样保证的是数据的传输与端点相关。
音频流接口包含转换接口进行音频流的切换。但至少包含一个转换接口为0的零带宽即不传输音频流接口和一个包含实际传输数据的转换接口1。


音频控制(AC)接口描述符 UAC1.0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特有类AC接口描述符 UAC1.0

特有类音频接口控制描述并不是指某个特定的描述符,而是一系列描述音频功能的描述符集合的总称。

这些描述符包括:单元描述符(UD)、以及终端描述符(TD)。这些描述符是UAC特有类的描述符,由UAC协议定义。因此,描述符集合的总长度与音频功能中定义的时钟实体、单元实体和终端的个数有关。

特有类AC接口描述符集合用一个头描述符作为开头,头描述符描述了集合的总长、音频设备类规范版本、功能类型等。所以,首先要解析的是特有类AC接口头描述符。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-19 01:33:50  更:2022-02-19 01:35:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 11:19:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码