Hello
I recently worked with Portenta H7 board to play wav file from SD card.
I used I2S hal driver with IT, Polling, DMA modes, and just polling mode works fine.
But, with IT/ DMA modes, there is garbage data on SDO line continuously even when there is no data sending through buffer.
This garbage data is overlapped to wav pcm data and causes noise.
Is there any idea why this is occurred?
STM32H7 Portenta H7 I2S problem
Re: STM32H7 Portenta H7 I2S problem
Get errata H7, there is something:
2.12 SPI
2.12.1 Spurious DMA Rx transaction after simplex Tx traffic
Description
With empty RXFIFO, SPI/I2S can spuriously generate a DMA read request upon enabling
DMA receive traffic (by setting RXDMAEN bit), provided that the preceding completed
transaction is a simplex transmission.
Workaround
Before enabling DMA Rx transfer following a completed Tx simplex transfer, perform
hardware reset of the SPI/I2S peripheral.
ES0392 Rev 5
25/33
-
- Posts: 2
- Joined: Wed Jun 23, 2021 4:31 am
Re: STM32H7 Portenta H7 I2S problem
Get errata H7, there is something:

I used HAL_GPIO_TogglePin function to reset I2S peripheral pins but It does not work.
Is there any other way for hardware reset ??
thanks in advance.
Re: STM32H7 Portenta H7 I2S problem
Could you post a code ? Including SystemClock_Config(void).