Forums

I2C noise into the audio signals

Started by Unknown December 9, 2013
On Mon, 9 Dec 2013 09:13:17 -0800 (PST), George Herold
<gherold@teachspin.com> wrote:

>On Monday, December 9, 2013 11:28:48 AM UTC-5, Robert Macy wrote: >> On Mon, 09 Dec 2013 09:05:59 -0700, <markjsunil@gmail.com> wrote: >> >> > We have TDA7719 audio processor and OLED display connected to the same >> > I2C bus as I2C slaves. Both the devices are driven by MCU which is I2C >> > master. After TDA7719 is initialized with I2C for input selection and >> > volume, it starts working. The MCU keeps refreshing the display by >> > continuously writing data to the display through the same I2C bus. This >> > I2C noise is getting coupled into the audio signals and I can hear the >> > rhythmic noise from the speakers proportionate to the display >> > refreshing. If the display is paused the noise also pauses. >>> >> > What could be the issue? Appreciate any help. >> > >> > Both MCU and TDA7719 are powered by separate regulators. Input to the >> >> > TDA is from MCU which has built in DAC. Problem in the audio source from >> >> > MCU+DAC is already ruled out as direct connection to the amplifier >> >> > bypassing TDA is outputting clean audio output. >> > >> > Thanks >> > markj >> >> wow, a FUN project! >> >> Do you know the magnitude of the sound? Are you hearing 60dB down, or >> 80dB down? Could be 'GND' noise coupling in. The 'exra' demand of the >> power could be shifting the gnds out from under your audio stuff. >> If you provide an email address I can send a .zip file to, I'll send you a >> sample of the results of a PCB Layout Tool I created to solve those EXACT >> problems. [gmail accounts seem to reject a .zip file and never tell >> anyone] The tool was created during the design of seismic monitoring >> electronics and the gnd noise was kept to less tha 1/4 LSB. Also did a lot >> of work to make ALL the power filters lossy over their WHOLE bandwidth, >> even into the GHz ranges. We're talking about a filter that looks like a >> huge series resistance and a short to gnd. A lot of people don't notice >> that most of the filters 'recommended' by the mfgr actually go into high >> impedance at certain spectral locations. That translates to having >> absolutely NO bypass at those tones. For example, bypass down to 0.1 ohm >> >> great!, but most of those filters at some frequency suddenly go to 10 and >> >> even 100 ohms. No problem *if* you have no frequencies there, but a big >> >> problem if you do! Put a scope probe on your power and you'll see 'ringy' >> waveforms, that's the effect. >> Another place to look is magnetic fields coupling across traces. MagFields >> >> are INSIDIOUS! Your scope will barely show them, yet they can induce >> >> audible stuff everywhere. >> >> then there's the AM modulated HF that gets rectified somewhere, too. >> >> I'm probably preaching to the choir on all this. Right now, I'd go forthe >> GND shifting. >Isn't the obvious path via the I2C wires? I was wondering if the I2C speed could be slowed down (for the audio IC).. and then add some RC filters on the I2C input wires. Then see if that reduced the interference. (or is that a silly idea?) > I guess the first job is to figure out how it's getting in.
Right. Short the input and see if the noise is still there. Then use an external supply for the TDA. Then...
>George H.
On Tuesday, December 10, 2013 5:09:27 AM UTC+5:30, k...@attt.bizz wrote:
> On Mon, 9 Dec 2013 09:13:17 -0800 (PST), George Herold > > <gherold@teachspin.com> wrote: > > > > >On Monday, December 9, 2013 11:28:48 AM UTC-5, Robert Macy wrote: > > >> On Mon, 09 Dec 2013 09:05:59 -0700, <markjsunil@gmail.com> wrote: > > >> > > >> > We have TDA7719 audio processor and OLED display connected to the same > > >> > I2C bus as I2C slaves. Both the devices are driven by MCU which is I2C > > >> > master. After TDA7719 is initialized with I2C for input selection and > > >> > volume, it starts working. The MCU keeps refreshing the display by > > >> > continuously writing data to the display through the same I2C bus. This > > >> > I2C noise is getting coupled into the audio signals and I can hear the > > >> > rhythmic noise from the speakers proportionate to the display > > >> > refreshing. If the display is paused the noise also pauses. > > >>> > > >> > What could be the issue? Appreciate any help. > > >> > > > >> > Both MCU and TDA7719 are powered by separate regulators. Input to the > > >> > > >> > TDA is from MCU which has built in DAC. Problem in the audio source from > > >> > > >> > MCU+DAC is already ruled out as direct connection to the amplifier > > >> > > >> > bypassing TDA is outputting clean audio output. > > >> > > > >> > Thanks > > >> > markj > > >> > > >> wow, a FUN project! > > >> > > >> Do you know the magnitude of the sound? Are you hearing 60dB down, or > > >> 80dB down? Could be 'GND' noise coupling in. The 'exra' demand of the > > >> power could be shifting the gnds out from under your audio stuff. > > >> If you provide an email address I can send a .zip file to, I'll send you a > > >> sample of the results of a PCB Layout Tool I created to solve those EXACT > > >> problems. [gmail accounts seem to reject a .zip file and never tell > > >> anyone] The tool was created during the design of seismic monitoring > > >> electronics and the gnd noise was kept to less tha 1/4 LSB. Also did a lot > > >> of work to make ALL the power filters lossy over their WHOLE bandwidth, > > >> even into the GHz ranges. We're talking about a filter that looks like a > > >> huge series resistance and a short to gnd. A lot of people don't notice > > >> that most of the filters 'recommended' by the mfgr actually go into high > > >> impedance at certain spectral locations. That translates to having > > >> absolutely NO bypass at those tones. For example, bypass down to 0.1 ohm > > >> > > >> great!, but most of those filters at some frequency suddenly go to 10 and > > >> > > >> even 100 ohms. No problem *if* you have no frequencies there, but a big > > >> > > >> problem if you do! Put a scope probe on your power and you'll see 'ringy' > > >> waveforms, that's the effect. > > >> Another place to look is magnetic fields coupling across traces. MagFields > > >> > > >> are INSIDIOUS! Your scope will barely show them, yet they can induce > > >> > > >> audible stuff everywhere. > > >> > > >> then there's the AM modulated HF that gets rectified somewhere, too. > > >> > > >> I'm probably preaching to the choir on all this. Right now, I'd go forthe > > >> GND shifting. > > >Isn't the obvious path via the I2C wires? I was wondering if the I2C speed could be slowed down (for the audio IC).. and then add some RC filters on the I2C input wires. Then see if that reduced the interference. (or is that a silly idea?) > > > I guess the first job is to figure out how it's getting in. > > > > Right. Short the input and see if the noise is still there. Then use > > an external supply for the TDA. Then... > > > > >George H.
shorted the inputs and noise is still there. It already has separate regulator but the power source is same for both MCU regulator and TDA regulator. I will try with 2 separate power sources.
On Mon, 9 Dec 2013 17:24:35 -0800 (PST), markjsunil@gmail.com wrote:

