USB开发---最高采样率USB Audio的描述符支持DSD 1536K

USB开发—最高采样率USB Audio的描述符支持DSD 1536K

一、背景

前段时间根据客户要求,做一个HIFI级的USB Audio声卡设备。支持ASIO驱动。采样率达到USB2.0所能支持的最高采样率1536K。 采样率范围44.1k - 1536k。同时支持DSD跟Dop模式,采样率范围DSD64 - DSD1024。支持24bit跟16bit的采样深度。客户那边是用Fpga解码的。具体我这边也没有参与。USB Audio是我这边设计的。也花了不少的时间。下面将描述符分享出来供大家参考学习。有不清楚的可以加QQ群一起学习讨论。

PCM采样率列表

在这里插入图片描述

DSD采样率列表

在这里插入图片描述

二、USB枚举时候用到的描述符

以下描术符确认是可以正常使用的。

------------------------------
Device Descriptor:
------------------------------
0x12	bLength
0x01	bDescriptorType
0x0200	bcdUSB
0xEF	bDeviceClass      (Miscellaneous device)
0x02	bDeviceSubClass   
0x01	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 bytes)
0x152A	idVendor
0x86EF	idProduct
0x0303	bcdDevice
0x01	iManufacturer   "KexiStudio"
0x02	iProduct        "USB HiRes Audio"
0x03	iSerialNumber
0x02	bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A	bLength
0x06	bDescriptorType
0x0200	bcdUSB
0x00	bDeviceClass      
0x00	bDeviceSubClass   
0x00	bDeviceProtocol   
0x40	bMaxPacketSize0   (64 bytes)
0x01	bNumConfigurations 
0x00	bReserved 


-------------------------
Configuration Descriptor:
-------------------------
0x09	bLength
0x02	bDescriptorType
0x00D5	wTotalLength   (213 bytes)
0x02	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xC0	bmAttributes   (Self-powered Device)
0x32	bMaxPower      (100 mA)

Interface Association Descriptor:
------------------------------
0x08	bLength
0x0B	bDescriptorType
0x00	bFirstInterface
0x02	bInterfaceCount
0x01	bFunctionClass      (Audio Device Class)
0x00	bFunctionSubClass   
0x20	bFunctionProtocol   (Audio Protocol IP version 2.00)
0x00	iFunction

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0x01	bInterfaceClass      (Audio Device Class)
0x01	bInterfaceSubClass   (Audio Control Interface)
0x20	bInterfaceProtocol   (Audio Protocol IP version 2.00)
0x00	iInterface

AC Interface Header Descriptor:
------------------------------
0x09	bLength
0x24	bDescriptorType
0x01	bDescriptorSubtype
0x0200	bcdADC
0x01	bCategory   (DESKTOP_SPEAKER)
0x0048	wTotalLength   (72 bytes)
0x00	bmControls

AC Clock Source Descriptor:
------------------------------
0x08	bLength
0x24	bDescriptorType
0x0A	bDescriptorSubtype
0x29	bClockID
0x03	bmAttributes
0x07	bmControls
          Clock Frequency Control - host programmable
          Clock Validity Control  - read only
0x00	bAssocTerminal
0x00	iClockSource

AC Clock Selector Descriptor:
------------------------------
0x08	bLength
0x24	bDescriptorType
0x0B	bDescriptorSubtype
0x28	bClockID
0x01	bNrInPins
0x29	baCSourceID(1)
0x03	bmControls
          Clock Selector Control - host programmable
0x00	iClockSelector

AC Input Terminal Descriptor:
------------------------------
0x11	bLength
0x24	bDescriptorType
0x02	bDescriptorSubtype
0x2A	bTerminalID
0x0101	wTerminalType   (USB Streaming)
0x00	bAssocTerminal
0x28	bCSourceID
0x02	bNrChannels   (2 channels)
0x00000003	bmChannelConfig
0x00	iChannelNames
0x00	bmControls
0x00	iTerminal

AC Feature Unit Descriptor:
------------------------------
0x12	bLength
0x24	bDescriptorType
0x06	bDescriptorSubtype
0x0A	bUnitID
0x2A	bSourceID
0x00000003	bmaControls(0)
          Mute Control              - host programmable
0x0000000C	bmaControls(1)
          Volume Control            - host programmable
0x0000000C	bmaControls(2)
          Volume Control            - host programmable
0x00	iFeature

