I am having some trouble getting the ASRCs + TDM working correctly and I want to see if I am doing something wrong.
What I have: 44.1kHz audio (the input to ASRcs) in TDM16 format with 10 channels used.
BCK is 11.2896MHz, 16 bits per channel.
This needs to be sent out to another device from the SHARC at a different samplerate (let's say 48kHz).
So 48kHz in TDM16 format with 10 channels used, BCK is 24.576MHz, 32 bits per channel.
One SPORT is set up to TX to the ASRC daisy chain, another SPORT is set up to receive the output of the last ASRC, and another SPORT is set to output to the actual DAI pin to the external device.
I have a few questions that I haven't been able to answer myself with absolute certainty based on the datasheet.
- Do the ASRCs input and output clocks have to match in terms of BCK to FS ratios? That is, can the input data be 16 bits per channel and the output data be 32 bits per channel?
- In both in/out only 16 bits are used, but I have no control over the output clocks, so I can't make the BCK such that there are 16 bits per channel.
- When using MCPDE (in my case 10 of 16 channels are used) will 5 ASRCs work or must 8 be used? Basically, do the unused channels have to pass through the ASRCs as well?
This is what I have been able to get out. The input is 400Hz Sine @ -6dBFS in channels 1 and 2.
Output is some sort of folded version of the sine, but it is at the correct frequency at least. Note that channel 2 is all zeros.
I have fiddled with many different settings/bits but haven't been able to get a working output.