Go Down

Topic: Add a SIMM to your Arduino :) (Read 1 time) previous topic - next topic

cjdelphi



http://hackaday.com/2014/04/09/using-simms-to-add-some-extra-ram-on-your-arduino-uno - interesting project if you have some antiques laying around....



JoeN

#1
Apr 10, 2014, 10:08 am Last Edit: Apr 10, 2014, 10:15 am by JoeN Reason: 1
:P

Give us all your pins and almost all your CPU time and you will get 4KB extra memory.  Fair trade!  

Or ask Microchip for some 64Mb serial Flash memories and they will send them to you for free.  Your choice...

This would be a more interesting project on the Mega.  You could implement the entire SIMM and not kill all your GPIOs.  Still, serial memory is more compelling these days.
I will never ask you to do anything that I wouldn't do myself.

john1993

joe, you dont seem to recognize the difference between ram and flash. by my calculation only .05% of cpu time to refresh and 256kbyte not 4kbyte. using mega on that same simm would give 256kbyte. i have i huge box of those am tempted to give that a try.

JoeN

#3
Apr 11, 2014, 01:14 am Last Edit: Apr 11, 2014, 01:17 am by JoeN Reason: 1

joe, you dont seem to recognize the difference between ram and flash. by my calculation only .05% of cpu time to refresh and 256kbyte not 4kbyte. using mega on that same simm would give 256kbyte. i have i huge box of those am tempted to give that a try.


Without redoing the calculations myself, I was relying on what the authors of this project said themselves:

https://github.com/zrafa/30pin-simm-ram-arduino/blob/master/README.md

Quote
WARNING: using this kind of RAM will put your Arduino CPU to refresh the SIMM RAM data most of the time. It means that your sketches (programs) could run slow. Also, we need to use most of the Arduino pins to be soldered with SIMM RAM pins so there will be just few available extra pins for your project.


Quote
SIMM RAM has 12 bit address for rows and columns. Max RAM size here is 16MB. We are using just 6 pins for rows and columns, so we are limited to 4KB of RAM space.

Addresses space will be of 64rows x 64columns = 4096 addresses 1 byte each = 4KB of space.


This addendum:

Quote
If you need to use more RAM you can solder the 3 analog pins remaining to simm ram module pins A6, A7 and A8. It will give you 256 KB of RAM space.


Yep, you can get 256KB if you use every single pin.  Enjoy.  Or 8MB using only four pins with a cheap serial flash memory (and add more SPI devices at the cost of one pin each),  Yes, I understand the differences, the most obvious one is that Microchip's current serial flash only allows for 100,000 write cycles.  If that is a problem, several manufacturers make inexpensive or free (samples) serial SRAM ICs and your project won't look like an entry into a steampunk contest.
I will never ask you to do anything that I wouldn't do myself.

john1993

haha... i LOVE steam punk.

actually while its true that using flash for most ram applications will destroy it in jig time that wouldnt be the main drawback which is write access. hundred times slower than flash. just wouldnt work for the kind of use ram is required, ie dso, frame capture, logic analyzer, etc. and serial ram is not cheap and not fast in my experience. realistically though sram might be the better choice there.

as far as capacity i was careful to mention mega (arduino mega) in reference to the  256kbyte comment. i do plan to give that a try but probably using m1284. even though that chip already has more ram than any other avr it sounds like a really cool rainy day project.


jlsilicon

The project looks great !

- but I am getting a __vector_13__ conflict error when I compile it.

DrAzzy

The mega already has an external RAM interface. That is almost certainly a better approach on the mega, though i think it uses SRAM not DRAM.

There are serial ram ICs from many manufacturers; these only use the SPI pins, and are pretty damned cheap.

Heck, for not *that* much you can even get FRAM chips, which are non-volatile and use only SPI or I2C pins and can be rewritten effectively infinitely.
ATtiny core for 841+1634+828 and x313/x4/x5/x61/x7/x8 series Board Manager:
http://drazzy.com/package_drazzy.com_index.json
ATtiny breakouts (some assembled), mosfets and awesome prototyping board in my store http://tindie.com/stores/DrAzzy

Go Up