USB Audio Design Guide
4.5.1 Audio Subslot
An audio subslot holds a single audio sample. See USB Device Class Definition for
Audio Data Formats
devices descriptors
An audio subslot always contains an integer number of bytes. The specification
limits the possible audio sublot size (bSubslotSize) to 1, 2, 3 or 4 bytes per audio
subslot.
Typically, since it is run on a 32-bit machine, the value 4 is used for subslot -
this means that packing/unpacking samples is trivial. Other values can be used
(currently 4, 3 and 2 are supported by the design).
Other values may be used for the the following reasons:
Bus-bandwidth needs to be efficiently utilised. For example maximising channel-
count/sample-rates in full-speed operation.
To support restrictions with certain hosts. For example many Android based
hosts support only 16bit samples in a 2-byte subslot.
bSubSlot size is set using the following defines:
When running in high-speed:
When running in full-speed:
4.5.2 Audio Sample Resolution
An audio sample is represented using a number of bits (bBitResolution) less than or
equal to the number of total bits available in the audio subslot i.e. bBitResolution
<= bSubslotSize * 8. Supported values are 16, 24 and 32.
The following defines
The following defines affect high-speed operation:
24
http://www.usb.org/developers/devclass_docs/Audio2.0_final.zip
XM0088546.1
24
for full details. This is represented by bSubslotSize in the
HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES
HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES
HS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES
FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES
FS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES
FS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES
HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS
HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS
HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS
47/110
Need help?
Do you have a question about the xCORE-200 Multi-channel Audio board and is the answer not in the manual?
Questions and answers