>On Tuesday, December 10, 2013 5:09:27 AM UTC+5:30, k...@attt.bizz wrote: >> On Mon, 9 Dec 2013 09:13:17 -0800 (PST), George Herold >> >> <gherold@teachspin.com> wrote: >> >> >> >> >On Monday, December 9, 2013 11:28:48 AM UTC-5, Robert Macy wrote: >> >> >> On Mon, 09 Dec 2013 09:05:59 -0700, <markjsunil@gmail.com> wrote: >> >> >> >> >> >> > We have TDA7719 audio processor and OLED display connected to the same >> >> >> > I2C bus as I2C slaves. Both the devices are driven by MCU which is I2C >> >> >> > master. After TDA7719 is initialized with I2C for input selection and >> >> >> > volume, it starts working. The MCU keeps refreshing the display by >> >> >> > continuously writing data to the display through the same I2C bus. This >> >> >> > I2C noise is getting coupled into the audio signals and I can hear the >> >> >> > rhythmic noise from the speakers proportionate to the display >> >> >> > refreshing. If the display is paused the noise also pauses. >> >> >>> >> >> >> > What could be the issue? Appreciate any help. >> >> >> > >> >> >> > Both MCU and TDA7719 are powered by separate regulators. Input to the >> >> >> >> >> >> > TDA is from MCU which has built in DAC. Problem in the audio source from >> >> >> >> >> >> > MCU+DAC is already ruled out as direct connection to the amplifier >> >> >> >> >> >> > bypassing TDA is outputting clean audio output. >> >> >> > >> >> >> > Thanks >> >> >> > markj >> >> >> >> >> >> wow, a FUN project! >> >> >> >> >> >> Do you know the magnitude of the sound? Are you hearing 60dB down, or >> >> >> 80dB down? Could be 'GND' noise coupling in. The 'exra' demand of the >> >> >> power could be shifting the gnds out from under your audio stuff. >> >> >> If you provide an email address I can send a .zip file to, I'll send you a >> >> >> sample of the results of a PCB Layout Tool I created to solve those EXACT >> >> >> problems. [gmail accounts seem to reject a .zip file and never tell >> >> >> anyone] The tool was created during the design of seismic monitoring >> >> >> electronics and the gnd noise was kept to less tha 1/4 LSB. Also did a lot >> >> >> of work to make ALL the power filters lossy over their WHOLE bandwidth, >> >> >> even into the GHz ranges. We're talking about a filter that looks like a >> >> >> huge series resistance and a short to gnd. A lot of people don't notice >> >> >> that most of the filters 'recommended' by the mfgr actually go into high >> >> >> impedance at certain spectral locations. That translates to having >> >> >> absolutely NO bypass at those tones. For example, bypass down to 0.1 ohm >> >> >> >> >> >> great!, but most of those filters at some frequency suddenly go to 10 and >> >> >> >> >> >> even 100 ohms. No problem *if* you have no frequencies there, but a big >> >> >> >> >> >> problem if you do! Put a scope probe on your power and you'll see 'ringy' >> >> >> waveforms, that's the effect. >> >> >> Another place to look is magnetic fields coupling across traces. MagFields >> >> >> >> >> >> are INSIDIOUS! Your scope will barely show them, yet they can induce >> >> >> >> >> >> audible stuff everywhere. >> >> >> >> >> >> then there's the AM modulated HF that gets rectified somewhere, too. >> >> >> >> >> >> I'm probably preaching to the choir on all this. Right now, I'd go forthe >> >> >> GND shifting. >> >> >Isn't the obvious path via the I2C wires? I was wondering if the I2C speed could be slowed down (for the audio IC).. and then add some RC filters on the I2C input wires. Then see if that reduced the interference. (or is that a silly idea?) >> >> > I guess the first job is to figure out how it's getting in. >> >> >> >> Right. Short the input and see if the noise is still there. Then use >> >> an external supply for the TDA. Then... >> >> >> >> >George H. > >shorted the inputs and noise is still there. It already has separate regulator but the power source is same for both MCU regulator and TDA regulator. I will try with 2 separate power sources.
Can you disconnect I2C from the device?
Vladimir Vassilevsky wrote:
> On 12/9/2013 10:05 AM, markjsunil@gmail.com wrote: >> We have TDA7719 audio processor and OLED display connected to the >> same I2C bus as I2C slaves. Both the devices are driven by MCU which >> is I2C master. >> I can hear the rhythmic noise from the speakers proportionate to the >> display refreshing. If the display is paused the noise also pauses. >> >> What could be the issue? Appreciate any help. > > Typical design mistake. >
Nah, let's call it slightly suboptimal :-)
> Don't run active communication at, to, or near analog processing ICs. > Run control I2C from separate I2C port or at least isolate I2C by > 3-state buffer or multiplexer. >
Seconded. That is most likely the only way to make the noise go away in this case.
> Slowing I2C edges, splitting power/ground may help to some extent; > however the right solution is changing design to isolate I2C. >
In the audio spectrum it will not help because you can't round them this much. -- Regards, Joerg http://www.analogconsultants.com/
On Mon, 9 Dec 2013 08:05:59 -0800 (PST), markjsunil@gmail.com wrote:

