cancel
Showing results for 
Search instead for 
Did you mean: 

stm32 I2s in slave mode Timing

2716454074
Associate
Posted on November 22, 2013 at 11:57

The stm32 chip has a error for I2S in slave mode (stm32f40x Errata sheet 2.4.1).

2.4.1 In I2S slave mode, WS level must be set by the external master when enabling the I2S

Description

In slave mode, the WS signal level is used only to start the communication. If the I2S (in slave mode) is enabled while the master is already sending the clock and the WS signal level is low (for I2S protocol) or is high (for the LSB or MSB-justified mode), the slave starts communicating data immediately. In this case, the master and slave will be desynchronized throughout the whole communication.

Workaround

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

High level when the I2S protocol is selected

/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Attachments/35638/I2STiming.png

By the I2S format , I can see it's very easy:

1.SCLK is the bit clock.

2.WS is frame clock, low to start, left channel first and turn it high to right channel.

3.SD is the data stream, start by WS low delay 1 bit.

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

The errata sheet given workaround is too simple, has

difficult

to understand

, using I2S slave mode what's its Timing? Has anyone can give me more

details

.

Thanks for your help.

0 REPLIES 0