UAC规范(USB音频)
+ -

UAC 传输速度

2020-12-30 4507 116

传统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(理论值)

HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

华为UAC耳机 音频控制接口
音频控制接口占用接口ID=0,音频控制接口的描述符结构布局如下:USB标准接口描述符UAC音频控制接口头描述符IDSId描述    音频控制输入终端描述符1USB Streaming   ......
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传输速度是多少?
USB 3.0的理论传输速度为5 Gbps,比USB 2.0的最大传输速度 480 Mbps快了很多。具体来说,USB 3.0采用的是8/10编码,故其实际传输速度可以达到理论速度的70%到90%,因此,在实际使用中,USB 3.0的最大实际传输速度大约在350 MB/s到450 MB/s之间。U......
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......
UAC耳机自带HID调节声音报告描述符
UAC耳机自速的外接按钮实现声音的控制:增加音量也减少音量。设备管理器如下:05 0C //0 GLOBAL_USAGE_PAGE(Consumer) 09 01 //2 LOCAL_USAGE( Consumer Control ) A1 01 /......
UAC耳机扬声器音频写PCM数据的三种方式
UAC耳机扬声器音频PCM数据有三种方式,分别为:异步传输 Asynchronous同步传输 synchronous 自适应传输 adaptive。UAC音频数据同步传输同步传输是三种方式中最低质量的,所以也是使用于一搬的普通产品中。同步传输时只要主机发送数据,设备端都会接收数据。但由于两个时......
以为华耳机为例分析UAC音频输出设备的数据格式选择
和UVC相机的不同,UAC音频的数据格式如单通道的数据长度、采样率等是通过SET_INTERFACE实现的,多个不同的格式是接口描述符的bAlternateSetting字段不同而不同。例如本人买的华为耳机自带的TYPE-C接口,采用的是UAC规范实现的是耳机和麦克风功能。这里我们以耳机为例,在音......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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