UAC规范(USB音频)
+ -

UAC 传输速度

2020-12-30 247 66
欢迎加入官方QQ群:952873936或联系站长进行技术交流。

传统3.5mm模拟耳机逐步被USB数字耳机代替。采用USB协议进行音频播放使用USB Audio Class协议(简称UAC).

UAC2.0由于支持USB High Speed,从而天生带有高带宽、低延时的优势。这些优势转化为对于Hi-Resolution Auido的支持。

  • UAC1.0最高只支持到双声道192Khz 16b的音源:(2 x 192 x 16) / 1024 = 6Mb = 6Mb/8 = 0.75MB
  • UAC2.0可以最高支持15声道384Khz 32b的音源:(15 x 384K x 32) /1024 = 180Mb = 18Mb/8 = 3MB

UAC同步/等时传输速度 - UAC-USB Isochronous Endpoint

  • UAC1 最高速度: ≤8.2Mb/s
  • UAC2 标准速度: ≤65.5Mb/s 最高速度: ≤196.6Mb/s

UAC2.0支持更多的设备描述,增加clock domain、clock description、clock control支持, 添加sampling rate converter unit支持,UAC2.0协议文档:http://dl.project-voodoo.org/usb-audio-spec/USB%20Audio%20v2.0/Audio20%20final.pdf

Linux中的UAC支持

在kernel/msm-3.18/sound/usb/mixer.c

/*support for UAC2 effect units */

可以看到驱动代码已经支持UAC2.0了,就看有没有支持UAC2.0的codec做出来了。

采样率48000,位深度 16bit ,通道数2,设备1秒内可以采集到多少音频数据?

48000Hz x 16b x 2ch = 1536000(bit)
(48000Hz x 16b x 2) / 8 = 192000 (Byte) = 192(KB)
192(KB) / 1024 = 0.1875(MB)
设备在一秒内可以采集192KByte数据.


如果16000hz 16bit,计算UAC1.0和UAC2.0理论上最多支持多少通道?

UAC1.0 high speed支持通道数:8.2Mb / (16000 x 16 / 1024 / 1024) = 8.2Mb / 0.25Mb = 32.8 = 32(理论值)
UAC2.0 full speed支持通道数:65.5Mb / (16000 x 16 / 1024 / 1024) = 65.5Mb / 0.25Mb = 262(理论值)
UAC2.0 high speed支持通道数:196.6Mb / (16000 x 16 / 1024 / 1024) = 196.6Mb / 0.25Mb = 786(理论值)

0 篇笔记 写笔记

华为UAC耳机 音频控制接口
音频控制接口占用接口ID=0,音频控制接口的描述符结构布局如下:USB标准接口描述符UAC音频控制接口头描述符IDSId描述    音频控制输入终端描述符1SB Streaming    音频控制特效单元描述符21Aud......
USB4的连接接口、传输速度的兼容性
官方称为USB4.0,USB4即将上市。一些规格仍有待确认,这里是一个快速概述一切,我们知道最新的USB标准。USB4会向后兼容USB3.0,USB2.0,USB1.0吗?USB4电缆将使用TYPE-C连接器,这是目前大多数智能手机和笔记本电脑上的扁平圆形端口。我们看到许多工业小型单板计算机都采用这......
华为UAC耳机的工作过程数据分析
华为UAC耳机工作时,首先需要打开设备,然后读取数据,播放过程后,需要关闭设备。这里我们使用BusHound抓包(省略掉重复的数据包:由于这些特定类请求是发给UAC音频控制终端/实体或接口的,所以我们先回顾一下UAC音频控制单元的一些ID,然后对照其选择子进行分析。UAC音频控制接口头描述符ID描述......
华为UAC耳机 配置描述符
配置描述符的大小其实不光包括配置描述符自身,也包括后续的所有描述符。这里我们只先介绍一下配置描述符,后续的接口描述符和其它UAC相关描述符在后续一节介绍。配置描述符的内容如下: ------------------ Configuration Descriptor --------------......
华为UAC耳机 设备描述符
从UAC的设备描述符可知,音频是属于接口级别的,在UAC1.0版本,是需要将相关的配置参数bDeviceClass,bDeviceSubClass,bDeviceProtocoll置为0。对于别的参数,可参考USB设备描述符进行相关配置。本设备只有一个配置描述符,且端点0的bMaxPacketSiz......
华为UAC耳机 概述
本人手中有一个华为的TYPE-C耳机,其实是一个复合设备(usbccgp.sys)。这个复合设备总共有三个分设备,分别为HeadPhone(耳机),Microphone(麦克风)和一个自定义的HID设备。在设备管理器中设备树关系如下:设备的硬件ID如下:USBVID_12D1&PID_3A......
华为UAC耳机 字符串描述符
字符串描述符 -------------------- String Descriptors ------------------- ------ String Descriptor 0 ------bLength : 0x04 (......
华为UAC耳机 HID接口
---------------- Interface Descriptor ----------------- HIDbLength : 0x09 (9 bytes)bDescriptorType : 0x04 (Interf......
USB3.0传输速度是多少?
USB3.0规范由USB-IF组织推出发布于2008年11月17日,历经USB3.1,USB3.2,现在USB3统一更名为USB3.2 gen1,usb3.2 gen2和usb3.2 Gen 2x2.USB3.2的对照表如下:版本时间带宽别名USB3.02008年11月175GbpsSuperSpe......
UAC 传输速度
传统3.5mm模拟耳机逐步被USB数字耳机代替。采用USB协议进行音频播放使用USB Audio Class协议(简称UAC).UAC2.0由于支持USB High Speed,从而天生带有高带宽、低延时的优势。这些优势转化为对于Hi-Resolution Auido的支持。UAC1.0最高只支持到......
华为UAC耳机 音频流接口
音频流接口分为麦克风和耳机(headphone)。由于音频流传输只能是同步/等时传输方式进行,故在音频流接口描述符中,接口bAlternateSetting=0时为默认的无音频输出接口即无端点描述符,从bAlternateSetting=1开始有数据传输,即应该有等时传输端点描述符。麦克风在麦克风下......
耳机音量按键HID报告描述符
耳机音量按键在windows的设备管理器中如下:其报告描述符的原始数据为:05 0c 09 01 a1 01 85 01 15 00 25 01 75 01 95 01 09 e9 81 02 09 ea 81 02 09 cd 81 02 09 b5 81 02 09 b6 81......
作者信息
USB中文网
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!