AnsweredAssumed Answered

Word Select Frequency when I2S format is setting to PCM

Question asked by tardy.vincent on Feb 11, 2014
Latest reply on Jun 9, 2015 by tardy.vincent
Hello,

Today, we are using a STM32F405VG which is connected through I2S to a PCM interface of a Bluetooth Controller. The STM32F405VG and the Bluetooth Controller exchange audio data through this I2S with audio frequency = 8 kHz.

In case of the PCM interface of the Bluetooth Controller is master and I2S on STM32 is configured as follow, the audio is OK :
I2S_InitStructure.I2S_Mode = I2S_Mode_SlaveTx;
 I2S_InitStructure.I2S_Standard = I2S_Standard_PCMShort;
 I2S_InitStructure.I2S_DataFormat = I2S_DataFormat_16bextended;
 I2S_InitStructure.I2S_MCLKOutput = I2S_MCLKOutput_Disable;
 I2S_InitStructure.I2S_AudioFreq = 8000;
 I2S_InitStructure.I2S_CPOL = I2S_CPOL_Low;
 I2S_Init(I2S_PCM_CSR_SEL, &I2S_InitStructure);

After checking, the frequency of the Word Select Signal is setting to 8 kHz.

But in case of the PCM interface of the Bluetooth Controller is slave and I2S on STM32 is configured as follow, the audio is NOT OK:
I2S_InitStructure.I2S_Mode = I2S_Mode_MasterTx;
 I2S_InitStructure.I2S_Standard = I2S_Standard_PCMShort;
 I2S_InitStructure.I2S_DataFormat = I2S_DataFormat_16bextended;
 I2S_InitStructure.I2S_MCLKOutput = I2S_MCLKOutput_Disable;
 I2S_InitStructure.I2S_AudioFreq = 8000;
 I2S_InitStructure.I2S_CPOL = I2S_CPOL_Low;
 I2S_Init(I2S_PCM_CSR_SEL, &I2S_InitStructure);

After checking,  the frequency of the Word Select Signal is to 16 kHz.

Could you please give us a way to have audio OK when I2S of STM32 is Master?

Thank you

Outcomes