Forum: Mikrocontroller und Digitale Elektronik Arduino Mega SRAM erweitern


von Frank (Gast)


Lesenswert?

Guten Abend liebe Gemeinde!

Ich habe ein Problem mit dem Arduino Mega. Undzwar hat er genügend 
Flashspeicher, jedoch ist der RAM sehr klein. Kann ich ihn einfach 
erweitern? Habe hier ein Shield gefunden. Nur welche Pins werden dadurch 
auf dem Mega blockiert? Ich benötige für mein Projekt ca. 20-25 digitale 
Pins.

http://www.lagrangianpoint.net/store/arduino-mega-sram-expansion-shield-kit

Oder gibt es andere Wege? Andere Boards? Müssten aber auch in C sein.

Danke und viele Grüße
Frank

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Frank schrieb:
> Ich habe ein Problem mit dem Arduino Mega. Undzwar hat er genügend
> Flashspeicher, jedoch ist der RAM sehr klein.

Hallo!

Kurze Frage: Wie viel RAM hat der von dir verwendete ATmega? Und wie 
viel RAM brauchst du?

von Frank (Gast)


Lesenswert?

Es ist ein Mega 2560.

Flash Memory  256 KB of which 8 KB used by bootloader
SRAM  8 KB
EEPROM  4 KB

Benötigt inkl. Puffer 32, 64 oder 128kb

von Dr. Sommer (Gast)


Lesenswert?

Das ist teurer als ein STM32F4 Discovery ( zB hier 
http://www.ebay.de/itm/281080176614 ) dessen Mikrocontroller 192 KB RAM 
hat und auch sonst um ein vielfaches leistungsfähiger als ein Arduino 
ist.

Wenn du lieber bei den AVR's bleibst, schaue lieber mal nach ob du einen 
pinkompatiblen ATmega findest mit mehr RAM (der lässt sich mit dem 
richtigen Bootloader auch auf den Arduino stecken). Oder nehme einen 
Arduino Due ( http://arduino.cc/en/Main/ArduinoBoardDue ) mit 96 KB RAM 
- die Programmierung müsste recht ähnlich sein... Einen Mikrocontroller 
mit externem RAM auszustatten (oder anderen Hardwareeinheiten, die man 
auch durch Controller-Upgrade erlangen kann, wie zB mehr Pins oder Timer 
etc.) macht nur selten Sinn...

von Frank (Gast)


Lesenswert?

Cool. Ich benutzte MariMole. Kann ich also einfach umstellen? Was ist 
mit den Libraries?

von Oliver (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Wenn du lieber bei den AVR's bleibst, schaue lieber mal nach ob du einen
> pinkompatiblen ATmega findest mit mehr RAM

das dürfte schwierig werden...

Oliver

von Eumel (Gast)


Lesenswert?

Erzähl mal lieber wofür du das ganze Ram brauchst. Bestimmt gibts ne 
Möglichkeit da was zu optimieren.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Oliver schrieb:
> Dr. Sommer schrieb:
>> Wenn du lieber bei den AVR's bleibst, schaue lieber mal nach ob du einen
>> pinkompatiblen ATmega findest mit mehr RAM
>
> das dürfte schwierig werden...

Naja, der ATmega1284P hat immerhin doppelt so viel RAM, nämlich 16 kiB. 
Aber wenn das nicht reicht, wirds wirklich schwierig.

Eumel schrieb:
> Erzähl mal lieber wofür du das ganze Ram brauchst. Bestimmt gibts ne
> Möglichkeit da was zu optimieren.

Davon würde ich im Zweifel auch ausgehen. 8 kiB sind für die üblichen 
Mikroprozessoranwendungen eine ganze Menge...

von Markus H. (dasrotemopped)


Lesenswert?

der ATmega2560 hat ein XMEM Interface. da gibts 64kByte extra RAM.
reicht das ?

RTM :
http://www.atmel.com/images/doc2549.pdf

Kapitel 9. External Memory Interface

nur der ATxmega kann noch mehr RAM

Gruß,

dasrotemopped.

von Patrick C. (pcrom)


Lesenswert?

> Erzähl mal lieber wofür du das ganze Ram brauchst. Bestimmt gibts ne Möglichkeit 
da was zu optimieren.

Einverstanden. Benutzt du ein display oder viel "strings" ? Dann 
bestudiere dich mal die F() funktion von Arduino oder print_P(PSTR()) 
funktionen von C. http://playground.arduino.cc/Learning/Memory

Dabei denke ich das mann besser z.B. einen 2/4/8 Gb sd-karte benutzen 
kann als extra memory. Flexibeler und heutzutage mehr standard als eine 
RAM chip erweiterung

von Frank K. (fchk)


Lesenswert?

Wenn Pins knapp sind: Es gibt auch SPI-SRAMs bis 128kB:

http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en559066

Vielleicht ist das ja eine Alternative.

und wenn Du es batteriegepuffert haben möchtest:

http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en559069

fchk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.