Electronics > Projects, Designs, and Technical Stuff

EMF pickup from amplifier in I2C line causing glitches. (Now with scope trace!)

(1/31) > >>

Starlord:
Hey guys,

I've got a problem with a circuit I designed.  The circuit features this amplifier:
http://www.ti.com/lit/ds/symlink/tpa3116d2.pdf
http://www.ti.com/lit/ug/slou341a/slou341a.pdf (Evalulation module)

And this LED driver:
https://ams.com/chi/content/download/.../AS1115_Datasheet_EN_v2.pdf

As well as several other I2C parts made by TI:
http://www.ti.com.cn/cn/lit/ds/symlink/tlc59116.pdf
http://www.ti.com.cn/cn/lit/ds/symlink/tca9539.pdf

The TI parts are working great.  The AMS part however is glitching like crazy.

After many many hours looking for bugs in my code, lowering the transmission speed, and enabling the internal pullups on the I2C lines to lower the resistance somewhat from the already low 2K resistors I'm using, I've determined the issue is that the 7' CAT5 cable I'm using, where I have the I2C data lines each twisted with a return ground, is picking up EMF interference from my speaker cables.

I determined this was the case, because:
- The issue goes away if I turn the volume all the way down, and comes back if I turn it up even slightly.
- The issue persists even if I connect only one wire from the speaker to the amplifier.
- The issue goes away if I increase the length of my speaker wires, and decreasing the length also seems to affect the amount of glitching.

I suspect the issue arose because I did not include any filtering on the output of my amplifier.  I didn't do this, because I have limited PCB space and I was trying to keep costs down so I didn't want to use a couple inductors and I wasn't sure how to choose a proper ferrite bead. 

This is my current schematic:
[link removed]

But I've been looking at ferrites and I've narrowed the selection down:
http://www.digikey.com/short/347180

I should mention that I have my amplifier set up in a mono BTL configuration, with a 12V supply, so the beads must be capable of handling around 40W into a 2 ohm load, ie 2-3A max.  I see Digikey lists both a max current rating and a DC resistance.  I assume those are related to one another and there's a number of beads rated for 3A or more.

The bit I'm not sure about is what the best impedance to select is.  TI had chosen a part for their EVM that was 90 ohms at 100MHz:
http://www.digikey.com/product-search/en?keywords=EXC-ELDR35C 

I see a couple ferrites that ate 80 and 120 ohms at 100MHz.  I guess those would be fine.  But what about those rated 600-785 ohms?  Too much?

The amplifier datasheet says to select one with a resonant frequency around 10MHz but I can't see any specs indicating resonate frequency in the datasheet. 

But comparing a 120 ohm bead to the 600 ohm bead, it looks like the 600 might be better.  At the low end where my audio frequencies would be they're about the same, but the one with the higher impedance looks like it would filter out higher frequencies better:
http://katalog.we-online.de/pbs/datasheet/742792023.pdf
http://katalog.we-online.de/pbs/datasheet/742792514.pdf

On page 21 of the amplifier datasheet it also states:

--- Quote ---Additional EMC improvements may be obtained by adding snubber networks from each of the class-D outputs to
ground. Suggested values for a simple RC series snubber network would be 18 ? in series with a 330 pF
capacitor although design of the snubber network is specific to every application and must be designed taking
into account the parasitic reactance of the printed circuit board as well as the audio amp. Take care to evaluate
the stress on the component in the snubber network especially if the amp is running at high PVCC. Also, make
sure the layout of the snubber network is tight and returns directly to the GND pins on the IC.
--- End quote ---

I'm hoping I won't need to go quite that far, and that the ferrite bead filter will be sufficient?

I was also thinking about testing this out with some through hole parts, or one or two of those little ferrite rings, if I can find one of them.  I had a few prototypes manufactured without this filter in place and I'd like to still be able to use those boards and testing before I have another prototype made to see if it will even fix the problem would be good.  If I did have one of those rings, is there some special requirement for them?  Or a specific number of turns I need to wind the cable around it?

Finally, is there any other solutions to this issue you might suggest?  Like, would it be wise to put decoupling caps from my I2C data lines to ground at each end of the cable, or would that screw up the data transmission?  I also considered the possibility of using shielded Cat5. If I did that, would I need to connect the shield to ground at both ends, or just at the main PCB where my power source is?  Should I add a resistor on series with the shield?  I'd rather not go this route because I'd have to buy new more expensive Cat5 cables and modify the design of one or both boards to add the shielded connectors, and I don't know if the shield would affect the I2C transmission.

moffy:
I2C is not meant to drive 7' of cable, it is meant for near connections of devices on a PCB. If you have got some parts working it is amazing. Because it is bidirectional and open collector I don't know how you could buffer it.
EDIT: Perhaps look at the TI chip: P82B715 I2C Bus Extender

Starlord:

--- Quote from: moffy on June 30, 2016, 12:12:47 am ---I2C is not meant to drive 7' of cable, it is meant for near connections of devices on a PCB. If you have got some parts working it is amazing. Because it is bidirectional and open collector I don't know how you could buffer it.

--- End quote ---

The I2C standard only specifies that cable capacitance must be below 200pF and even offers suggestions for how to run the signal through twisted pair: 
http://www.nxp.com/documents/user_manual/UM10204.pdf

A Cat5 cable is around 52pF per meter, and I have my signals twisted with ground returns, as suggested.

Also, there do exist ICs which are designed to convert it to a differential signal so that much longer runs can be achieved, but I figured as long as I kept within the specs, I was okay.  And I would be okay, if my amplifier weren't putting out ridiculous amounts of RF noise.

moffy:
"Also, there do exist ICs which are designed to convert it to a differential signal so that much longer runs can be achieved, but I figured as long as I kept within the specs, I was okay.  And I would be okay, if my amplifier weren't putting out ridiculous amounts of RF noise."

It's because it is susceptible to noise,i.e. 2k impedance and slow edges(cable capacitance), that it really isn't suitable for long runs of cable. You can't necessarily control the noise environment, but if you use low impedance differential drivers you are much less susceptible to noise.

Starlord:
Where do you get 2K impedance from?  Not questioning it, I genuinely don't understand.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod