Go Down

Topic: Is there a SRAM extension Shield? (Read 1 time) previous topic - next topic

Andreas1984

Hello,

I need a significant amount of SRAM for my project (around 10Mbyte)...

Currently I am using an SD-card to read data from - tough this is problematic, because after each 512 bytes, the SD-Card has to reload data, and is causing a 1mS delay.

I want to avoid this, one way would by to transfer the data from the SD-Card to the SRAM, in some cases it could be a huge amount of data - up to 10 MB...

Is there an easy way to extend the SRAM of an Arduino DUE?

Kind Regards

robtillaart

have you checked - http://shieldlist.org -
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Mr_arduino

As far as I am aware this is impossible due to the fact that the arduino DUE does not even have all pins broken out. It is quite a shame that they would make such an expensive product and not even break out all pins.

pito

#3
Jan 18, 2014, 11:26 pm Last Edit: Jan 19, 2014, 12:26 am by pito Reason: 1
What read/write speeds do you expect?
Many times discussed here - for accessing the sdcard fast and in regular intervals you have to implement an FIFO buffer.
See for example NilRtos demo. An sdcard may have 10-250ms write latency anytime.
So the calculation is easy:
You need a FIFO N bytes deep, where (worst case):

N = 0.25sec * wr_data_rate [bytes/sec]

For example to write 100kB/sec into the sdcard you need a FIFO 25kB large(deep). This will allow you to write without overruns.
Search this forum for "FIFO".

http://forum.arduino.cc/index.php?topic=144715.msg1092515#msg1092515

CrossRoads

FIFOs are hard to find - I wanted some for audio for a past project, they were hard to find and pricey.
Putting together a bank of memory chips to get 10Mbyte wouldn't be hard.
http://www.digikey.com/product-detail/en/23LC1024-I%2FSN/23LC1024-I%2FSN-ND/3543084
Just need a bunch of them.
With an external address latch, data latch, and maybe shift register if you want to keep serial access, can go with bigger parallel address parts & use less chips overall:
http://www.digikey.com/product-search/en?pv16=11422&FV=fff40027%2Cfff80434%2C2380073&k=sram&mnonly=0&newproducts=0&ColumnSort=0&page=1&stock=1&quantity=0&ptm=0&fid=0&pageSize=25

http://www.digikey.com/product-detail/en/CY62148ELL-55SXI/CY62148ELL-55SXI-ND/1784966

etc.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

pito

#5
Jan 19, 2014, 12:29 am Last Edit: Jan 19, 2014, 12:43 am by pito Reason: 1
Quote
FIFOs are hard to find - I wanted some for audio for a past project, they were hard to find and pricey.

The FIFO is implemented on your arduino. You do not need an external one...
With 1284p or Due you can implement large enough FIFO buffer for even your audio streaming :)
With max latencies of 50msecs and 14kB of 1284p ram you can go up to 280kB/sec sustained writing speed to the sdcard.. (provided your 1284p or Due is fast enough)  :P
PS: I ran 333samples/sec (100bytes a sample) with 1284p without a single overrun to a cheap sdcard recently..

CrossRoads

"max latencies of 50mS" - and OP seemed to say 1mS delay was problem.
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

pito

Long time back I designed a ramdisk (for retrobsd swap file) - with xilinx cpld and 4MB sram. With arduino is the speed ~200kB/sec random wr/read, with larger blocks (ie 512b) 850kB/sec (with pic32 ~6MB/sec, the same with Due probably).
The ramdisk has an 8bit interface + 3 control bits.

ralphnev

willing to share the cpld code ?

a few months ago i started to build a large fifo out of  a AL440B but got distracted / will revisit eventually

Go Up