Go Down

Topic: External RAM (Read 18984 times) previous topic - next topic



I was looking at the 23K256 and it library and was wondering if I could hookup more than one?

If I cant is there an I2C RAM available? I would need large size RAM.


Do you mean RAM or EPROM ?

What do you want to store in it ?


RAM, I will be storing temporary data for files.


How about 23A640 from microchip?


Aug 05, 2010, 11:01 am Last Edit: Aug 05, 2010, 11:02 am by UltraMagnus Reason: 1
how much do you need?  the mega has a built in interface for up to 64KB external RAM.


Aug 05, 2010, 11:12 am Last Edit: Aug 05, 2010, 11:13 am by Gray_Malkin Reason: 1
I'm not sure that an I2C device could be used as ram, usually the interface is over parralell, however there are some memory devices you can use for storing data, like an EEPROM

What do you need it for? Temporary data for files could be thrown into an eerom quite easily then fetched later.  Also what do you mean "files"?


How would you hook up external RAM to the mega?

And I would be using the RAM to make large buffers to be later written to an SD, because I need to write memory as quick as possible.


Aug 05, 2010, 05:50 pm Last Edit: Aug 05, 2010, 06:02 pm by UltraMagnus Reason: 1
it is in the atmega1280 datasheet, under "external memory interface".


page 27, to be exact.

It will appear to you as an extension of the arduino's normal ram, so you can just type int reallybigbuffer[20000]


I'm not sure that an I2C device could be used as ram

sure it can, they have I2C and spi ram chips out there, but you address it like a peripheral , it doesnt automatically get counted in  with the system ram

so its more or less like a volatile EEPROM


If you do add RAM to the arduino would you need to modify the code in the app to use it like you do if you use a mega with more flash memory eg 644P?


How can the ram extension be hook up to the mega? It uses pins PC0-PC7, are those pins being used?


If you look at the image on page 4, you will see the ADxx and Axx pins.

They control the address and data ports.


Aug 06, 2010, 03:09 pm Last Edit: Aug 06, 2010, 03:12 pm by graynomad Reason: 1
You need an external 8-bit latch. The CPU places the value for A0:7 on PA and latches the value into the latch by pulsing ALE (PG2). It then places the value for A8:15 onto PC and writes/reads to/from the memory chip by pulsing RD (PG1) and reading the value on PA or placing a value on PA and pulsing WR (PG0).

You can only address 64k with this method but it's easy to select as many 64k pages as you like by using a few extra IO pins.
Rob Gray aka the GRAYnomad www.robgray.com


So it uses Analog 8-15 right?
How could I hook this up?
What chip do I need to use?

Go Up