ADAU1452 slave/master I2S communication, clock routing
Dear All,
I am working on a project where the ADAU1452 needs to receive I2S data from an MCU (MCU is master towards the DSP), from an ADC and a BT module (they are slaves towards the DSP).
After receiving the data, there is some mixing, EQing going on, and then the data is forwarded to a digital AMP in I2S form (AMP is slave towards the DSP).
I hear two sound artifacts in the signal that is coming from the MCU on the output of the AMP: repetitive clicks in every 3-4 seconds and a short, around 2-4 sec long "radiofrequency-like" noise appearing quite randomly (sometimes it doesn't appear during a 20 minute long test, sometimes in appears 3 times during a 4 minute long test).
It is very important to note that if I transfer signals only from the ADC and the BT module, these artifacts are not present in the final signal (on the output of the AMP). I also measured, and the I2S data between the DSP and the MCU doesn't seem to be corrupted.
After I changed the routing on the DSP, so the incoming MCU data goes through ASRC0 first, the repetitive clicks were gone. Instead, now there are randomly appearing clicks (I count usually around 7-9 during a 3 minute long test). The "radiofrequency-like" noise is also still there, it is pretty random still if it appears or not.
I would like to ask, what is the best way to make the DSP being synced to the MCU clock without a hardware change? Right know there is a crystal connected to the DSP and it is the one generating MCLK.
Or what are the ASRC settings I should be careful with when setting this up? I could easily imagine that I set up something incorrectly.
One of my customers have the same hardware that I have, and on his side there are no artifacts. This would suggest to me that the source of the problem is clock-desync.
Thank you for you help in advance!
Best regards,
Balint
Edit Notes
Edited this part to make it more clear: "I hear two sound artifacts in the signal that is coming from the MCU on the output of the AMP: repetitive clicks in every 3-4 seconds and a short, around 2-4 sec long "radiofrequency-like" noise appearing quite randomly (sometimes it doesn't appear during a 20 minute long test, sometimes in appears 3 times during a 4 minute long test)."
[edited by: balint.kubellaudio at 11:15 AM (GMT -5) on 2 Feb 2023]
Audio Signal Processors
adau1452
software
Sigma Studio 4.6
i2s
clock
SigmaDSP Audio Processors
Show More
Hello Balint,
Thank you for this detailed info on your project/problem. It really helped us to get to the point.
However, if you mind sending us your project. It would be easy for us to debug it quickly. If you don't want to share in public, then you can DM me.
I hope you have given proper ground connections between signals/devices.
Are your fly wires too long? If they are, then you may have gotten into signal integrity issues.
In ASRC, I hope you have synced it to the core rate. I guess it would be great to see your project.
Regards,
Harish
Hi Harish,
Thank you for the prompt answer!
I sent you a friend request, I assume that is needed for sending the project to you privately.
You mentioned ground connections: I implemented this solution on a 4 layer board where I dedicated inner layers to be only GND, so this should not be a problem.
Moreover, what do you mean by fly wires? Also by too long?
The wire length (I2S) between the MCU and the DSP is around 10cm. There is GND under and around the traces. We have also measured and reconstructed the signal from the I2S directly between the MCU and the DSP and it does not seem to be corrupted.
In the ASRC (inside SigmaStudio) the settings in order: Serial input CH0/1 - From serial input - Use DSP core START_PULSE rate.
In the schematic I just used Asrcin1 block and routed 0 and 1 into our mixer. I haven't changed any settings of this block.
Please let me know if you need information, as soon as you accepted the friend request I will send you the project file.
Best regards,
Bálint
Hello Balint,
Signals coming from Bluetooth modules will be asynchronous to the system master clock so it is no surprise that you were hearing clicks before you started using the ASRC. The occasional clicks you now hear is that only when using Bluetooth or with the ADC or both?
What is the master clock source of the ADC?
Your description of the "radio-frequency type noise" sounds a lot like Idle Tones. Was this only coming from the ADC and was there a signal at the time or just the noise floor?
Do you have a picture of your setup?
You could record the noise and post a short sound file.
I will work with Harish on this once he gets the file.
Dave T
Hi Dave,
Thank you for joining to this thread!
First I would like to set some things straight because I am not 100% sure based on your reply that I could explain myself clearly. And also I would like to give some extra information to clarify the setup we have.
DSP is using a crystal to generate its own clock.
DSP is master towards:
- BT (only I2S is connected)
- ADC (I2S and MCLK from the DSP is connected)
- PowerAMP ( I2S and MCLK from the DSP is connected)
DSP is slave towards:
- MCU (only I2S is connected)
We didn't hear any clicks or "radio-frequency type noise" from the BT and the ADC so far. Or at least not as loudly and obviously. With the signal from the MCU it is quite an obvious problem.
During these tests we don't have anything connected to BT or to the ADC. Only noise floor is present on the ADC outputs. So there is I2S signal between that and the DSP but just only "noise-signal" is transmitted.
We have a recording about the noise, I will get back to you with that soon. I will also share a block diagram about the setup.
Harish has already our program in case you need that.
Here is the picture about the setup. I also sent the I2S settings of the MCU, maybe you can spot the incorrect setting if there is any mistakes with it.
Please log in to reply.
