[sdiy] Digital delay memory

Eric Brombaugh ebrombaugh1 at cox.net
Thu Apr 28 01:19:04 CEST 2016

On 04/27/2016 03:44 PM, rsdio at audiobanshee.com wrote:
> On Apr 27, 2016, at 11:37 AM, Eric Brombaugh <ebrombaugh1 at cox.net> wrote:
>> Check these parts out:
>> http://www.digikey.com/product-detail/en/stmicroelectronics/STM32F446ZET6/497-15374-ND/5175960
>> The 144-pin LQFP shown supports external SDRAM chips (think 64MB for about $5). Has a nice I2S-compatible serial audio port that hooks to a wide variety of codecs. Single-precision / single cycle floating point math at 180MHz. Lots of on-chip flash and QSPI for off-chip XIP if needed. Under $10 in qty, easy to DIY if you can handle SMT soldering - I do those by hand all the time.
> To clarify Eric's suggestion, support for external SDRAM means that the STM32F handles the Row and Column addressing along with refresh. If you have 8-bit or 16-bit SDRAM, the STM32F will handle the details of converting 32-bit accesses to multiple native bit-width accesses, although I'm not sure whether you'd really need 24-bit samples for a digital delay.

Yes. It does make things pretty easy from a software standpoint. And you 
might be surprised that 32-bit access is handy - 24-bit audio data is 
pretty common. It may not be necessary from an actual SNR standpoint, 
but customers comparing specs do look at those bitwidths when making a 
purchasing decision, so the marketing bullet makes a difference.

> I'm sure there are ARM processors other than ST Micro that support SDRAM. I sure hope so, because I'm currently finding silicon bugs in the STM32F429 with respect to the external memory support.

Interesting. Care to elaborate on that? Are there workarounds?

FWIW there are a number of alternative ARM-based MCU families out there 
that do support SDRAM. NXP makes a few, but last I looked they had the 
disadvantage of not having on-chip flash & required loading code from 
external serial memory. That was a while ago though - there may be 
better options now.

> You could feasibly design a digital delay using nothing more than an FPGA and a CODEC (for A/D and D/A). Most FPGA chips have lots of internal SRAM that can be configured for different bit widths. You might even be able to configure 24-bit native SRAM. I know of at least one FPGA with 18-bit SRAM that would be quite good for digital delay audio - just enough for the necessary signal-to-noise ratio. An FPGA would mean that you don't even need a processor, although I don't think there are any through-hole FPGA chips with lots of SRAM. FPGA design might be a bit complex for this sort of thing, though.

I've done a few projects with just FPGA and codec or DAC. It's 
interesting work if you're comfortable with the tools and fixed-point 


More information about the Synth-diy mailing list