Wow, what interesting talk about i2s and Signal integrity. Let's see this dates back to...Aug, 2013!
that cant be right now, can it?
[h=2]Q&A with John Swenson. Part 2: Are Bits Just Bits?[/h]
By
Michael Lavorgna • Posted: Aug 28, 2013
ShareTweetEmailShareShare
image:
http://cdn.audiostream.com/images/styles/600_wide/public/82813js2_0.jpg?itok=ks7UQbMD
In
Part 1 of our Q&A, John Swenson covered "What is Digital?". You should consider that required reading for Part 2 since he builds on that foundation here. Part 1 also includes John's bio if you'd like to know more about him. Now let's get on with Part 2:
Can you explain how things other than "the bits" could have an effect on the analog output of a DAC?
First I’m going to go into some more detail on what I talked about last time, specifically, ramp times. Remember that the jitter caused by the ramp time is a combination of the threshold uncertainty and the ramp time. So it seems at first glance that you can decrease the jitter by having a faster ramp time. Unfortunately it doesn’t work that way.
The same amount of charge needs to be transferred no matter what the ramp time is. So if it takes one half the time, twice as much current has to flow. This causes the ground plane noise to increase, which increases the threshold uncertainty. Thus decreasing the ramp time doesn’t help.
"The result is that faster ramp times actually increase jitter."
It’s actually worse. If you run the “edge” through a Fourier transform (which converts the time domain into a frequency domain) you will see a large amount of very high frequency components. If you decrease the ramp time, those high frequency components increase. When those high frequency currents flow through the inductance in the ground plane they create an even greater voltage drop than already mentioned. The result is that faster ramp times actually increase jitter.
I covered this in detail to show how what seems obvious at first glance may not actually be true when you start dealing with jitter and ground plane noise.
So what about an asynchronous USB interface, isn’t it supposed to completely isolate the DAC from everything? Let’s look in detail at each part of the system and see what affects it.
Let’s start with the local oscillator, the “clock”. It turns out that almost all ultra low jitter oscillators are quite sensitive to ground plane and power supply noise. As the noise increases the jitter increases, and the spectrum of that extra jitter is directly related to the spectrum of the noise. This phenomenon is well known by many digital designers, so many will use decent low noise regulators with the clocks, but many don’t bother with that step, guaranteeing that the low jitter spec of the oscillator is going to be drastically compromised. Not only do you have to deal with the self generated noise of the regulator, but also its ability to block noise coming in on its input supply. Most regulators are very poor at this for high frequencies. This means that noise generated by the other logic elements on the board is going to sail right on through the regulators used in many DACs, causing jitter in the clock whose spectrum is highly correlated to what the rest of the board is doing. It IS possible to do a good job of providing low noise clean power to the clock, but it’s not easy and the designer really has to work at it.
And we still haven’t even talked about the ground plane! The noise on the ground plane is just as important to the jitter of the clock, but it doesn’t have a regulator, it just is what it is. If the clock is going to do what it is supposed to do, the ground plane it is connected to HAS to somehow be isolated from the noise generated by other parts of the circuit. I’ll go into this in detail later on.
So right at the beginning the clock itself is susceptible to influences outside itself in almost all implementations.
After the clocks (it takes two in most implementations) you need a clock mux, which again creates its own jitter from the ground plane noise caused by the return current going back to the clock. In order to decrease this jitter you need to make the ramp time of the clock slow, but not too slow. The adage here is “just fast enough to work in all circumstances”. That means you usually have to slow down the clock edges. Fortunately this is easy to do by just putting a resistor in series with the output. But just this simple little tweak is not done very often. And what about the mux itself? It needs to have the same treatment. Fortunately the designer has a large choice of possible muxes to choose from, some very fast edges and some very slow. As strange as it may seem frequently the best ones to use are the old slow technologies from decades ago. They lumber along with slow edge rates and internal transistors, creating very small amounts of noise. Since the clocks we are talking about here are very slow by modern standards, these old muxes work very well. But again, not many designers take the time to optimize that.
"Most modern DAC chips have a lot of stuff inside creating a lot of noise on the internal power and ground traces, which pretty much nullifies that ultra low jitter clock we are sending it."
Then the clock goes to the DAC chip. Most modern DAC chips have a lot of stuff inside creating a lot of noise on the internal power and ground traces, which pretty much nullifies that ultra low jitter clock we are sending it. This is probably why a large number of people have a hard time hearing differences caused by changes to things such as jitter and noise. The effects caused by them are being swamped by the jitter generated inside the chip.
A number of companies are realizing this and are using DAC chips where a lot of this internal processing can be turned off. This significantly cuts down on internal jitter, BUT it also makes it possible for external influences to be more noticeable. So now the jitter on the main clock fed into the DAC chip starts to be quite important since it’s not masked so much. An analogy might be the noise level in your listening room. Let’s say you have a fan running and you realize that it’s interfering with your enjoyment of the music. So you turn the fan off, expecting perfect quiet. But now you can hear the traffic outside, the kids playing down the street, the dog barking next door etc. Turning the fan off didn’t make these other noise sources louder, but now they are not masked so much and are more annoying. The same thing happens with DACs, as you get rid of one major source of jitter and noise, others now become obvious and they might be harder to get rid of.
Next let’s look at the other inputs to the DAC chip, such as the I2S signals. Those signals might have quite a bit of jitter depending on where they come from. Even though the main clock is supposed to be the arbiter of timing, these other inputs can also affect the internal timing. Each one of those signals has a return current back to wherever it came from, creating ground plane noise to the DAC chip. They also create noise on the internal chip traces from the transistors receiving those signals. All of this creates noise the chip sees whose spectrum is related to the spectrum of the jitter on the I2S signals. So not only is jitter on the master clock important, but so is jitter on the I2S signals. This is important to realize, jitter on ALL input signals to the DAC chip can modify the timing internal to the chip.
So in order to fix this jitter on the I2S signals we “reclock” them with a flip flop clocked by the master clock. BUT the signals going into the flop also cause ground plane noise with a spectrum related to the jitter on the inputs, AND some of the transistors inside the flop are also switching based on the input signals, adding to the ground plane noise correlated to the “jittery” inputs. So why bother reclocking? It DOES decrease jitter, it just doesn’t eliminate it. If the I2S signals have quite a bit of jitter, the reclocking can cut it down by quite a bit, but there is STILL jitter on the output that is correlated to the input jitter AND there is noise on the ground plane related to the input signals that can influence the clock, clock mux, and DAC chip. So while reclocking can help, it is not a panacea.
So now the crux of the matter, how can what goes into the USB receiver affect any of this? In several ways: packet jitter, edge jitter, PLLs. I’ll go over each of these.
Packet jitter is the difference in the arrival time of packets to the receiver chip. USB packets are transmitted over the bus at either 1000 per second (full speed mode) or 8000 per second (high speed mode). Every time one of those packets hits the receiver a lot of activity happens inside the receiver chip. This creates lots of noise inside the chip and on the ground plane. This causes a lot of jitter on the outputs from the chip. The spectrum of this noise and jitter has a VERY strong component at either 1KHz or 8KHz, both of which are directly in the audio range. Any changes in the arrival time of the packets will change the spectrum of this packet noise. In the next installment I’ll cover what causes this packet jitter.
"As with everything else I have been talking about, jitter on the input can cause noise in the chip and on the ground plane that is related to the spectrum of the jitter. This is where things like different cables can have an effect on what is happening."
Next is edge jitter, this is traditional jitter of the individual edges on the bus. As with everything else I have been talking about, jitter on the input can cause noise in the chip and on the ground plane that is related to the spectrum of the jitter. This is where things like different cables can have an effect on what is happening.
Next is PLLs. Every USB receiver chip has at least one if not more PLLs. These PLLs are affected by both the previous types of jitter and since almost all the circuitry inside the chip is clocked by these PLLs, the jitter on output signals and ground plane noise is going to be significantly affected by the noise spectrum coming out of the PLLs. This is filtered by the PLL loop filter, but there are still major components related to the input jitter.
So how do we keep all this noise from the USB receiver from getting to our sensitive DAC circuits? It’s called ground plane isolation. You have separate ground planes for the USB receiver and the rest of the DAC circuitry. This DOES prevent ground plane noise from crossing over. BUT if you cut the ground plane there is no way for the return current from the signals crossing the boundary (the I2S signals and clock etc) to get between the “ground domains”. The solution is digital isolators. There are many different technologies to choose from, one most people are familiar with is opto-couplers. Some of these actually add huge amounts of jitter to the signals going through them so are bad choices for our purposes.
A signal from the receiver now has a return current coming from the isolator so it’s happy. On the other side of the boundary there is a return current to the DAC circuitry so it is happy. BUT any jitter on the signal coming out of the isolator is STILL creating ground plane noise with a spectrum related to the jitter it had on the other side of the isolator. In addition it is containing jitter related to the isolation scheme as well, and some of THAT jitter is ALSO related to noise on the ground plane on the receiver side.
So again the ground plane isolation and signal isolators can decrease the jitter and noise going from the USB receiver to the DAC circuits, BUT they cannot eliminate it. Some always gets through.
"So why even bother with asynchronous USB? Because it DOES help a lot."
So why even bother with asynchronous USB? Because it DOES help a lot. With adaptive USB the clock feeding the DAC chip comes out of the USB receiver with all the rather large amount of noise and jitter already discussed. With async the DAC chip clock does come from a local oscillator, so even though it is affected by the noise from the USB receiver through the mechanisms outlined above, it is still WAY better than what you get out of an adaptive receiver.
You are very much in the scenario I listed above—you have gotten rid of one very large amount of noise, but without it, the affects from other sources are now easily heard. This does not mean the first step was worthless, just not sufficient to completely get rid of it.
Now for some general observations on existing DACs out there “in the wild”. Everything I have discussed here is known. This is not anything new. BUT the number of designers that are familiar with all of this and know how to deal with it are very few. The result is that DACs that deal well with all of these issues are essentially non-existent. Various designers have implemented parts of this in varying degrees, thus there is going to be a wide variation in how different DACs respond to different influences. The upshot is that in the real world of actual DAC implementations there WILL be changes in sound with what is going on outside the DAC box, but it is going to be different for every box, making generalizations about how to make things sound the best, VERY difficult.
Read more at
Q&A with John Swenson. Part 2: Are Bits Just Bits? | AudioStream