Hello, I have an unusual application where I am generating artificial Doppler shift from a TLV320DAC3100. Nominal sample rate, with no Doppler shift, is 44100 samples/second. But I want to dynamically on-the-fly change the playback sample rate by up to four times faster and four times slower, so up to around 180000 and down to 11025 samples/second. I want to configure the TLV320DAC3100 as an I2S master and supply it with a single master MCLK and have it generate the appropriate BITCLK and LRCLKs to feed into the system microcontroller which plays back the sound file from an SD card.
The master MCLK comes from an external fractional-n-synthesizer chip (Silicon Labs SI5351) whose output is then varied over the 16:1 frequency range
Can the TLV320DAC3100 work in that mode?
I am concerned because, in its datasheet, in section 7.3.10.14 DAC Setup, it states :
"In all cases, DOSR is limited in its range by the following condition: 2.8 MHz < DOSR × DAC_fS < 6.2 MHz"
That frequency range is only a little over 2:1, nowhere near my required 16:1 range, unless I also mess with the DOSR register value.
What is the reason for that frequency range limitation?, and can the TLV320DAC3100 be configured to operate over a 16:1 range of input MLCK and still work correctly without changing any register settings?
Another question. Could the TLV320DAC3100's own internal PLL be configured to provide the required BITCLK and LRLCKs from a fixed MCLK input by changing it's PLL fractional-n ratio on-the-fly whilst the DAC is playing back? Or can those PLL registers only be changed in a static non-playback state?
Thanks.