2016-10-04 03:48 AM
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 #i2s2016-10-04 04:02 AM
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. JW2016-10-05 01:42 AM
Hi pica.aaron,
In the STM32F7xx, the I2S is only half-duplex. For a Full-duplex transfer you need to use the SAI.-Hannibal-