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.pdfhttp://www.ti.com/lit/ug/slou341a/slou341a.pdf (Evalulation module)
And this LED driver:
https://ams.com/chi/content/download/.../AS1115_Datasheet_EN_v2.pdfAs well as several other I2C parts made by TI:
http://www.ti.com.cn/cn/lit/ds/symlink/tlc59116.pdfhttp://www.ti.com.cn/cn/lit/ds/symlink/tca9539.pdfThe 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/347180I 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.pdfhttp://katalog.we-online.de/pbs/datasheet/742792514.pdfOn page 21 of the amplifier datasheet it also states:
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.
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.