Today we have USB 1, 2 and 3.
Often these specs are mixed up with USB audio specs.
USB audio class 1 allows for 24 bit / 96 kHz 2 channel PCM audio.
It will run on USB 1.1. as this is what fits in the 12 MB/s capacity of USB 1.1
A lot of people thinks USB audio is limited to 16/48.
Obvious this is not a limitation of the standard but a matter of a cheap hardware solution.
The USB audio class 2 standard was finalized early 2009.
The sample rates 176 and 192 are supported.
This requires USB 2 (high speed = 480 MB/s) to run.
All major OS (Win, OSX, Linux) has native support for a USB audio class 1.
OSX and Linux also support USB audio class 2 from mid-2010 on.
On Win you need a third party driver.
Transfer modes
Data is exchanged over USB using one of the four possible modes:
• Control Transfers: command and status operations,
• Interrupt Transfers: device requires the attention of the host
• Bulk Transfers: large volumes of data like print jobs
• Isochronous Transfers: time sensitive information, such as an audio or video stream
When the computer sends the audio stream to an USB port, if first reads the data from the hard disk and caches blocks of the data in memory.
It is then spooled from memory to the output port in a continuous stream (Isochronous mode ).
Data is sent out in frames every millisecond.
This happens whether there is any data in the frame or not.
The rate at which the frames go out is determined by a oscillator driving the USB bus.
This rate is independent of everything else going on in the PC.
In principle this guarantees a constant flow of the frames.
In practice the frames might not be filled properly with data because some program simply hogs the CPU or the PCI.
Anti-virus polling the internet at high priority are a well-known example.
Synchronization
Isochronous transfer can be done with three possible types of synchronization in the USB audio device.
Synchronous
The clock driving the DAC is directly derived from the 1 kHz frame rate.
This mode was used by the early USB audio devices.
They were limited to 48 kHz and pretty jittery.
Adaptive
In this mode the clock comes from a separate clock
A control circuit (sample rate guesser) measures the average rate of the data coming over the bus and adjusts the clock to match that.
Since the clock is not directly derived from a bus signal it is far less sensitive to bus jitter than synchronous mode, but what is going on the bus still can affect it.
It’s still generated by a PLL that takes its control from the circuits that see the jitter on the bus.
This is the mode that most USB audio devices use today.
Asynchronous
In this mode an external clock is used to clock the data out of the buffer and a feedback stream is setup to tell the host how fast to send the data. A control circuit monitors the status of the buffer and tells the host to speed up if the buffer is getting too empty or slow down if it’s getting too full.
Since the readout clock is not dependent on anything going on with the bus, it can be fed directly from a low jitter oscillator, no PLL need apply.
This mode can be made to be very insensitive to bus jitter.
The warm reception in the audiophile world of asynchronous USB as developed and promoted by Wavelength inspired other brands to offer asynchronous USB DACs .
Asynchronous mode is not better by design but by implementation because you can implement a top quality (low jitter) clock in the DAC.
Things to look for
When buying a USB DAC always check the specs of the USB input.
A 24/192 DAC is indeed a 24/192 DAC but it might be combined with a 16/48 limited USB input.
If you can’t find the specs of the USB input, assuming it is 16/48 limited is a safe bet.
At the present I don’t see any reason to by a 16 bit USB DAC.
24 bits can be obtained at the same price.
Even if you don’t have 24 bit sources (might change in the near future) a 24 bit depth is beneficial when using digital volume control.
A well implemented asynchronous design probably beats an equally well implemented adaptive mode design. But a USB DAC is more than a synchronization mode only!
Often these specs are mixed up with USB audio specs.
USB audio class 1 allows for 24 bit / 96 kHz 2 channel PCM audio.
It will run on USB 1.1. as this is what fits in the 12 MB/s capacity of USB 1.1
A lot of people thinks USB audio is limited to 16/48.
Obvious this is not a limitation of the standard but a matter of a cheap hardware solution.
The USB audio class 2 standard was finalized early 2009.
The sample rates 176 and 192 are supported.
This requires USB 2 (high speed = 480 MB/s) to run.
All major OS (Win, OSX, Linux) has native support for a USB audio class 1.
OSX and Linux also support USB audio class 2 from mid-2010 on.
On Win you need a third party driver.
Transfer modes
Data is exchanged over USB using one of the four possible modes:
• Control Transfers: command and status operations,
• Interrupt Transfers: device requires the attention of the host
• Bulk Transfers: large volumes of data like print jobs
• Isochronous Transfers: time sensitive information, such as an audio or video stream
o Guaranteed access to USB bandwidth.
o Bounded latency.
o Stream Pipe - Unidirectional
o Error detection via CRC, but no retry or guarantee of delivery.
o Full & high speed modes only
Audio uses the isochronous transfer mode, a kind of ‘soft’ real time mode.o Bounded latency.
o Stream Pipe - Unidirectional
o Error detection via CRC, but no retry or guarantee of delivery.
o Full & high speed modes only
When the computer sends the audio stream to an USB port, if first reads the data from the hard disk and caches blocks of the data in memory.
It is then spooled from memory to the output port in a continuous stream (Isochronous mode ).
Data is sent out in frames every millisecond.
This happens whether there is any data in the frame or not.
The rate at which the frames go out is determined by a oscillator driving the USB bus.
This rate is independent of everything else going on in the PC.
In principle this guarantees a constant flow of the frames.
In practice the frames might not be filled properly with data because some program simply hogs the CPU or the PCI.
Anti-virus polling the internet at high priority are a well-known example.
Synchronization
Isochronous transfer can be done with three possible types of synchronization in the USB audio device.
Synchronous
The clock driving the DAC is directly derived from the 1 kHz frame rate.
This mode was used by the early USB audio devices.
They were limited to 48 kHz and pretty jittery.
Adaptive
In this mode the clock comes from a separate clock
A control circuit (sample rate guesser) measures the average rate of the data coming over the bus and adjusts the clock to match that.
Since the clock is not directly derived from a bus signal it is far less sensitive to bus jitter than synchronous mode, but what is going on the bus still can affect it.
It’s still generated by a PLL that takes its control from the circuits that see the jitter on the bus.
This is the mode that most USB audio devices use today.
Asynchronous
In this mode an external clock is used to clock the data out of the buffer and a feedback stream is setup to tell the host how fast to send the data. A control circuit monitors the status of the buffer and tells the host to speed up if the buffer is getting too empty or slow down if it’s getting too full.
Since the readout clock is not dependent on anything going on with the bus, it can be fed directly from a low jitter oscillator, no PLL need apply.
This mode can be made to be very insensitive to bus jitter.
The warm reception in the audiophile world of asynchronous USB as developed and promoted by Wavelength inspired other brands to offer asynchronous USB DACs .
Asynchronous mode is not better by design but by implementation because you can implement a top quality (low jitter) clock in the DAC.
Things to look for
When buying a USB DAC always check the specs of the USB input.
A 24/192 DAC is indeed a 24/192 DAC but it might be combined with a 16/48 limited USB input.
If you can’t find the specs of the USB input, assuming it is 16/48 limited is a safe bet.
At the present I don’t see any reason to by a 16 bit USB DAC.
24 bits can be obtained at the same price.
Even if you don’t have 24 bit sources (might change in the near future) a 24 bit depth is beneficial when using digital volume control.
A well implemented asynchronous design probably beats an equally well implemented adaptive mode design. But a USB DAC is more than a synchronization mode only!