cancel
Showing results for 
Search instead for 
Did you mean: 

I2S Slave Rx Issue with Codec

officialkesh
Associate III
Posted on March 21, 2016 at 15:41

Hello ,

Having configured External Codec in I2S master mode , ST -I2S  has been configured as slave with full duplex for audio application

In our environment ,

Sample Freq = 8 KHz , Data-length = 16 bit ,Clock Polarity low and Phillips Standard have been used.

Right now I am having issue with I2S3_ext line which is connected to microphone line of Codec.RX interrupt enabled for I2S3_ext line . Sometimes We received the proper audio signal through this and while other times we got only noisy signal and this noisy signal lasts till user action .

What could be the reason for this ?

I went through ST errata sheet and this could be related to synchronization.Right now based on user action , we start capture data from microphone . In this scenario how can i implement work-around that is mentioned in ST errata sheet ?

Is there anything I am missing or if anything else please let me know ?

- Pinkesh

#i2s #sync #i2s-i2s2ext #stm32f407
4 REPLIES 4
Posted on March 21, 2016 at 23:18

Simply wait until WS is in its inactive state and only then enable I2S.

JW
officialkesh
Associate III
Posted on March 22, 2016 at 06:53

Hi , Jan

We have configured I2S Phillips Standard . What is the inactive state of WS line ?

- Pinkesh

Posted on March 22, 2016 at 09:51

''Inactive'' is maybe not a good word in context of I2S, but according to said errata:

The I2S peripheral must be enabled when the external master sets the WS line at:

• High level when the I2S protocol is selected.

I2S = Philips in this context.

JW

officialkesh
Associate III
Posted on March 31, 2016 at 16:26

Thanks Jan