Noise in ADC

Status
Not open for further replies.
I have built a 16-bit ADC around the Wolfson WM8782 and am getting a buzzing noise which I believe is RF noise coming from a 2.4 GHz TX on the same board. They share the same regulator with star routing to a separate 0 ohm resistor on a 2 layer PCB. The ADC is built per the datasheet in terms of layout and components but has a nice -74 dB buzz starting at around 360 Hz and going up to around 4.1K at -95 dB. Is there anything I can do to shunt the noise to ground aside from the bypass caps I've already employed?

I have a companion DAC on another board which does not exhibit this noise despite also having a 2.4 GHz radio on board as well.
 

Attachments

  • ADC.gif
    ADC.gif
    18.3 KB · Views: 270
  • ADC_Noise_Floor_w_labels.gif
    ADC_Noise_Floor_w_labels.gif
    45.6 KB · Views: 255
First, I am not an ADC expert.

I don't know if this is directly-related to your problem, but why are those bypass caps "10 uF Poly"? It seems like you would want to use electrolytics, there, so that they have a rather-high ESR, to damp things out. Or maybe add some Ohms in series with your poly caps. Likewise, the 0.1 uF should not be low-ESR, like film or C0G/NPO ceramic. I think you would want to use the cheaper ceramics, there, if you're not already.

You should probably also try a small resistance (say less than 100 Ohms), or a ferrite bead, upstream of the 10uF/0.1uF caps, to create better low-pass filters for the power. And are the caps connected right at the power pins, as they should be?

What is upstream of those 220 pF caps to ground? Can you add a small resistance ahead of them, to ensure that they filter RF?

It's hard to say much, without seeing the layout and maybe a full schematic. But you also don't want the ground returns for your ADC inputs to share any part of a ground returning any RF (or anything else, for that matter).

If it turns out to be in the power rails, you could probably just put an RF choke (inductor) in each of them, just upstream from the 10uF/0.1uF.
 
Last edited:
I don't know if this is directly-related to your problem, but why are those bypass caps "10 uF Poly"? It seems like you would want to use electrolytics, there, so that they have a rather-high ESR, to damp things out. Or maybe add some Ohms in series with your poly caps. Likewise, the 0.1 uF should not be low-ESR, like film or C0G/NPO ceramic. I think you would want to use the cheaper ceramics, there, if you're not already.

The caps are poly because the manufacturer calls for very low ESR caps and suggested poly aluminum caps. The .1 uF caps are X7R ceramic.

You should probably also try a small resistance (say less than 100 Ohms), or a ferrite bead, upstream of the 10uF/0.1uF caps, to create better low-pass filters for the power. And are the caps connected right at the power pins, as they should be?

I will see about adding a 100 resistor there. If I go with a bead, is the frequency critical? Should I select one as close as possible to 2.4 GHz?

What is upstream of those 220 pF caps to ground? Can you add a small resistance ahead of them, to ensure that they filter RF?

I guess I could try adding 100-200 ohms there although it will throw off my gain a little bit I think. I can always adjust the other resistor if needed.

you also don't want the ground returns for your ADC inputs to share any part of a ground returning any RF (or anything else, for that matter).
In this case they are. I've heard as many bad things about split grounds as good. The TX and ADC are separated by about an inch of PCB though.

If it turns out to be in the power rails, you could probably just put an RF choke (inductor) in each of them, just upstream from the 10uF/0.1uF.

Again, is the frequency critical? None I've seen even go close to 2.4 GHz. Do I want to select one that is close to the interference frequencies (300 Hz to 4 KHz)? I've not seen any that go that low either.

Thanks,
Stuart
 
in wolfson's adc (like all advanced codecs) configuring codec right and reading data in specific time is crucial other wise you have lots of distortion (like buzzing noises like you descriped earlier) if you play some dance/techno music and you can hear bass beating with distortion/ buzzing then it's most likely configuring or reading problem. hard to say coz i don't know how you are configuring device or reading data from it .
 
The caps are poly because the manufacturer calls for very low ESR caps and suggested poly aluminum caps. The .1 uF caps are X7R ceramic.

