STM32H7 Portenta H7 I2S problem

Post here first, or if you can't find a relevant section!
Post Reply
mintchoi79
Posts: 2
Joined: Wed Jun 23, 2021 4:31 am

STM32H7 Portenta H7 I2S problem

Post by mintchoi79 »

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?
User avatar
MasterT
Posts: 33
Joined: Mon Apr 20, 2020 12:02 am

Re: STM32H7 Portenta H7 I2S problem

Post by MasterT »

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
mintchoi79
Posts: 2
Joined: Wed Jun 23, 2021 4:31 am

Re: STM32H7 Portenta H7 I2S problem

Post by mintchoi79 »

Get errata H7, there is something:
:D
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.
User avatar
MasterT
Posts: 33
Joined: Mon Apr 20, 2020 12:02 am

Re: STM32H7 Portenta H7 I2S problem

Post by MasterT »

Could you post a code ? Including SystemClock_Config(void).
Post Reply

Return to “General discussion”