ADAU1452 ASRC
Hi,
I would like to use ADAU1452 to handle SRC of the inputs connected to serial input channel 0,1,16,17,32,33,40 and 41. Can you advise on the correct way to use the ASRC to SRC the input from 44.1kHz to 48kHz, and then output to SD1 as a 8ch I2S output? I would also like to know whether it is possible to switch the SRC dynamically through I2C control if the input can come in 44.1kHz, 48kHz, 96kHz or 192kHz?
Thanks for the advise!
Keddy Yang
Audio Signal Processors
adau1452
SigmaDSP Audio Processors
Hi,
To be exact, my scenario is such that the input I2S audio from SDI0, 1, 2 and 3 could be at any rate from 44.1KHz, 48KHz or 96KHz. The input rate will change base on running condition and is not something i can determine beforehand. I have an external MCU that would be aware of the running rate. Can you advice me which below is possible? Thank you very much!
a) ADAU1452 is able to detect the input sampling rate, and adjust the ASRC to always output at 48KHz
or
b) ADAU1452 can support runtime switching of the input rate on the ASRC through I2C by external MCU.
Hello Keddy,
The way the ASRCs work is this. There is a register that sets the source of the output clocks. This can be many different sources. It can be one of several internal clock rates, The DSP rate or it can be from a serial output port. If the serial output port is set as a master then it will be one of the internal clock rates. If it is set to slave then it will be any rate that is being fed into the serial output port LR clock pin.
So that sets the output sample rate. The ASRC is programmed to sense the rate that is coming into the input side of the ASRC and calculate the offset and convert the data to the output rate. It happens automatically. If the rate slightly drifts or jitters it will not change settings but if it changes by a significant amount then it will unlock and recalculate based on the new rates. It is very easy to use. You can always read the conversion ratio located in the ASRCx_RATIO registers but usually you do not need to do that. If your input rate changes from 44.1kHz to 96kHz then it will mute, recalculate and relock and start sending data out of the ASRC at the output rate.
You should download the AD1896 datasheet. It is a sample rate converter that we developed a number of years ago. The basic design of all of our ASRCs are modeled after this part. So there is a great explanation of how it works in that datasheet.
So in your situation, all you need to do is set the ASRCs to output at the DSP Start Pulse rate and take the input from the input serial ports and then route the output data to the DSP.
Dave T
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.