>We have TDA7719 audio processor and OLED display connected to the same I2C bus as I2C slaves. Both the devices are driven by MCU which is I2C master. After TDA7719 is initialized with I2C for input selection and volume, it starts working. The MCU keeps refreshing the display by continuously writing data to the display through the same I2C bus. This I2C noise is getting coupled into the audio signals and I can hear the rhythmic noise from the speakers proportionate to the display refreshing. If the display is paused the noise also pauses. > >What could be the issue? Appreciate any help.
My first reaction is to look for common paths (PCB tracks or wires) for both audio ground and digital ground. Some digital noise in the 300-6000 Hz frequency range could be easily heard 60-80 dB down from the analog audio signal. Thus, any digital signal that causes a microvolt voltage drop in the common ground paths can be audible.
On Mon, 09 Dec 2013 17:40:02 -0800, Joerg <invalid@invalid.invalid>
wrote:

> >> Slowing I2C edges, splitting power/ground may help to some extent; >> however the right solution is changing design to isolate I2C. >> > >In the audio spectrum it will not help because you can't round them this >much.
One way to get rid of any digital intrusions into analog signals is to make sure that the digital signal does not contain loooong sequences of "1" or "0", which could create frequency components below 20 kHz. Manchester coding etc. could help a lot.
On Monday, December 9, 2013 8:24:35 PM UTC-5, markj...@gmail.com wrote:
> On Tuesday, December 10, 2013 5:09:27 AM UTC+5:30, k...@attt.bizz wrote: > > On Mon, 9 Dec 2013 09:13:17 -0800 (PST), George Herold > > <gherold@teachspin.com> wrote: > > >On Monday, December 9, 2013 11:28:48 AM UTC-5, Robert Macy <snip>
> > >Isn't the obvious path via the I2C wires? I was wondering if the I2C =
speed could be slowed down (for the audio IC).. and then add some RC filte= rs on the I2C input wires. Then see if that reduced the interference. (or= is that a silly idea?)
> > > I guess the first job is to figure out how it's getting in.=20 > >=20 > >=20 > >=20 > > Right. Short the input and see if the noise is still there. Then use > >=20 > > an external supply for the TDA. Then... =20 >=20 >=20 > shorted the inputs and noise is still there. It already has separate regu=
lator but the power source is same for both MCU regulator and TDA regulator= . I will try with 2 separate power sources. OK then some other path. So I'd try and figure out what the path might be.= There's common ground stuff, capacitive coupling and then inductivce effe= cts because of 'bad' ground returns. (and maybe other means as well.) The = inductive and capacitive stuff will depend on the edges. Whereas the commo= n ground can be like a resistive addition... So if you slow down or speed u= p the I2C edges and it gets better (or worse)* that tells you something. I= f it's roughly independent of the edges then perhaps look for common ground= return issues. Can you see the pickup on your 'scope? Posting a 'scope s= hot might help. =20 George H. =20 *in trouble shooting I often find it easier to make it worse.. before I can= make it better. :^)
upsidedown@downunder.com wrote:
> On Mon, 09 Dec 2013 17:40:02 -0800, Joerg <invalid@invalid.invalid> > wrote: > >>> Slowing I2C edges, splitting power/ground may help to some extent; >>> however the right solution is changing design to isolate I2C. >>> >> In the audio spectrum it will not help because you can't round them this >> much. > > One way to get rid of any digital intrusions into analog signals is to > make sure that the digital signal does not contain loooong sequences > of "1" or "0", which could create frequency components below 20 kHz. > Manchester coding etc. could help a lot. >
With I2C you don't have much of a choice, the timing windows aren't like with SPI. Also, the human ear is super sensitive to noises that aren't smooth. Even a tiny pulse at low duty cycle but repeated within the audio spectrum can be heard. -- Regards, Joerg http://www.analogconsultants.com/
On Tue, 10 Dec 2013 06:10:25 -0800 (PST), George Herold
<gherold@teachspin.com> wrote:

