UAC规范(USB音频)
+ -

UAC 音频控制

2021-01-28 5741 0

一个USB设备可能包含多个配置。像手机一样,当手机通过USB线缆接入PC机后,会弹出一个选择对话框:
1611816439174
让用户选择。当然一个USB设备只能工作在一种配置描述符下。

对于每一个USB配置描述符,可能含有多个USB接口描述描述符,同时这些接口描述符可能每个接口描述符又包含多个转换接口描述符。
这些接口描述符可能每一个接口描述符实现的是不同的独立的功能或者多个接口描述符组合实现一些设备功能。
在实际的设备工作中,可能又因为工作状态的不同,这些接口描述符进行转换接口的切换。
所以说,一个USB设备可以做的很简单,也可以做的很复杂。当单一接口无法独立完成所需要的设备功能时,就会多个接口组合实现设备功能。
所以,很不幸,UAC音频设备像UVC设备一样,都是由多接口组合实现的复杂设备。

UAC音频设备的接口的分类

这些多接口配合实现的UAC设备接口,分为两种,分别叫做UAC音频控制接口和UAC音频流接口。

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

UAC音频控制接口

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

  • 控制端点,用于操作时钟实体、单元和终端设置以及检索系统状态音频功能。此终结点是必需的,默认终结点0用于此目的。
  • 中断端点。中断端点是可选的,如果设备需要通知主机音频功能行为变化。

音频控制接口是访问音频功能内部的惟一入口。所有要求与音频功能的时钟实体、单元或内部音频控件的操作有关终端应指向音频功能的音频控制接口。所有与音频功能的描述符都是音频控制接口描述符的一部分。音频控制接口的转换接口AlternateSetting只能为0。

UAC音频控制接口中的音频控制端点

音频控制端点使用默认的USB端点0来进行UAV音频的功能控制。实现方式是UAC通过端点0发送USB特定类请求

UAC音频控制接口中的音频中断端点

UAC音频中断端点是可选的。通过此中断端点可以向主机上报动态中断的信息,这些信息可来源于可寻址实体(时钟实体、终端、单元、接口和端点)。

中断控制端点返回的数据长度为2字节,分别为bStatusType和bOriginator。

  • bStatusType的D7位标识中断是否挂起,D6用于标识是否是固件内存变化中断(通过Get Memory 特定类请示清除),D4,D5保留为0,D0-D3为0表示是中断来源于音频控制接口,为1表示中断来源于音频流接口,为2表示中断来源于音频流接口端点,值3-15保留。
  • bOriginator:根据中断的来原于用标识中断源的ID或端点地址。

UAC音频控制接口中的音频中断端点


UAC音频流接口

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


UAC音频其它控制

  • 时钟控制
  • 电源域控制
  • 按钮控制:分为通过HID接口实现和音响控制的一个组成部分。
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 篇笔记 写笔记

