AnsweredAssumed Answered

Vybrid VF6xx I2S Audio Codec Connection

Question asked by Juan Diaz on Apr 12, 2016
Latest reply on Apr 29, 2016 by Timesys Support



I am a newbie in I2S interface for audio codec chips. I need to connect a codec WM8974 of Cirrus/Wolfson, which has a mono audio speaker and a microphone. The WM8974 has the following digital I/O pinout:


I2S Interface:

- ADCDAT (O): ADC digital audio data output

- DACDAT (I): DAC digital audio data input

- FRAME (I/O): DAC and ADC sample rate clock or frame sync

- BCLK (I/O): Digital audio port clock

- MCLK (I): Master clock input


Control Interface (2-Wire / 3-Wire):

- CSB/GPIO (I/O): 3-Wire MPU chip select or general purpose input/output pin.

- SCLK (I): 3-Wire MPU clock Input / 2-Wire MPU Clock Input

- SDIN (I/O): 3-Wire MPU data Input / 2-Wire MPU Data Input

- MODE (I): Control interface mode selection pin.


In one hand, I am going to set the Control Interface to 2-Wire (MODE=low) in order to use the Vybrid I2C interface (SCLK / SDATA). This is quite easy.


On the order hand, regarding the I2S interface, if I am going to use the codec as slave, theoretically, I will connect the Vybrid as follows:


Vybrid                            Codec

---------                           --------

SAIx_RX_DATA     <----    ADCDAT

SAIx_TX_DATA     ---->    DACDAT

SAIx_TX_BCLK      ---->    BCLK

SAIx_TX_SYNC     ---->    FRAME


If I connect the audio codec as master, the pinout connection will be:


Vybrid                            Codec

---------                           --------

SAIx_RX_DATA     <----    ADCDAT

SAIx_TX_DATA     ---->    DACDAT

SAIx_RX_BCLK      <----    BCLK

SAIx_RX_SYNC     <----    FRAME


My question is if these connections are OK for use of the SAI/I2S interfaces (SAI0, SAI1, ...) of the Vybrid VF6xx.


Kind Regards,