AC Output Terminal Descriptor:
------------------------------
0x0C	bLength
0x24	bDescriptorType
0x03	bDescriptorSubtype
0x2B	bTerminalID
0x0301	wTerminalType   (Speaker)
0x00	bAssocTerminal
0x0A	bSourceID
0x28	bCSourceID
0x0000	bmControls
0x00	iTerminal

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x01	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0x01	bInterfaceClass      (Audio Device Class)
0x02	bInterfaceSubClass   (Audio Streaming Interface)
0x20	bInterfaceProtocol   (Audio Protocol IP version 2.00)
0x00	iInterface

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x01	bInterfaceNumber
0x01	bAlternateSetting
0x02	bNumEndPoints
0x01	bInterfaceClass      (Audio Device Class)
0x02	bInterfaceSubClass   (Audio Streaming Interface)
0x20	bInterfaceProtocol   (Audio Protocol IP version 2.00)
0x00	iInterface

AS Interface Descriptor:
------------------------------
0x10	bLength
0x24	bDescriptorType
0x01	bDescriptorSubtype
0x2A	bTerminalLink
0x00	bmControls
0x01	bFormatType   (FORMAT_TYPE_1)
0x00000001	bmFormats
          PCM
0x02	bNrChannels   (2 channels)
0x00000003	bmChannelConfig
0x00	iChannelNames

AS Format Type 1 Descriptor:
------------------------------
0x06	bLength
0x24	bDescriptorType
0x02	bDescriptorSubtype
0x01	bFormatType   (FORMAT_TYPE_1)
0x04	bSubslotSize
0x20	bBitResolution   (32 bits per sample)

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x01	bEndpointAddress  (OUT endpoint 1)
0x05	bmAttributes      (Transfer: Isochronous / Synch: Asynchronous / Usage: Data)
0x0C00	wMaxPacketSize    (2 x 1024 bytes)
0x01	bInterval         (1 microframes)

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x08	bLength
0x25	bDescriptorType
0x01	bDescriptorSubtype
0x00	bmAttributes
0x00	bmControls
0x02	bLockDelayUnits   (decoded PCM samples)
0x0800	wLockDelay

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x11	bmAttributes      (Transfer: Isochronous / Synch: None / Usage: Feedback)
0x0004	wMaxPacketSize    (1 x 4 bytes)
0x04	bInterval         (8 microframes)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x01	bInterfaceNumber
0x02	bAlternateSetting
0x02	bNumEndPoints
0x01	bInterfaceClass      (Audio Device Class)
0x02	bInterfaceSubClass   (Audio Streaming Interface)
0x20	bInterfaceProtocol   (Audio Protocol IP version 2.00)
0x00	iInterface

AS Interface Descriptor:
------------------------------
0x10	bLength
0x24	bDescriptorType
0x01	bDescriptorSubtype
0x2A	bTerminalLink
0x00	bmControls
0x01	bFormatType   (FORMAT_TYPE_1)
0x80000000	bmFormats
          TYPE_I_RAW_DATA
0x02	bNrChannels   (2 channels)
0x00000000	bmChannelConfig
0x00	iChannelNames

AS Format Type 1 Descriptor:
------------------------------
0x06	bLength
0x24	bDescriptorType
0x02	bDescriptorSubtype
0x01	bFormatType   (FORMAT_TYPE_1)
0x04	bSubslotSize
0x20	bBitResolution   (32 bits per sample)

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x01	bEndpointAddress  (OUT endpoint 1)
0x05	bmAttributes      (Transfer: Isochronous / Synch: Asynchronous / Usage: Data)
0x0C00	wMaxPacketSize    (2 x 1024 bytes)
0x01	bInterval         (1 microframes)

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x08	bLength
0x25	bDescriptorType
0x01	bDescriptorSubtype
0x00	bmAttributes
0x00	bmControls
0x02	bLockDelayUnits   (decoded PCM samples)
0x0800	wLockDelay

Endpoint Descriptor:
------------------------------
0x07	bLength
0x05	bDescriptorType
0x81	bEndpointAddress  (IN endpoint 1)
0x11	bmAttributes      (Transfer: Isochronous / Synch: None / Usage: Feedback)
0x0004	wMaxPacketSize    (1 x 4 bytes)
0x04	bInterval         (8 microframes)


