USB transfer modes has received a lot of interest and attention recently and “Asynchronous DAC’s” has been praised and hyped for it’s superior performance. However there seems to be a lot of confusion around asynchronous USB Audio.
There is a good and explaining article at EDN network about USB Audio.
Here’s a short explanation:
There are 4 types of USB transfers,: Isochronous, Interrupt, Control and Bulk
Bulk transfer is used for other types of USB devices like harddrives etc. USB Audio uses isochronous, interrupt and control transfers. All audio data is transferred over isochronous transfers. Interrupt transfers are used to relay information regarding the availability of audio clocks; control transfers are used used to set volume, request sample rates, etc.
Illustration from https://www.edn.com/
In audio we need to maintain a constant flow of data to keep the music playing continuously without any stops. Isochronous transfers provides a guaranteed bandwith and give priority above any other USB transfers. For example if you are making backup copies to your external hard drive, the data stream going to the DAC would have priority over the data sent to the hard drive.
When sending the data (music), to the DAC, the time needs to be defined. We know how many samples should be played pr second, but how long is a second?
This is where the master clock comes into play. Normally the computer (host) controls the master clock defining the second. this is called synchronous transfer.
Asynchronous transfer is when we include another oscillator (clock) into the external DAC and make this the master clock. The master clock is then moved away from noise sources in the computers (CPU etc) which avoids jitter(noise) to be added to the USB signal. It also makes it possible to use more suited and high end oscillators as master clock than those on the computer motherboard.
Adaptive transfer means that the data flow controls the timing. This avoids having to use additional oscillators and greatly improves the performance compared to synchronous transfer.
Short summary:
- With Asynchronous transfer the DAC controls the timing
- In synchronous the computer controls the timing
- In Adaptive transfer the timing is controlled by the data flow
References:
https://www.edn.com/design/consumer/4376143/Fundamentals-of-USB-Audio
https://www.usbmadesimple.co.uk/ums_1.htm
This was interesting piece of information. On this adaptive asynchronous mode how big role the host’s USB and other clock jitter qualities play. I mean is the adaptive asynchronous DAC still dependent on the host regarding how jittery the audio output will be?
Being owner of the mentioned 9018 DAC, I’ve noticed a difference when listening music using a Microsoft Surface 2 (RT) as a player and then a Raspberry Pi B+. I cannot tell the difference on sound quality except that I get listening fatigue using RasPi. What could explain the difference?
Thanks for your message! We didn’t see it until now, so here is finally a delayed response.
Adaptive mode is one of the common ways of transferring data over USB. Here is a link to an explaining article:
http://www.soundstagehifi.com/index.php/component/content/article?id=324:understanding-digital-music-usb-audio-transfer-methods
Our Sabre 9018 DAC works in the mentioned “adaptive asynchronous” mode, where there is a separate oscillator clocking the DAC chip, while USB is still transferred in adaptive mode.
In all DACs there are many aspects affecting sound quality. Some have a bigger impact on sound quality, while other can have a big impact on sound quality in one design, and smaller in another design. Asynchronous USB has become a very popular sales point for DACs as it’s easy to explain what it does, and it is a good feature, no doubt in that. We just found that some of the other changes and improvements we did with the Sabre 9018 had a bigger impact on sound, so we chose the design that gave the best value.
+1. Can you answer Roberto’s question please ? I look forward reading your answer.
Hi,
I’ve just discovered HiFimediy.com and I think it is a really cool portal, congrats!
I’ve read carefully (I mean, at my best) this post about USB modes, I liked it, but there are two points not clear to me.
First: what does it mean “the timing is controlled by the data flow” in the case of the adaptive mode?
When you write “the clock is on the DAC’s side” or “the clock is on the host’s side” it is clear who answers the question “how long is a second”: one clock or the other.
But who says how long is a second in the adaptive mode? How can “the data flow” contain that information?
Second: it seems to me that the asynch mode is the best approach, since it does not rely on the host’s clock, that could be of low quality.
Though, in the description of your product “HiFime Sabre 9018 USB DAC” you state: “After careful experimentation we have chosen USB adaptive mode for this DAC”. Does it mean that you’ve gone for a good compromise or that you have actually registered the best performance through that mode respects to the others?
Thank you in advance for your attention and for the great job you’ve done!