Skip to main content
Graduate II
December 10, 2021
Question

How do I get independent stereo audio output on STM32F469I-DISCO board?

  • December 10, 2021
  • 11 replies
  • 4086 views

I am having trouble getting independent stereo audio output on the STM32F469I-DISCO development board. I am passing data to the cirrus audio codec using the stm32469i_discovery_audio.h functions:

BSP_AUDIO_OUT_Init(OUTPUT_DEVICE_BOTH, 80, 48);

BSP_AUDIO_OUT_Play(dataI2S, (uint32_t)32);

dataI2S is an array that has my audio data which is a calculated sine wave. From what I understand, the odd indices of the array go to one side of the audio (i.e left) and the even indices go to the other side of the audio output (i.e. right). What I am seeing on the oscilloscope is that both sides display the same sine wave, just slightly shifted in time. This occurs even if I zero out the even indices of the array.

Can someone please point me in the right direction here? Please let me know if you have any additional details that you want me to provide!

    This topic has been closed for replies.

    11 replies

    Graduate II
    January 15, 2022

    Your image say more info as all texts.

    0693W00000JM61AQAT.pngi mark input signals, that you need check and is controlled by STM SAI. STM test board is as any other example from STM ... not perfect ...

    SDIN LRCK on scope you check if have two channels if yes all problem is as i write in

    if(ret == AUDIO_OK)
     {
     /* Initialize the audio codec internal registers */
     if (audio_drv->Init(AUDIO_I2C_ADDRESS,
     OutputDevice, 
     Volume, 
     AudioFreq) != AUDIO_OK)
     {
     ret = AUDIO_ERROR;
     }
     }
     
     return ret;

    This code init CS chip mode and as i mark on image in speaker mode have only one channel then maybe for both HP+SPEAKER demo set mono mix mode usw...

    Try write your own CS chip init.

    You are coder then write code and not only odd even data in array...