I will see about adding a 100 resistor there. If I go with a bead, is the frequency critical? Should I select one as close as possible to 2.4 GHz?

I don't know how much current your ADC chip needs, or how much lower the voltage is allowed to go. 100 Ohms might not be too much. You might have to experiment (see farther below). 33 Ohms might be good. Not sure about the bead specs. Sorry

I guess I could try adding 100-200 ohms there although it will throw off my gain a little bit I think. I can always adjust the other resistor if needed.

f(-3dB) = 1/(2*Pi*R*C). If R = 100 Ohms, with 220 pF, you'd get f(-0.1dB) at about 1.1 MHz, f(-1dB) at about 3.7 Mhz, and f(-3dB) at about 7.2 MHz. With 200 Ohms, those frequencies would be cut in half, and so on. If it turns out that filtering is needed, there, maybe you could see if the capacitance could be increased. If you're converting audio, go as low as you can without cutting into the bandwidth you need, by too much.

In this case they are. I've heard as many bad things about split grounds as good. The TX and ADC are separated by about an inch of PCB though.

I don't know what could be bad about splitting grounds, whether they're analog and digital, high and low frequency, or large and small signals/currents. I've never heard anything good about running them together, and plenty of bad things about that. One major problem is that the currents in a ground conductor induce voltages across the conductor's distributed inductance and resistance, V=L(di/dt) and V=IR. The di/dt is the rate-of-change of the current. So if you have any fast current edges or other fast changes in current (which you probably do, with 2.4 GHz signals, as well as with digital edges), the induced voltages can be relatively large. Those voltages are presented back toward the "non ground" end of the ground conductor. If one of those points is, for example, the ground reference side of an input resistor, then those induced voltages add, arithmetically, to that input's voltage!

