STM32 I2S Audio Frequency Question
Hey guys, I just need some clarification on the I2S Fs real quick, on the STM32F4DISCOV1 board. The formula in the reference manual says, Fs = I2SxClk/((16*2)(2*I2SxDiv + ODD)) or Fs = I2SxClk/((32*2)(2*I2SxDiv + ODD)) for 16 and 32 bit respectively and then if MCLKOE is enabled, then Fs = I2SxClk/[((16*2)(2*I2SxDiv + ODD))*8] or Fs = I2SxClk/[((16*2)(2*I2SxDiv + ODD))*4].
My question is, are these the formulas I still use even if I use mono? Would I still need the 16*2? I also understand the MCLK = Fs * 256.
So using the above formulas, I need one I2S module at 3.072 MHz for a PDM mic and then another I2S module at preferably 24KHz w/(MCLK >= 12MHz (recommended value)) for an audio DAC.
Something I just realized while typing this, I would need a minimum value of 48KHz instead of 24KHz for the audio frequency? Since 48 * 256 = 12.228Mhz. Which means the most I could decimate it by is 64 then? Because 48*64 = 3.072 and the PDM mic rating is only for 1-3.2 Mhz.
But if you use the formula, MCLK disabled. DIV = CLK / (64*Fs). ((3.072*10^3)/(64*48) = 1 and 1 is a forbidden value for the I2S prescalar. I am stuck on how to pick the numbers for the prescalar, I2S PLL, and the Audio frequency.
I feel like I am confusing myself more and more. Any help would be very appreciated!
