[sdiy] Digital delay memory

rsdio at audiobanshee.com rsdio at audiobanshee.com
Thu Apr 28 00:44:55 CEST 2016

On Apr 27, 2016, at 11:37 AM, Eric Brombaugh <ebrombaugh1 at cox.net> wrote:
> On 04/27/2016 11:29 AM, Jay Schwichtenberg wrote:
>> We see a lot of little ARM boards come out like the Teensy/Arduino for
>> example. I'd like to see something like that with a higher end ARM chip on a
>> bigger board with USB and bootloader, external fast ram and more pins broken
>> out. That to me would be a good basic platform for doing a whole lot of
>> stuff. Main problem for hobbyists like us is most ARM chips that have an
>> external memory interface are in BGA (Ball Grid Array) packages. These would
>> require some form or reflow soldering. Some people have used toaster ovens
>> and hot plates to do that but it sounds pretty tricky for the average
>> person. Also the boards would probably have to be more than 2 layers with
>> buried and blind vias.
> 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.

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.

Of the options - SRAM, SDRAM, SPI - I'd put SPI (serial) as the last choice. That sort of memory requires higher clock frequencies than the others (for a given audio sample rate), and that might cause more audio noise.

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.

A fun project might be to design the whole thing with discrete CMOS logic (and A/D/A). Again, no processor to program.


More information about the Synth-diy mailing list