Hello @Qual ,
Thanks for your post. Based on the problems you described, I think it is largely due to incorrect MCLK configuration.
About the I2S interface, the configurations of MCLK and BCLK are depend on the design specs of the CODEC chip used.
Typically, MCLK is set as an integer multiple of the sampling frequency (fs), such as 64fs, 128fs, or 256fs. Its primary purpose is to ensure the precise synchronization between the transmitting and receiving ends and, in certain cases, to supply the necessary working clock for the CODEC.
The BCLK is configured as 3.072 MHz, which is in accordance with the sampling frequency of 48 kHz and a word width of 32 bits, and this configuration appears to be correct.
In practical applications, MCLK is commonly configured to be an integer multiple of BCLK. If you opt for a 256fs relationship between MCLK and the sampling frequency, then MCLK would be 48000Hz * 256 = 12.288MHz. This integer multiple relationship is crucial for guaranteeing a stable clock distribution to the CODEC.
Consequently, the configuration of MCLK is determined by the CODEC in use. It is important to refer to the CODEC's datasheet when setting up these clocks to ascertain the appropriate values. I am currently unaware of the specific CODEC model you are employing. If possible, could you kindly provide me with this information?
Besides, is your MCXC444 functioning as a master or a slave?
As for the situation you mentioned that no prompt information appears when using the MCUXpresso Config Tools for configuration, even if the configuration is unreasonable, it is indeed possible to occur in actual operation. Because when configuring I2S, the relevant parameters are mainly determined by the CODEC, not our MCU. Therefore, from this perspective, the situation where no prompt appears also has a certain degree of rationality.
Hope it can help you.
BRs,
Celeste