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
24
for full details. This is represented by
bSubslotSize
in the
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:
·
HS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES
·
HS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES
·
HS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES
·
When running in full-speed:
·
FS_STREAM_FORMAT_OUTPUT_1_SUBSLOT_BYTES
·
FS_STREAM_FORMAT_OUTPUT_2_SUBSLOT_BYTES
·
FS_STREAM_FORMAT_OUTPUT_3_SUBSLOT_BYTES
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:
·
HS_STREAM_FORMAT_OUTPUT_1_RESOLUTION_BITS
·
HS_STREAM_FORMAT_OUTPUT_2_RESOLUTION_BITS
·
HS_STREAM_FORMAT_OUTPUT_3_RESOLUTION_BITS
http://www.usb.org/developers/devclass_docs/Audio2.0_final.zip
XM0088546.1
Summary of Contents for xCORE-200 Multi-channel Audio board
Page 6: ...1 Overview XM0088546 1...