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

ADAU1452  ASRC function

SigmaDSP & SigmaStudio AmmonMneg Mar 17, 2016 00:00 7 replies Original on forum ↗
Subscribe
AmmonMneg Question
Mar 17, 2016 00:00

Hi.all

i have project which need both TDM and I2S data input to/output from ADAU1452.

i need to ASRC do like this:

- SDATA_IN0 connect to CS5368 (ADC , TDM data,8channel)

- SDATA_OUT0 connect to CS4385 (DAC ,TDM data,8channel)

- SDATA_IN1 / OUT1 connect to CS4272 (ADC/DAC , I2S data,2channel IN / 2 channel out)

for my undersatand of ASRC, I just need to config the ADAU1452 like this:

- set the ADAU1452 DSP Core rate as CS4272.

- use 4 ARSC for CS5368 input, convert CS5368 input rate as DSP Core rate

- use 4 ARSC for CS4385 output, convert DSP Core rate input rate as CS4385 rate.

can everybody help to check if the ASRC of ADAU1452 can finish the convert like above?

can everybody provide some example application like above for reference?

thanks very much!

Audio Signal Processors

adau1452

SigmaDSP Audio Processors

DaveThib Reply
Mar 18, 2016 00:00

Hello Maohai,

We will provide a project soon to do what you described. However, in looking more closely at your request we noticed that you probably do not need any ASRCs in your system if you make a slight change in your clocking plan.

Since you have multiple channels of conversion and they are all working in the same system I would think you would supply Master Clock to all of the parts and just have the SigmaDSP be the master? The 1452 does have an internal PLL so it can supply a reasonably clean clock and then you can operate all the converters as slaves to the DSP. Unless you are planning on running these different converters at a different sample rate I see no reason to run through an ASRC. Especially if the sample rates are really close to each other. So supply us a few more details about your application and perhaps a clocking diagram.

I propose you use the CLKOUT of the SigmaDSP to supply MCLK to all the converters and then supply LRCLK and BCLK to each converter from the SigmaDSP and have the converters slave to the incoming clocks. It will simplify your design.

Dave T

AmmonMneg Reply
Mar 21, 2016 00:00

dear Dave:

thank you very much for your reply.

please see the function block of my new project.

i have even worked on ADAU1452 for other projects, but the AUAU1452 alaways work on I2S mode in these projects.

for me it is first time to use both I2S and I8S(TDM) in one project .

in my new project, both I2S and I8S(TDM) are work on 48kHz sample rate, but as you know , the BLCK clock and @timing diagram for I2S and I8S(TDM) shoud be deference. do you think it is necessary to use ASRC function to convert them. so that all clock are synchronous. if we don't use ASRC ,how should we do for my new project.

thank kou very much for your help.

Ammon

20160321

DaveThib Reply
Mar 22, 2016 00:00

Hello Maihai,

You are using a system clock so all the parts will be running on the same Master Clock so there will be no need to use sample rate converters unless you are planning on running one part as a multiple of a sample rate like 48K and 96K. But I see no reason why you would operate this way. So therefore, you do not need to convert.

When you send data using I2S you transmit two channels of data during one sample period. With TDM-8 you transmit eight channels of date in one sample period. Both ways all the data is transmitted during one sample period so you will not be running at different rates. The only thing that will be different is the Bit Clock rate and that will be taken care of by the serial port clocks.

I will send a project over when I get a chance.

Dave T

AmmonMneg Reply
Mar 22, 2016 00:00

Dear Dave:

Thank you verymuch for your reply.

yes, the biggest problem for me now is how to deal with the deference bit clock between I2S and TDM-8.

if i configurate the DSP like this:

- set potr 0 of DSP work in I2S master mode. and connect I2S device to port 0.

- set potr 1 of DSP work in TDM-8 master mode. and connect TDM-8 device to port 1.

- set I2S and TDM-8 device work in slave mode, all the clock provided by SigmaDSP.

do you think if the DSP can work correctly after setting as above discription.

Ammon

20160322

ADIApproved Reply
Mar 24, 2016 00:00

Hello Ammon,

Attached is a SigmaStudio example file that will configure your input and outputs according to the description you gave.

Also, I noticed in the block diagram you posted that the ADAU1452 appears to be receiving and transmitting SPDIF -- Is that something you plan to use?

Tyler

AmmonMneg Reply
Mar 26, 2016 00:00

hi ,Tyler

thank you very much for your example ,we test it and work correct.

but sorry about that i don't discrible clear the function my projrct needed..

in my project, i need to route the I2S input to TDM-8 ouput ,and also route the TDM-8 input to I2S ouput.

we modify audio channel routing in the projrct you provided and test again, the sound is distortion together with very big noise.

do you think if the ADAU1452 can finish the data convert between TDM-8 and I2S?

best regards

ammon

20160326

ADIApproved Reply
Mar 28, 2016 00:00

Hi Ammon,

I see the issue: in your updated SigmaStudio project, all of the inputs from SDATA_IN0 were routed through a Single Control Mixer. With that mixer set to 0dB gain, it is mixing 8 inputs down to 1 at full volume, which will likely cause clipping. So, the distortion is not an issue with converting TDM-8 to I2S, it is just a simple clipping issue.

To fix the noise problem, I recommend that you use the "Signal Merger" block. It will lower each input proportionally to the number of inputs connected to it, to avoid clipping.

Attached is a revision of your project, with this block in place of the Single Control Mixer.

Hope this helps!

Tyler