Electronic – STM32H7 with 512MB SDRAM

cortex-mmemorysdramstm32

I'm considering to design an audio processor based on the STM32H7. I want to experiment with MCU-based DSP instead of using a dedicated DSP. I chose this high-end ARM MCU to have ample headroom for audio DSP calculations.

I also want to program a delay. Assuming I'm using 24-bit samples at 48kHz, a three seconds buffer for a three second delay on a mono channel is already going to take up 432kB memory. Just for fun I looked for the maximum external memory configuration, which is SDRAM with 13-bit row address, 11-bit column address and 4 internal banks, giving 256MB memory (32-bit word length). Two of these can be addressed, giving a total of 512MB.

I checked online to find memory ICs that matched that spec, but did not find any with the correct row/column address lengths and also all of those matching the memory configuration were DDR modules and the STM32H743 does not support DDR.

My questions are:

  • Can I use a DDR chip on a non-DDR controller?
  • Is it crazy to attempt to add 512MB of external SDRAM to a STM32H7? Or why are memory modules that match these criteria so hard to find?
  • Would perhaps Quad-SPI Flash fit better? I'm afraid it's too slow for an audio delay application.

Best Answer

Can I use a DDR chip on a non-DDR controller?

No.

Is it crazy to attempt to add 512MB of external SDRAM to a STM32H7?

It's just barely possible, but probably not worth the trouble. The largest SDRAM parts available are 512 MBit (not MByte). They can be configured as 64M x 8. Four of these in parallel can operate as a 64M x 32 = 256 MB memory; two banks of this gives you 512 MB.

Would perhaps Quad-SPI Flash fit better?

No. Flash isn't appropriate for applications which require memory to be continuously written to.