2021-07-28 11:47 AM
My main concern to speed up double MCK and CK clocks frequency while keeping WS frequency constant at the I2S communication. But when i double up the I2S frequency all of the frequencies doubles up. For e.g.;
When WS is 43.71kHz, CK = 1.4MHz and MCK = 1.4MHz
But when WS is 86kHz, CK = 2.8MHz and MCK = 2.8MHz.
I just want to double up CK and MCK without change WS.
I have tried to change Clock Registers and Init Registers of the I2S Peripheral but couldn't make it.
At the attachment there is clock tree of the I2S peripheral(STM32F446). And as i can see when i change the CK and BCK clock output frequency, the WS clock output frequency will change also. Am i right or is there any way to change speed up clock out frequiencies MCK and CK while keeping WS clock out frequency constant at I2S communication(STM32f446)?
2021-07-28 12:17 PM
In the SPI/I2S, the ratio between MCK and LRCK/WS is fixed 256, and the ratio between LRCK and BCK is given by the mode and word size.
For more flexibility, use the SAI module instead of SPI/I2S.
JW
2021-07-28 12:27 PM
I will try and will write the solution here, thanks!
Muhammed Said
2021-07-28 11:37 PM
Hi JW,
I have a further questin. If we use a MCU such sa STM32F407, can i do this? Can i double up independently?