>On Monday, December 9, 2013 8:24:35 PM UTC-5, markj...@gmail.com wrote: >> On Tuesday, December 10, 2013 5:09:27 AM UTC+5:30, k...@attt.bizz wrote: >> > On Mon, 9 Dec 2013 09:13:17 -0800 (PST), George Herold >> > <gherold@teachspin.com> wrote: >> > >On Monday, December 9, 2013 11:28:48 AM UTC-5, Robert Macy <snip> > >> > >Isn't the obvious path via the I2C wires? I was wondering if the I2C speed could be slowed down (for the audio IC).. and then add some RC filters on the I2C input wires. Then see if that reduced the interference. (or is that a silly idea?) >> > > I guess the first job is to figure out how it's getting in. >> > >> > >> > >> > Right. Short the input and see if the noise is still there. Then use >> > >> > an external supply for the TDA. Then... >> >> >> shorted the inputs and noise is still there. It already has separate regulator but the power source is same for both MCU regulator and TDA regulator. I will try with 2 separate power sources. > >OK then some other path. So I'd try and figure out what the path might be. There's common ground stuff, capacitive coupling and then inductivce effects because of 'bad' ground returns. (and maybe other means as well.) The inductive and capacitive stuff will depend on the edges. Whereas the common ground can be like a resistive addition... So if you slow down or speed up the I2C edges and it gets better (or worse)* that tells you something. If it's roughly independent of the edges then perhaps look for common ground return issues. Can you see the pickup on your 'scope? Posting a 'scope shot might help.
In professional high quality audio applications either galvanic isolation (audio transformer) or at least differential signaling is used to avoid all of the ground resistance and most of the inductive/capacitice problems on connections between equipments in separate boxes. Maybe the OP should look at the situation from this point of view even for communication between PCBs.
On a sunny day (Tue, 10 Dec 2013 18:15:07 +0200) it happened
upsidedown@downunder.com wrote in
<3gfea91nv3ok5kfksohqo75j1e7u0dqved@4ax.com>:

