ADAU1452: using LRCLK_IN0 pin for both I2S input clock and Clock Generator 3 external FREF for I2S output clock
I searched for "ADAU1452 clock generator 3 input reference" and found no relavent discussion, hence this question.
I am using ADAU1452. My design has two inputs:
1) ADC, which drives LRCLK_IN2 that is derived from ADAU1452 CLKOUT so there is no problem.
2) External I2S, which drives LRCLK_IN0 and is asynchronous to the ADAU1452 clock.
The DAC is clocked by LRCLK_OUT0.
My application needs to switch between these input sources under MCU control. So it looks like for maintaining clock sync I should source LRCLK_OUT0 from Clock Generator 3 and switch CLK_GEN3_SRC and the N/M registers on the fly to maintain the correct clock domain.
Am I on the right path?
I discovered that I have to set the MP10 pin function in the MP10 MODE register to 'Multipurpose function MP10' in order for the Clock Generator 3 to produce clock. But this causes LRCLK_IN0 to lose its I2S function! Will I have to use a separate pin for this purpose? I found no mention of this topic in the datasheet, ADAU1452.pdf dated '1/14—Rev. 0 to Rev. A'.
Thanks for any help.
Audio Signal Processors
adau1452
precision_clock_generator
SigmaDSP Audio Processors
Hello Alfred,
No, you are not on the right path. Changing the clock generator PLL on the fly is not a good idea. Normally you would shut it off, then change the parameters and then turn it on and wait for it to lock. Clearly not what you want to do!
What you need to do is run the asynchronous I2S signal and clocks through one of the ASRCs and let it convert it to the internal DSP sampling rate. This way it will automatically track it and there is no intervention required for this to happen.
This is done on the routing matrix tab in the register controls. Let me know if you need help finding this.
Click on ASRC0 and then select the serial input that the signal will be on. Then select the serial input and then select the output rate. In your case you will choose the DSP Start Pulse rate.
I know that some of this is not very intuitive...
Then in the schematic you will drag in the IO cell for the ASRC. You will need to select the "From ASRC" cell that is actually labeled ASRC input when it is dropped into the schematic. This is an "input" source from the schematic's viewpoint not the ASRC's viewpoint. This is actually the output of the ASRC.
Then send it to a mux so that you can switch between the ADC and the I2S signal.
You will probably have more questions so ask away.
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.