0

more ram
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

more ram

by mayberain on Mon Sep 08, 2008 10:01 am

Hi,

I'm working on a project that works with 8bit audio passing through the arduino.

I sample at 8000 times a second and do not have enough ram to do much with the audio.

Are there any speedy options for adding ram to the arduino? I think sd card storage would be too slow and would be overwrote too many times.

If not possible, what other chip/platform should i look at? I would like at least 10k ram but much more would be great. Goal is to be able to hold some of the passing audio in ram for a time (seconds) so that I can manipulate it (think low quality looper/glitcher).

I would love to get started with dsp's but don't know where to start.

Thanks for all input.
mayberain
 
Posts: 3
Joined: Sun Oct 28, 2007 6:41 pm

by metalicaman8 on Thu Sep 18, 2008 4:31 pm

try a z80. I think you have to program it in assembler though :(
metalicaman8
 
Posts: 2
Joined: Thu Sep 18, 2008 4:30 pm

by westfw on Thu Sep 18, 2008 4:53 pm

ARM, PIC32, AVR32, and coldfire spring immediately to mind.
How about the "BeagleBoard" ? ABout $150 buys you quite a bit of machine.

The other idea would be to develop your code an algorithms on a PC platform while you search for a smaller machine. Used previous-generation PCs are about the same price as new midrange microcontroller boards ("$100 paradox"), and it's hard to beat the flexibility and development environment.

Zilog's current-generation z80 products and eval boards do include a C compiler, BTW...
westfw
 
Posts: 1582
Joined: Fri Apr 27, 2007 1:01 pm
Location: SF Bay area

by metalicaman8 on Thu Sep 18, 2008 5:05 pm

O I have a few older ones and it is assembler or no go. The new ones do have c support though i checked
metalicaman8
 
Posts: 2
Joined: Thu Sep 18, 2008 4:30 pm

by westfw on Thu Sep 18, 2008 7:18 pm

There was a BDS C compiler for Z80 on CPM as long ago as the late 1970s. (hmm. http://en.wikipedia.org/wiki/BDS_C Now in the public domain!)
westfw
 
Posts: 1582
Joined: Fri Apr 27, 2007 1:01 pm
Location: SF Bay area

by eil on Sun Sep 21, 2008 7:09 pm

I was wondering if you guys were talking about Z80-the-microprocessor or a microcontroller based on the Z80. I did some checking and there are Z80 microcontrollers and dev boards. (Zilog apparently sells a Z80 microcontroller dev kit for around $40). Detailed info here: http://www.instructables.com/id/EF8B6EU18QEXCFLS4H/

But unfortunately, it doesn't answer the poster's original question, which is: Is it possible to add RAM to an Arduino? I'm curious to know as well.
eil
 
Posts: 440
Joined: Sun Aug 31, 2008 11:09 pm

by westfw on Sun Sep 21, 2008 7:16 pm

In general, you cannot add ram to an arduino. There are special case exceptions, like serial-access ram added on SPI interface or similar, but the compiler won't know how to deal with that as "normal" ram anyway.

Relatively few "microCONTROLLERS" support external RAM (hmm. There is the whole 8052 family); it's almost one of the defining differences.
westfw
 
Posts: 1582
Joined: Fri Apr 27, 2007 1:01 pm
Location: SF Bay area

Re: more ram

by waldo2020 on Thu Oct 23, 2008 7:55 pm

For starters, the lovely Ladyada has a starting point for you - http://www.adafruit.com/index.php?main_ ... cts_id=123. Pin compatible and doubles your ram and program space. Alternately you can go to
a Sanguino "fat Arduino", using an at644 with 4K ram and providing lots more I/O pins.
http://sanguino.cc/ You can also use some tricks to minimize ram usage.

If you need even more than that, you can go to ATmega162 or many others.
but you will have to port the Bootloader and Arduino IDE to it.

There are several ways to add more ram to Arduino, especially if you wish to access it sequentially.
You can add an sram (eg 32Kx8), using 8 data bits on your I/Os as data, while running the address
lines with a counter (for eg. an 74HC040). Of course you'll need to use an extra I/O for /we, and to
clock and clear the counter (8+3=11, which blows most of your I/Os), assuming you ground /CS on the sram.

http://elm-chan.org/docs/avr/avrdma_e.html
Elm-chan is a superb engineer, has come up with a pseudo-dma interface to AVR, but
it requires an AVR with external bus interface. If you had that, adding a 32Kx8 sram would be trivial.

Forget the Z80 - it's an ancient obsolete chip and won't crank out the raw mips as a 20 Mhz Atmel will.
If you must, you can always upgrade to an AVR with external memory bus, (just check what Atmel has to offer).
and add as much memory as you want, but then you lose your nice Arduino programming environment.
If you really want to switch family, Atmel has a 32 bit ARM lines, but I can recommend Philips/NPX LPCxxxx
line of ARM microcontrollers. There are several under 10 dollars with 32K sram and 256K flash.

waldo2020
 
Posts: 7
Joined: Thu Oct 23, 2008 4:16 pm

Please be positive and constructive with your questions and comments.