ΣSigmaStudio Ask AI Русский Log in

To use externl control Slew Volume on ADAU1701 has POP noise

SigmaDSP & SigmaStudio JasonCS May 27, 2013 00:00 9 replies Original on forum ↗
Subscribe
JasonCS Question
May 27, 2013 00:00

Hi there,

I have done the PCB of ADAU1701 and MCU codeing. However, there is unexpeced pop noise out when MCU send command thru I2C to DSP. The pop noise is not fix period. The I2C speed i up to 400khz and portion of SigmaStudio design as belw

Audio Signal Processors

SigmaDSP Audio Processors

adau1701

KJBob Reply
May 27, 2013 00:00

Hi JasonCS,

There could be several possible causes for the pop sound, so let's start with one that would be easy to fix. Often for whatever reason, the incoming audio from the ADC carries a small DC offset. When your micro changes the gain, this offset changes with it, causing a pop in subsequent stages. Try inserting a DC Blocking filter after your ADC as shown below:

The RealTime Display can show you if any DC exists in your audio. The graph below is my result when changing the integer gain setting from 10 to 20 and back, with no signal (except for some noise from my source), and no DC Blocking filter in the circuit:

We observe that my setup has a negative DC offset. After inserting the DC Blocking filter the offset disappeared, eliminating the disturbance when changing gain:

If adding the DC Blocking filter does not help, then the cause must be elsewhere and we'll need to analyze the problem further.

Best regards,

Bob

6abdd8e484b137830f22e54590f36371.jpg
6abdd8e484b137830f22e54590f36371.jpg
6abdd8e484b137830f22e54590f36371.jpg-450x227.jpg
6abdd8e484b137830f22e54590f36371.jpg-450x227.jpg
3a494db54c1a4308195f46a674b8e411.jpg
3a494db54c1a4308195f46a674b8e411.jpg
3a494db54c1a4308195f46a674b8e411.jpg-450x257.jpg
3a494db54c1a4308195f46a674b8e411.jpg-450x257.jpg
7409459ea3f201ec1c5a9c168892539a.jpg
7409459ea3f201ec1c5a9c168892539a.jpg
7409459ea3f201ec1c5a9c168892539a.jpg-450x262.jpg
7409459ea3f201ec1c5a9c168892539a.jpg-450x262.jpg
JasonCS Reply
May 28, 2013 00:00

Hello Robert,

I have tried your method to add DC filter at input of whole software. It same situation.

Also it has been used Slew Mix and Single Slew Adjust volume control to test then the result

is same. Unfortunately, pop noise is still there. I have monitored I2C bus to avoid that MCU send wrong command.

There is no different. ADAU1701 accept those command and given react.

I have no idea current issue. I use SS 3.80 Build2 Rev1146.

Is it possible that pop noise is from incorrect hardware design? so far the design works well.

KJBob Reply
May 28, 2013 00:00

Hi,

Sorry the DC block didn't help, but at least we eliminated the DSP signal path as a possible problem source.

I assume your micro sets the volume by sending a four-byte word to the parameter RAM that controls the DC source. Also your I2C monitoring shows that no writing to other addresses is taking place. Thus there should be no unwanted changes in the DSP itself. Perhaps as you said, the issue may be hardware related.

When I tried the above tests on a -1701 eval board I used SigmaStudio to change the DC source and heard only a faint "thud" which went away when including the DC block. Perhaps the I2C write itself is somehow coupling into the audio, by a ground loop or other means. One way you could test for that is to have your I2C write to an entirely unused spot in parameter RAM -- if the pop persists, this shows that it's through the hardware.

Bob

JasonCS Reply
May 28, 2013 00:00

Hello Bob,

Thx your reply. However, what should I write to unused parameter RAM? 0xFF? or read back then write into again?

If the problem is happened by this way, should I seperate Analog gnd and digital gnd then connect at power source spot to avoid this situation? or how do you think to add capacitor between I2C bus and gnd to avoid switching noise?

ADIApproved Reply
May 28, 2013 00:00

Hi JasonCS,

Are you using Safeload to update the parameters? Safeload is a mechanism that allows you to update parameters in between audio samples, to avoid having unknown or corrupt values in memory if the data is written during the middle of an audio frame. Sometimes, pop noises can be caused if safeload is not used.

Safeload is described on page 37 of the Revision B datasheet: https://www.analog.com/static/imported-files/data_sheets/ADAU1701.pdf

I also wrote an FAQ describing how to use Safeload here: https://ez.analog.com/docs/DOC-2632

ADIApproved Reply
May 28, 2013 00:00

JasonCS wrote:

Thx your reply. However, what should I write to unused parameter RAM? 0xFF? or read back then write into again?

No, you don't have to write anything to the unused parameter RAM.

JasonCS wrote:

If the problem is happened by this way, should I seperate Analog gnd and digital gnd then connect at power source spot to avoid this situation?

It's not necessary to have separate analog and digital ground planes. I doubt that this is related to the problem.

JasonCS wrote:

or how do you think to add capacitor between I2C bus and gnd to avoid switching noise?

No, this is not necessary. It is not likely that switching noise from the I2C bus is causing the pop sound.

Please try implementing Safeload, as described in my earlier post.

Thanks,

Brett

ADIApproved Reply
May 28, 2013 00:00

Hi JasonCS,

Actually, since you're just writing a single word to the DC Source, KJBob correctly pointed out that this probably isn't the source of the problem. Still, it's a good exercise to try using safeload each time you update a parameter when audio is passing through the system.

Would you mind sharing the contents of the lookup table? That might help with debugging.

Thanks,

Brett

JasonCS Reply
May 30, 2013 00:00

Hello Gen,

I have used ur suggestion thru safeload. it words very well.

I am appreciate to get this experience.

KJBob Reply
May 30, 2013 00:00

Hi Brett,

As it turns out, you were right all along. So we find that safeload eliminates the unwanted noise when writing to any parameter, even when there's only one word to write. Good to know!

Bob