[dorkbotpdx-blabber] Microcontroller + RAM.. recording/playback

Alex Norman alex at x37v.info
Fri Jul 24 16:13:35 EDT 2009


On  0, Greg Grunest <greg at grunest.com> wrote:
> IMHO, DRAM is a real pain to deal with.  Unless you want to deal with
> implementing your own DRAM controller or you really *need* the speed /
> density / price that DRAM can offer I tend to avoid it.  The refresh
> circuitry and RAS / CAS timing will drive a sane man to drink.  You also
> have to deal with issues like pipelining, precharge, CAS latency and
> bursting.  SRAM on the other hand is much easier.  You put an address on the
> address pins and then either read or write data on the data pins.  That's
> it.  It always just kind of works whereas I've spent a ton of time debugging
> DRAM timing and commands in the past.

Thanks for the advice!

> 
> You should be able to implement a 64KB SRAM chip with just two latches using
> 11 or 12 pins on an Arduino and it's really straight forward. Adding
> additional 64K SRAM chips (128K, 192K, 256K etc...) is as easy as peeling
> off another pin from the Arduino and tying it to the chip select of the
> additional SRAM chip (or you could mux it).

Sounds like a plan.  I'm assuming you'd tie the data I/O directly to the
micro-controller, drive the address pins with shift registers, and drive the
~CE, ~WE, ~OE directly?

I guess the ~CE could be used as an address bit.. so these could be driven by
the shift regs.

The nonvolatile store feature is pretty neat.

> 
> Also, you should be able to easily outperform your data write requirements
> for storing audio with any available SRAM chip and an Arduino using this
> approach. 
> 
> Will the Arduino DAC conversion rate and the bit depth deal well with sound?
> Especially if you're looking for a 44.1khz sampling rate (CD quality).  I
> tried to do the math on this but my brain stopped working about an hour
> ago.(All I can do now is blabber and type.)

I have 8-bit 44.1Khz output with a teensy++ working well right now, though who
knows what will happen once I add input..
I'm currently storing my audio in program memory..

-Alex

> 
> Regarding SRAM being too expensive, I'd agree compared to the density (cost
> per cell) for DRAM but unless you're building 1000  or more of something,
> I'd argue that you'll spend more money, time and effort getting a DRAM
> solution to work.  Especially for building 1-off solutions.
> 
> Digikey sells Cypress Semiconductor 256Kbit(32K bytes) 45ns SRAM chips in
> dip form for $7.50
> http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=STK14C88-3W
> F45-ND
> If you don't need the dip packaging, they get much cheaper with higher
> densities.  1Mbit(128K bytes) 45ns for $2.50
> http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=428-2066-ND
> 
> Granted, in comparison DRAM chips are 4M at 35ns for $1.60 and 16M for $3.50
> (but they suck!!!)
> 
> -greg
> 
> -----Original Message-----
> From: dorkbotpdx-blabber-bounces at dorkbot.org
> [mailto:dorkbotpdx-blabber-bounces at dorkbot.org] On Behalf Of Jason Plumb
> Sent: Thursday, July 23, 2009 10:44 PM
> To: A discussion list for dorkbot-pdx (portland, or)
> Subject: Re: [dorkbotpdx-blabber] Microcontroller + RAM.. recording/playback
> 
> Alex Norman wrote:
> > I'm looking to build a very simple audio/control voltage
> recorder/"sampler" with
> > a micro-controller.  I realize a DSP might be the best thing for this but
> I'm
> > curious if I can do it with a micro-controller for cheap.
> 
> So this has been a desire of mine for a while now too.  I'd love to be 
> able to do a few seconds at 44.1kHz mono (ideally up to like 60 or 120 
> seconds!!).  I think that DSP is probably overkill for this application 
> tho....there's very little *processing* involved, most of the work is on 
> the bus.
> 
> > Basically, the piece that is the major problem is finding a reasonably
> large 
>  > memory device which I can quickly read and write single bytes at a
>  > time.
> 
> This really is the core issue...finding a sweet spot for complexity 
> versus price versus capacity.  DRAM is so damn cheap now that it seems 
> the way to go...but none of the popular MCUs interface with any out of 
> the box.  You'd end up using a controller or rolling your own, the 
> price/complexity of either is kinda cost prohibitive (I suspect).
> 
> In my experience, it's hard to find static RAM or serial RAM that are 
> big, fast, and cheap enough for this application.
> 
> > I've been thinking that I could actually do this with eeprom if I make it
> so
> > that the device doesn't 'record' and 'playback' at the same time.. but it
> would
> > be ideal if I could do both..
> 
> Would eeprom really be fast enough?
> 
> What's in the guts of the Line 6 or Echoplex devices?
> 
> Paul: Don't pretend like PJRC hasn't interfaced with DRAM before.  :) 
> What are your thoughts on doing this?  I fear when it comes to DRAM 
> there are a bazillion variables...
> 
> -jason
> http://noisybox.net
> _______________________________________________
> dorkbotpdx-blabber mailing list
> dorkbotpdx-blabber at dorkbot.org
> http://music.columbia.edu/mailman/listinfo/dorkbotpdx-blabber
> 
> _______________________________________________
> dorkbotpdx-blabber mailing list
> dorkbotpdx-blabber at dorkbot.org
> http://music.columbia.edu/mailman/listinfo/dorkbotpdx-blabber
> 


More information about the dorkbotpdx-blabber mailing list