If it comes down to it, you could try cutting the ground returns from the ADC inputs ground references, and running separate wires. [Another idea, in case nothing else works: Make a PCB that's all ground plane, maybe with a slot between the 2.4 GHz and ADC ground areas, and bolt it on under the existing board, with spacers, and solder ground wires between the two, and cut most of the ground traces on the main board. You could make the ground-plane PCB yourself, easily and quickly, with a Dremel-type tool and a drill.]

Having the ADC and the 2.4 GHz transmitter so close together might be a problem, too, depending on the layout. I would probably be ready to try RF filters at every ADC pin, if possible, including inputs, power, outputs, etc. Any pin that doesn't like pure capacitance on it could have an RCR "T" filter, with the C to gnd between two resistors. The filters should be as close as possible to the chip's pins, e.g. within a millimeter if possible, for the C to gnd. That goes for the power supply bypass caps, as well. Note: Filter ground returns should run separately from input ground references' ground-return traces. Traces should be kept short, and not run in parallel with nearby 2.4 GHz traces. You might also have to consider a grounded metal shield or box covering the RF portion, or maybe if you're lucky just a "wall" between the two sections.

Again, is the frequency critical? None I've seen even go close to 2.4 GHz. Do I want to select one that is close to the interference frequencies (300 Hz to 4 KHz)? I've not seen any that go that low either.

The inductor in the power traces would be forming an LC low-pass filter with the bypass caps. So you would want the cutoff frequency as low as you can get it, without causing other problems. Unless you need more than about 73dB of filtering, beyond 1 MHz, a 220 Ohm resistor would be about as good as a 220 Ohm R plus a 1000 uH inductor. 220 Ohms would give f(-3dB) of about 71.5 Hz, and would be 10 dB down by around 215 Hz. 100 Ohms would give you -3dB at about 157 Hz and -10dB by around 472 Hz. 33 Ohms would give -3dB around 477 Hz and -10dB around 1.43 kHz. I would probably try to use the minimum resistance that worked.

If you need to also use an inductor (i.e. if you need it more than 73 dB down after 1 MHz), then you would also need a resistor in series with the inductor, to damp the resonant peak that it would form with the caps. With your 10 uF film and 0.1 uF X7R caps, it looks like a 100 uH inductor and a resistor of 4.7 Ohms or higher should work. With 22 Ohms, you'd get f(-3dB), i.e. half power, at about 888 Hz, and would be 10 dB down (1/10th power) by around 2.17 kHz. With 100 Ohms, the f(-3dB) would be about 157 Hz, and f(-10dB) would be around 472 Hz. Filtering would increase by about 20 dB per decade of frequency, giving about -82 dB at 1 Mhz, about -122 dB at 100 Mhz, and about -150 dB at 2.4 GHz (for the 100 Ohm case).

Again, I don't know how much current would be drawn by your ADC, or how much voltage drop your ADC could tolerate. But if you knew the average current then you could calculate the voltage lost across a resistor and might have to limit the value of the resistor.

I would try to test one type of change at a time, probably starting with the easiest or cheapest or least destructive.

If you had a good oscilloscope with good probes, it would probably help a lot, in deciding what needed to be tried first.

Edit: Just saw fzaad's post. I sure hope that that's your problem, so you don't have to worry about any of this other stuff!
 
Last edited:
I wanted to update you guys on the project.

Just saw fzaad's post. I sure hope that that's your problem, so you don't have to worry about any of this other stuff!

No I definitely have it configured properly. I know what sort of noises incorrectly configured interface settings make and this isn't it. BUT, it does seem to be power-related. I've tamed the noise to an acceptable -94 dBFS by connecting the PA to a separate onboard LDO that I piggy packed onto the single on that was there.

I would guess I could achieve closer to spec if I separated the grounds as you suggest, provided I don't make things worse. The rub here is that the audio input jack is a combination mini-optical jack which by design carries both analog and digital signals. To read the state of the jack so the device is aware of what is plugged in, the digital and analog grounds must connect through the jack to each other. So if I had a split ground that meets under the ADC, there would be a second path at the jack which could then lead to stray currents and noise. There must be a way to use these with split grounds but I have not seen such an implimentation. Any ideas?

Thanks,
Stuart
 
It's late and I'm not thinking overly-clearly, right now (although not terribly Everclear-ly, either). But I will take a few stabs at it. I hope I don't end up running you around in the wrong directions.

Well, maybe you could run a separate combined digital+audio ground for just that input jack, if necessary. Then, or maybe instead, separating the rest of the power, signal, and digital grounds might be enough (Or, actually, probably just one nasty one is the main culprit. Figuring out which one might save a ton of trial and error.).

It can help to try to analyze where each of the currents actually needs and wants to go. Just as an example, sometimes (maybe even usually, for all I know), the power pin decoupling capacitor's ground, for an amplifier chip, should be tied to the load ground, rather than being run all the way back to the star ground point first. So think about where all of the different currents SHOULD go, and the best routes for them to take, and never let any nasty ones run in the same conductive path with any sensitive ones.

I'd worry first and most about any sensitive input pins' grounds, and making sure that they don't share any conductor-length at all with any type of "dirty" or high-current or fast-changing-current ground, either digital or analog. You could also try elevating any sensitive ground return slightly above the main "ground" voltage (which might be noisy), with a small-value resistor (maybe 10 Ohms or so) between it and the star ground point.

Also keep in mind that it's still possible that it's a "radiated" type of coupling that's occurring, somewhere, rather than a shared-ground-return problem. It could be a "radiated and received" thing, with traces or wires acting like antennas, or, very similarly, it could be capacitive coupling between conductors (and/or devices) that are too close to each other.

A related phenomenon involves "enclosed loop areas" that are within, or are impinged upon by, changing electromagnetic or magnetic fields, which tend to induce currents in them. So, for example, a pair of conductors that are the + and - for an input (e.g. an input and its corresponding ground return) should be kept extremely close together, so that they don't enclose any more area than is absolutely necessary. If they were actual wires, you would want to tightly twist them together. The same goes for power supply + and - traces and wires, and also for AC supply wires (but for a slightly different reason).

If you had a good oscilloscope, it might help you find out where the noise is coming from, and going to, etc.

Have you tried touching various pins, with your finger tip, while the circuit was operating? Sometimes that can give valuable clues. But make sure that there are no hazardous voltages nearby!

Good luck. Keep us posted.

Tom
 
Status
Not open for further replies.