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
No.
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.
No. Flash isn't appropriate for applications which require memory to be continuously written to.