-------------------------
Configuration Descriptor:
-------------------------
0x09	bLength
0x02	bDescriptorType
0x0012	wTotalLength   (18 bytes)
0x01	bNumInterfaces
0x02	bConfigurationValue
0x00	iConfiguration
0xC0	bmAttributes   (Self-powered Device)
0x32	bMaxPower      (100 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0xFF	bInterfaceClass      (Vendor specific)
0xFF	bInterfaceSubClass   
0xFF	bInterfaceProtocol   
0x00	iInterface


-------------------------------------
Other Speed Configuration Descriptor:
-------------------------------------
0x09	bLength
0x07	bDescriptorType
0x0012	wTotalLength   (18 bytes)
0x01	bNumInterfaces
0x01	bConfigurationValue
0x00	iConfiguration
0xC0	bmAttributes   (Self-powered Device)
0x32	bMaxPower      (100 mA)

Interface Descriptor:
------------------------------
0x09	bLength
0x04	bDescriptorType
0x00	bInterfaceNumber
0x00	bAlternateSetting
0x00	bNumEndPoints
0xFF	bInterfaceClass      (Vendor specific)
0xFF	bInterfaceSubClass   
0xFF	bInterfaceProtocol   
0x00	iInterface

三、DSD的采样率显示

在这里插入图片描述
我这个方案非常的便宜,性价比很高。有需要的可以沟通合作。

四、联系我们

  • 技术支持 : 加群 339420387 答案1024
    在这里插入图片描述
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 高通 USB音频是一种由高通公司开发的技术,用于提供高质量的音频传输和处理功能。通过将USB接口与音频设备连接,可以实现数字音频的传输和解码,从而获得更高的音质和更低的噪音。 高通的USB音频技术具有许多优势。首先,它支持高分辨率的音频传输,可以提供更清晰、更准确的音频表现。其次,它可以实现低延迟的音频传输,确保音频与视频的同步播放,提供更流畅的观感。 此外,高通的USB音频还支持多种音频格式,包括PCM、DSD和DXD等,使用户可以根据自己的需求选择合适的音频格式。它还提供了音频效果的调节功能,如均衡器和音场效果,使用户可以根据个人喜好进行音效调整。 高通的USB音频技术还支持多种应用场景。对于音乐爱好者和专业音频制作人员来说,它可以提供更高质量的音频播放和录制。对于游戏玩家来说,它可以提供更沉浸式的游戏音效。对于企业和教育机构来说,它可以提供清晰的音频会议和在线教学体验。 总的来说,高通的USB音频技术是一种先进的音频传输和处理技术,具有高音质、低延迟和多功能等特点,可以广泛应用于各种音频设备和应用场景中。 ### 回答2: 高通 USB Audio是高通公司推出的一种音频技术,旨在提供高音质和低延迟的音频体验。这项技术结合了高通在数字信号处理和嵌入式软件方面的专业知识,可以将数字音频信号传输到支持USB接口的设备上。 高通 USB Audio技术的特点之一是支持多种音频格式,包括PCM、DSD和MQA等。这意味着用户可以通过USB连接将多种音频文件格式传输到音频设备上,无需转换或解码,直接实现高保真音质的播放。 另外,高通 USB Audio还采用了先进的噪声抑制和回声消除技术,可以有效消除环境噪声和音频反馈问题,提供更清晰、更逼真的音频效果。 高通公司还为USB Audio提供了一套完整的软件开发工具包,以帮助音频设备制造商更轻松地集成这项技术。通过使用这个工具包,厂商可以定制和优化他们的产品,以确保与高通平台的兼容性和最佳性能。 总结起来,高通 USB Audio是一项音频技术,通过USB接口将数字音频信号传输到设备上,并提供高音质、低延迟的音频体验。它支持多种音频格式,具备噪声抑制和回声消除功能,并提供软件开发工具包,方便厂商集成和定制。 ### 回答3: 高通 USB音频是高通科技推出的一种音频解决方案,旨在提供高质量的数字音频传输和处理功能。 首先,高通 USB音频采用了高通自家的技术和芯片,通过USB接口与计算机或移动设备连接,实现音频信号的传输和处理。它支持的音频格式有AAC、MP3、FLAC等,具备较高的解码能力,可以播放高保真音频。 高通 USB音频还具备低功耗、低时延的特点,通过高速USB接口传输音频信号,避免了传统的3.5mm耳机接口的信号干扰和质量损失问题。同时,高通USB音频还支持高清音频的录制,能够满足专业音频录制的需求。 除了音频传输和处理功能,高通USB音频还提供了一些增强功能,如主动降噪、立体声效果等。这些功能可以通过与高通的数字信号处理(DSP)芯片结合,实现音频信号的优化和增强。 高通USB音频广泛应用于消费电子产品领域,如智能手机、平板电脑、耳机和音响等,改善了音频质量和用户体验。通过与高通其他技术的配合,如蓝牙技术、快速充电技术等,可以实现更丰富的音频功能,为用户带来更好的听觉享受。 总之,高通USB音频是一种高质量、低功耗的音频解决方案,具备高清音频传输、处理和增强功能。它在消费电子产品中得到了广泛应用,提升了音频质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值