USB-UAC麦克风 音频控制接口
音频控制接口描述符描述了设备的结构(拓扑结构),并通过特定类请求对音频的控制。UAC麦克风 音频控制接口描述符偏移地址字段长度值描述0bLength10x09接口描术符的长度1bDescriptorType10x04描述符的类型接口描述符2bInterfaceNumber10x00接口ID号3bA......
USB音箱 UAC设备描述符分析
这里看到,USB规范采用的是USB1.1版本,不过字符串中又显示的是”USB2.0 Device”,所以这里就有点迷~关于设备描述符各字段的详细解释,详见USB规范中设备描述符一节。从bDeviceClass,bDeviceSubClass和bDeviceSubClass都被置为0来看,这是一个典......
UAC 类特定音频控制接口头描述符
UAC类特定音频控制头接口描述符这个名字有点绕,其实这个描述符是前接标准的音频控制接口描述符,后续关于音频控制的所有相关描述符,起着承上起下的作用。当然也可以认为是音频控制相关描述符的前导。这是因为UAC类特定音频控制接口描述符含有一个关键的字段wTotalLength,用于包含音频控制所有接口描述......
华为UAC耳机 音频控制接口
音频控制接口占用接口ID=0,音频控制接口的描述符结构布局如下:USB标准接口描述符UAC音频控制接口头描述符IDSId描述    音频控制输入终端描述符1USB Streaming   ......
华为UAC耳机的工作过程数据分析
华为UAC耳机工作时,首先需要打开设备,然后读取数据,播放过程后,需要关闭设备。这里我们使用BusHound抓包(省略掉重复的数据包:由于这些特定类请求是发给UAC音频控制终端/实体或接口的,所以我们先回顾一下UAC音频控制单元的一些ID,然后对照其选择子进行分析。UAC音频控制接口头描述符ID描述......
UAC 文档下载
UAC规范1.0文档下载地址:https://www.usb.org/sites/default/files/audio10.pdfUAC规范2.0文档下载地址:https://www.usb.org/sites/default/files/Audio2.0_final.zipUAC规范3.0及3.......
UAC 音频数据格式FORMAT_TYPE_3
下面来介绍USB Audio Data Formats 的第一类音频数格式 FORMAT_TYPE_III = 0x03Audio Data Format Type III Codes 其下又分为5种,分别为:NamewFormatTagTYPE_III_UNDEFINED0x2000IEC1937......
UAC 音频控制
一个USB设备可能包含多个配置。像手机一样,当手机通过USB线缆接入PC机后,会弹出一个选择对话框:让用户选择。当然一个USB设备只能工作在一种配置描述符下。对于每一个USB配置描述符,可能含有多个USB接口描述描述符,同时这些接口描述符可能每个接口描述符又包含多个转换接口描述符。这些接口描述符可能......
USB音箱 UAC Speaker 概述
手头有一个USB Speaker,插入电脑后在设备管理器中如下:从设备管理器中来看,这是一个单一功能的Usb Speaker。其硬件设备ID如下:USBVID_1908&PID_2070&REV_0100(USB Composite Device)USBVID_1908&......
USB音箱 UAC配置描述符分析
该USB音箱的配置描述符和普通USB设备描述符结构体一致,并无特别区别。该配置描述符的总长度(包括后续的所有其它描述符)为110字节,这里相对华为耳机的要少了很多,这是因为少了像麦克风和HID。从配置描述符的字段bmAttributes来看,并不支持远程唤醒功能。 ------------......
华为UAC耳机 配置描述符
配置描述符的大小其实不光包括配置描述符自身,也包括后续的所有描述符。这里我们只先介绍一下配置描述符,后续的接口描述符和其它UAC相关描述符在后续一节介绍。配置描述符的内容如下: ------------------ Configuration Descriptor --------------......
UAC 其它速率配置描述符
UAC规范中,并没有定义特别的其它速率配置描述符,故UAC音频设备的其它速率描述符应符合USB规范中的其它速率配置描述符。......
UAC Feedback端点
下面转一段对USB feedback的理解:这段时间一直在做USB Audio Device(UAC)设备的开发工作。由于UAC采用的是isochronous endpoint来传输数据,对时钟的要求较高。但无奈我们的嵌入式平台的时钟并不准,数据同步就成了问题。经过研究,发现只能使用异步模式来解决这......
USB-UAC麦克风 配置描述符
UAC麦克风采用的配置描述符结构和USB配置描述符的结构一致.偏移地址字段长度值描述0bLength10x09配置描述符的长度1bDescriptorType10x02描述符类型,配置描述符类型2wTotalLength20x0064配置描述符的总长度(包括后续的UAC音频控制UAC音频流接口描述......
华为UAC麦克风的工作过程数据分析
看完了耳机的数据分析,再来分析麦克风,就相对来说很简单了,这是因为:第一:麦克风没有音频控制特效单元描述符,所以少了很多特定类请求。第二:麦克风只有一个音频流转换接口,且只支持采样率为48000HZ 16位。具体的过程见下:Length Phase Data-------- --......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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