This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software:
I am using this script from codec control [SPDIF Record via TAS1020 through RXIN2 in MainOutput.txt] ,
my configuration is : Audio precision[.ac3 44.1khz file input digital optical ] --> spdif in --> pcm9211[Master mode] --> i2s out --> Audio precision[digital i2s input]
Basically I am playing a .ac3 file from AP and giving it as an input over spdif optical cable to PCM9211 module , When my .ac3 file is of 44.1Khz I am seeing 44.1khz output on AP but I want PCm9211 to transmit samples at 48khz irrespective of the input data , My input configuration for optical spdif is 48khz only but still because the file I am playing has 44.1khz sample rate, pcm9211 understands the format and is resampling it to give 44.1khz at output instead of 48khz .
Requesting your help to understand what register configuration I need to update in the above mentioned script to get the 48khz output from the module irrespective of my input file/data .
Current scenario:
48khz IN --> 48khz out
44.1khz In --> 44.1khz out
Required:
44.1khz IN --> 48khz OUT
48khz IN --> 48khz OUT
Hello Shivam, There is no SRC block in this chip and that is why you don't see such a function in the register map. For that function you need an Sample Rate Converter, such as SRC4190.
Regards,
Arash
Hi Arash ,
I want to fix the i2s output clock at 48khz , can you help me with the register setting for that , Independent of the input , I want my I2s output clock shall always run at 48khz .
source[44.1khz or 48khz etc ] --> optical spdif --Input--> pcm9211 ---output--> i2s clk [fixed 48khz] .
I got your point regarding SRC block , but my requirement is that I am giving a NPCM file as input to PCM9211 as my spdif is always configured to push data at 48khz now the problem is even though I am pushing 44.1khz NPCM file and have spdif configured with 48khz , still pcm9211 is intelligent enough to read the input file and consider it as 44.1khz and discard the zero padded data .
For example let say I have a .ac3 file which has 44.1khz sample rate , and I have a spdif interface configured at 48khz sample rate , In this scenario In output we should get 441000 samples of input file + zero padded data(48000-44100 = 3900)samples .
My point here is pcm9211 is intelligently discarding the 3900 samples of zero padded data , because it might be reading the sample rate details from .ac3 header , I want to disable this feature and want this zero padded data in the output .
Hello Shivam,
If you want to change DIT to another sample rates, you need to provide the desired clocks on MPIO_Cx port and use it as the source for DIT clock. In datasheet you can read:
7.3.8.7.2 Selection of DIT Input Source
Selection of the DIT audio and clock sources is done using the Registers 60h/TXSSRC[2:0] and 60h/ TXPSRC[2:0].
The system clock source for the DIT is selected using the Register 60h/TXSSRC[2:0].
The PCM audio data source for the DIT (BCK. LRCK, and Data) is selected using the Register 60h/TXPSRC[2:0].
Regards,
Arash