cancel
Showing results for 
Search instead for 
Did you mean: 

Full-Duplex I2S using STM32F7

Aaron Pica
Associate III
Posted on October 04, 2016 at 12:48

Hello,

We want to use the Full-Duplex I2S interface in a STM32F7 (STM32F769NI) but the CubeMX only allow the Half-Duplex feature, and the libraries doesn't support it.

Nevertheless, the STM32F4 Cube allows the Full-Duplex interface (using the stm32f4xx_hal_i2s_ex library).

Is there any option to use the I2S Full-Duplex feature with the STM32F7?

Thank you

#stm32f7 #cubemx #i2s
2 REPLIES 2
Posted on October 04, 2016 at 13:02

The whole issue started with the skewed way ST implemented I2S into the SPI module. For some reason not entirely clear to me, they decided SPI will be halfduplex only. In 'F4, to provide fullduplex I2S, for each I2S-capable SPI/I2S another module is added, I2Sext, which is a stripped-down derivative of the original module with no SPI support and slave-only I2S, and the clocks are connected to the respective ''master'' SPI/I2S internally.

There are no such I2Sext in 'F7.

OTOH, 'F7 contain one or two SAI blocks. I have no experience with these yet, but they should be fullduplex-I2S capable.

JW

Walid FTITI_O
Senior II
Posted on October 05, 2016 at 10:42

Hi pica.aaron,

In the STM32F7xx, the I2S is only half-duplex. For a Full-duplex transfer you need to use the SAI.

-Hannibal-