Jump to content

Q to Gordon R -- USB data transport sequence of events

Recommended Posts

a question for Gordon, who seems to have a good understanding of USB data transport protocol and procedure (me, I'm a dsp, semiconductor, systems design and wireless guy -- I know my knowledgebase limitations):


Gordon, as we know there are folk who are making (rather unsubstantiated) claims that a given user software application (ie iTunes under OS X on a Mac) can create jitter on an external bus ie on USB.


I'm sure there s a rather obvious sequence of events from iTunes accessing stored audio data, to presenting that data to a particular output subsystem for a computer (ie buffering) to USB controller access and ships out data over USB interface etc etc..


this post just showed up on head-fi in an entertaining thread about Amarra: http://www.head-fi.org/forums/f46/amarra-anyone-using-428550/index3.html#post5758808 ; specific text states


/begin quoted head-fi post text



Originally Posted by cerbie


1) What "jitter" does iTunes add? It takes data, decodes it, and sends it to be buffer well before it is needed. There's no place for jitter to be introduced. Now, if it can't always get the data out in time, then there may be other latency problems. But, if that's the case, how can it do that, and also succeed at providing bit-perfect output? A paradox, have we?.....



The possible explanation can be...


Data is sent over the USB in bursts. The burst profile ie the length of the burst and duration between the burst can change based on the SW which manages these bursts or even what runs on the computer can affect this burst profile. The audio clock recovery inside the dacs uses this burst profile to recover the audio clock, so that it tracks the rate of the incoming stream.

Most probably this is the way a different SW causes different jitter spectrum on the audio clock. Now changes in the burst profile may not cause pathological failures like dropouts but still change the jitter of the audio clock.


/end quoted head-fi post text



Gordon, can you comment on this (esp the "even what runs on the computer" statement), and perhaps in doing so present a brief overview of the sequence of events when data is accessed from storage and shipped out over USB? I'm simply trying to understand all angles which might allow people to claim that different applications software can cause jitter on an external hardware interface?


thank you




edit: spelling




Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...