Part Number: TLV320ADC3140
Hello team,
In my use case, the sampling frequency fs for TLV320ADC3140 is variable. So, could you please help me to check a couple of points for this use case?
- I assume I need to update the fs by the procedure below. Could you check if the procedure should be correct?
- Change fs (fs= 8, 11.025, 16, 22.05, 24, 32, 44.1, 48 kHz)
- Host changes MCLK for audio ADC input (MCLK = 256 * fs (e.g. when fs=24kHz, MCLK will be 6.144MHz))
- Host updates the register (target registers are CLKGEN_CFG1 and CLKGEN_CFG4)
- The ADC generates BCLK (=32fs) and FSYNC(=fs) from the MCLK. The ADC sends the data, MCLK and FSYNC to the host.
- Could you please advise how to generate my target BCLK, FSYNC for fs=8kHz, 22.05kHz, 44.1kHz?
- In case MCLK=2.048MHz : FSYNC=8kHz, BCLK = 256kHz. BCLK_DIV will exceed 256 so it's unconfigurable
- In case MCLK=5.6448MHz : FSYNC=44.1kHz, BCLK = 705.6kHz. BCLK_DIV needs to be 104.5 so it's unconfigurable
- In case MCLK=11.2896MHz : FSYNC=44.1kHz, BCLK = 1411.2kHz. BCLK_DIV needs to be 52.25 so it's unconfigurable
However, I found some alternative setting with the EVM and GUI. For instance, when the fs=16kHz, you will see
MCLK=4.096HMz : FSYNK=16kHz, BCLK=512kHz.
By keeping PLL setting but changing MCLK to 2.048MHz, it can output my target FSYNC=8kHz and BCLK=256kHz.
The similar procedure is applicable for the 22.05kHz and 44.1kHz case.
From the above, I'd like to apply PLL setting for fs=16kHz when fs=8kHz.
Similarly, I'd like to apply PLL setting for fs=32kHz when fs=22.05kHz and 44.1kHz.
Do you think this should be OK? - Do you recommend to mute the output when switching fs? Do you have any other recommendation when switching fs?
Best regards,
Itoh