USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 106
Interface 0
Device
Configuration
AudioControl I/F
Header
Microphone IT
Standard Descriptors
Class-Specific
Descriptors
USB OUT SU
AS I/F Alt. Setting 0 Interface 1
AS I/F Alt. Setting 1
General
Type I Format
Endpoint
Endpoint
ID1
ID2
Figure B-2: USB Microphone Descriptor Hierarchy
B.3 Descriptors
The following sections present all the descriptors that are used to describe the device.
B.3.1 Device Descriptor
Table B-1: USB Microphone Device Descriptor
Offset Field Size Value Description
0 bLength 1 0x12 Size of this descriptor, in bytes.
1 bDescriptorType 1 0x01 DEVICE descriptor.
2 bcdUSB 2 0x0100 1.00 - current revision of USB
specification.
4 bDeviceClass 1 0x00 Device defined at Interface level.
5 bDeviceSubClass 1 0x00 Unused.
6 bDeviceProtocol 1 0x00 Unused.
7 bMaxPacketSize0 1 0x08 8 bytes.
8 idVendor 2 0xXXXX Vendor ID.
10 idProduct 2 0xXXXX Product ID.
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 107
Offset Field Size Value Description
12 bcdDevice 2 0xXXXX Device Release Code.
14 iManufacturer 1 0x01 Index to string descriptor that contains
the string <Your Name> in Unicode.
15 iProduct 1 0x02 Index to string descriptor that contains
the string <Your Product Name> in
Unicode.
16 iSerialNumber 1 0x00 Unused.
17 bNumConfigurations 1 0x01 One configuration.
B.3.2 Configuration Descriptor
Table B-2: USB Microphone Configuration Descriptor
Offset Field Size Value Description
0 bLength 1 0x09 Size of this descriptor, in bytes.
1 bDescriptorType 1 0x02 CONFIGURATION descriptor.
2 wTotalLength 2 0x0064 Length of the total configuration block,
including this descriptor, in bytes.
4 bNumInterfaces 1 0x02 Two interfaces.
5 bConfigurationValue 1 0x01 ID of this configuration.
6 iConfiguration 1 0x00 Unused.
7 bmAttributes 1 0x80 Bus Powered device, not Self Powered,
no Remote wakeup capability.
8 MaxPower 1 0x0A 20 mA Max. power consumption.
B.3.3 AudioControl Interface Descriptor
The AudioControl interface describes the device structure (audio function topology) and is used to
manipulate the Audio Controls.
B.3.3.1 Standard AC Interface Descriptor
The AudioControl interface has no dedicated endpoints associated with it. It uses the default pipe
(endpoint 0) for all communication purposes. Class-specific AudioControl Requests are sent using the
default pipe. There is no Status Interrupt endpoint provided.
Table B-3: USB Microphone Standard AC Interface Descriptor
Offset Field Size Value Description
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 108
Offset Field Size Value Description
0 bLength 1 0x09 Size of this descriptor, in bytes.
1 bDescriptorType 1 0x04 INTERFACE descriptor.
2 bInterfaceNumber 1 0x00 Index of this interface.
3 bAlternateSetting 1 0x00 Index of this setting.
4 bNumEndpoints 1 0x00 0 endpoints.
5 bInterfaceClass 1 0x01 AUDIO.
6 bInterfaceSubclass 1 0x01 AUDIO_CONTROL.
7 bInterfaceProtocol 1 0x00 Unused.
8 iInterface 1 0x00 Unused.
B.3.3.2 Class-specific AC Interface Descriptor
The Class-specific AC interface descriptor is always headed by a Header descriptor that contains general
information about the AudioControl interface. It contains all the pointers needed to describe the Audio
Interface Collection, associated with the described audio function.
Table B-4: USB Microphone Class-specific AC Interface Descriptor
Offset Field Size Value Description
0 bLength 1 0x09 Size of this descriptor, in bytes.
1 bDescriptorType 1 0x24 CS_INTERFACE.
2 bDescriptorSubtype 1 0x01 HEADER subtype.
3 bcdADC 2 0x0100 Revision of class specification - 1.0
5 wTotalLength 2 0x001E Total size of class specific descriptors.
7 bInCollection 1 0x01 Number of streaming interfaces.
8 baInterfaceNr(1) 1 0x01 AudioStreaming interface 1 belongs to
this AudioControl interface.
B.3.3.3 Input Terminal Descriptor
This descriptor describes the Input Terminal that represents the microphone capsule, followed by the Ato-
D converter. The resulting digital audio stream leaves the Input Terminal through the single Output
Pin. The audio channel cluster contains a single logical channel (bNrChannels=1) and there is no spatial
location associated with this mono channel (wChannelConfig=0x0000).
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 109
Table B-5: USB Microphone Input Terminal Descriptor
Offset Field Size Value Description
0 bLength 1 0x0C Size of this descriptor, in bytes.
1 bDescriptorType 1 0x24 CS_INTERFACE.
2 bDescriptorSubtype 1 0x02 INPUT_TERMINAL subtype.
3 bTerminalID 1 0x01 ID of this Input Terminal.
4 wTerminalType 2 0x0201 Terminal is Microphone.
6 bAssocTerminal 1 0x00 No association.
7 bNrChannels 1 0x01 One channel.
8 wChannelConfig 2 0x0000 Mono sets no position bits.
10 iChannelNames 1 0x00 Unused.
11 iTerminal 1 0x00 Unused.
B.3.3.4 Output Terminal Descriptor
This descriptor describes the Output Terminal that represents the USB pipe to the Host PC. Its Input Pin
is directly connected to the Output Pin of the Input Terminal (bSourceID= Input Terminal ID).
Table B-6: USB Microphone Output Terminal Descriptor
Offset Field Size Value Description
0 bLength 1 0x09 Size of this descriptor, in bytes.
1 bDescriptorType 1 0x24 CS_INTERFACE.
2 bDescriptorSubtype 1 0x03 OUTPUT_TERMINAL subtype.
3 bTerminalID 1 0x02 ID of this Output Terminal.
4 wTerminalType 2 0x0101 USB Streaming.
6 bAssocTerminal 1 0x00 Unused.
7 bSourceID 1 0x01 From Input Terminal.
8 iTerminal 1 0x00 Unused.
B.3.4 AudioStreaming Interface Descriptor
The AudioStreaming interface has two possible alternate settings.
USB Device Class Definition for Audio Devices
Release 1.0 March 18, 1998 110
B.3.4.1 Zero-bandwidth Alternate Setting 0
Alternate setting 0 is a zero-bandwidth setting, used to relinquish the claimed bandwidth on the bus when
the microphone is not in use. It is the default setting after power-up. The zero bandwidth is implemented
by specifying that this alternate setting of the interface has no endpoints associated with it
(bNumEndpoints=0). The collection of descriptors for this alternate setting reduces to the standard
interface descriptor.
B.3.4.1.1.1 Standard AS Interface Descriptor
Table B-7: USB Microphone Standard AS Interface Descriptor (Alt. Set. 0)
Offset Field Size Value Description
0 bLength 1 0x09 Size of this descriptor, in bytes.
1 bDescriptorType 1 0x04 INTERFACE descriptor.
2 bInterfaceNumber 1 0x01 Index of this interface.
3 bAlternateSetting 1 0x00 Index of this alternate setting.
4 bNumEndpoints 1 0x00 0 endpoints.
5 bInterfaceClass 1 0x01 AUDIO.
6 bInterfaceSubclass 1 0x02 AUDIO_STREAMING.
7 bInterfaceProtocol 1 0x00 Unused.
8 iInterface 1 0x00 Unused.
B.3.4.2 Operational Alternate Setting 1
Alternate setting 1 is the operational setting of the interface. It contains the standard and class-specific
interface and endpoint descriptors.
B.3.4.2.1.1 Standard AS Interface Descriptor
Table B-8: USB Microphone Standard AS Interface Descriptor
Offset Field Size Value Description
0 bLength 1 0x09 Size of this descriptor, in bytes.
1 bDescriptorType 1 0x04 INTERFACE descriptor.
2 bInterfaceNumber 1 0x01 Index of this interface.
3 bAlternateSetting 1 0x01 Index of this alternate setting.
4 bNumEndpoints 1 0x01 One endpoint.
5 bInterfaceClass 1 0x01 AUDIO.
最終更新:2011年05月02日 03:35