>On Tue, 10 Dec 2013 06:10:25 -0800 (PST), George Herold ><gherold@teachspin.com> wrote: > >>On Monday, December 9, 2013 8:24:35 PM UTC-5, markj...@gmail.com wrote: >>> On Tuesday, December 10, 2013 5:09:27 AM UTC+5:30, k...@attt.bizz wrote: >>> > On Mon, 9 Dec 2013 09:13:17 -0800 (PST), George Herold >>> > <gherold@teachspin.com> wrote: >>> > >On Monday, December 9, 2013 11:28:48 AM UTC-5, Robert Macy <snip> >> >>> > >Isn't the obvious path via the I2C wires? I was wondering if the I2C speed could be slowed down (for the audio IC).. and >>> > >then add some RC filters on the I2C input wires. Then see if that reduced the interference. (or is that a silly idea?) >>> > > I guess the first job is to figure out how it's getting in. >>> > >>> > >>> > >>> > Right. Short the input and see if the noise is still there. Then use >>> > >>> > an external supply for the TDA. Then... >>> >>> >>> shorted the inputs and noise is still there. It already has separate regulator but the power source is same for both MCU >>> regulator and TDA regulator. I will try with 2 separate power sources. >> >>OK then some other path. So I'd try and figure out what the path might be. There's common ground stuff, capacitive coupling >>and then inductivce effects because of 'bad' ground returns. (and maybe other means as well.) The inductive and capacitive stuff >>will depend on the edges. Whereas the common ground can be like a resistive addition... So if you slow down or speed up the >>I2C edges and it gets better (or worse)* that tells you something. If it's roughly independent of the edges then perhaps look for >>common ground return issues. Can you see the pickup on your 'scope? Posting a 'scope shot might help. > >In professional high quality audio applications either galvanic >isolation (audio transformer) or at least differential signaling is >used to avoid all of the ground resistance and most of the >inductive/capacitice problems on connections between equipments in >separate boxes. > >Maybe the OP should look at the situation from this point of view even >for communication between PCBs.
I have had this problem i2c breakthrough into audio once. Golden rule: Keep your audio impedances low. Keep i2c tracks away from (not paralel to) audio tracks. Yes differential audio helps but is not always possible.