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

ADAU 1772 Cracking sound problem while i2c control

SigmaDSP & SigmaStudio vision4u Jan 21, 2022 00:00 1 replies Original on forum ↗
Subscribe
vision4u Question
Jan 21, 2022 00:00

Dear All, I need your help on the below issue

I have come across a strange problem and i need your help on this. I have a preliminary test board with ADAU 1772 with no self booting eeprom , and self boot pin is grounded. This board also have one PCM9535 port expander , one WM8804 spdif tranceiver all connected in the same i2c bus with their seperate i2c Adresses. I have an add on MCU board on the same i2c bus acting as master in normal operation which will send commands to ADAU1772 and other slave chips over I2c. The MCU code is not ready so i am using USBi to test the fucntionality of the board at the moment. The MCU board is not connected when i am using USBi programmer. When i use the USBi programmer i am disconnecting the the MCU board. The usbi can load the program to adau 1772 but as i move the dB volume slider in the schematic the sound is cut off and there is cracking music parts which is audible of the music playing but the music conitinues to play as soon as i release the movement of the volume slider. As soon as i touch any input or output volume sliders the same cracking problem occurs.

I have disconnected all pcm9535 and the WM8804 chips , the problem did not go away. I have checked the pullups of the İ2c bus which didnt sort the problem, I know that there is also another eprom in USBi which the adress is not the same with any of my other parts. I also didnt use any damping resistor on i2c path. All the path is directly connected with eachother.

I have read about safe load in other AD dsps but i dont know if ADAU 1772 has this feature available.

What may be the problem as i didnt have this problem with audio with ADAU1772 EVAL and USBi connected one to one when there is no other i2c connection to other peripherals. The slider volume operation was smooth and noiseless.

I will appreciate your feedback on this.

Thank you

Regards

adau1772

Integrated/Special Purpose A/D Converters

Audio CODECs

DaveThib Reply
Jan 26, 2022 00:00

Hello vision4u,

Thanks for the detailed report. I cannot rule out that the I2C messages are not being picked up by the DAC or ADC via noise on the ground or traces running too close together and things like that. Since it is doing it while using SigmaStudio this very well may be the problem.

What are your PCB stackup details?

Can you include a PDF of your layout?

You are correct that there is no safeload in this part. This part is quite different from many of our other parts. This is not a general purpose DSP, it is a filter engine that only processes bi-quad filters. So we can only do things you can do with a bi-quad. So the volume control is an all-pass filter with the B1 coefficient as a gain factor.

The core does not access the registers so you can write to the registers as much as you like and there will be no clicks or pops. Keep in mind it will depend on what register. Obviously if you change signal paths it may make a noise but you will not be causing issues with the code being run in the DSP core is my point.

If you need to change one of the filter parameters or compressor parameters then that will cause issues. So this part has two parameter banks. You can see this working with SigmaStudio.

Here is my very complex program:

When I right click on the volume control and set a volume change to happen at one time, no ramping. Like this:

This is what happens in the Capture Window:

You will see that only the first filter parameter is not zero, the rest are zero. That is the gain.

So all five are written into the non-active bank.

Then there is a write to switch to this updated bank.

Then SigmaStudio writes this value to the new non active bank. This is because if some other control is changed this volume control will not change because it is already updated in both banks. The active and non-active. You will have to do this with your controller code.

So this is how it "safeloads".

Keep in mind that there is no slew so you may hear some zipper noise. The key will be to do many smaller writes. When you grab the slider and move it SigmaStudio does many writes and switches banks each time.

So I think you may be hearing the zipper noise although you say you did not hear it with the eval board.

So this is why I am not certain exactly what the issue is.

Dave T

pastedimage1643212259445v1.png
pastedimage1643212259445v1.png
pastedimage1643212368613v2.png
pastedimage1643212368613v2.png
pastedimage1643212433426v3.png
pastedimage1643212433426v3.png