Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller mit großem RAM


von Tobias E. (doenges)


Lesenswert?

Hallo,

bin heute bei meiner Diplomarbeit und der Ausarbeitung auf die 
Mikrocontrolleranforderungen gestoßen und habe festgestellt, daß ich 
einen Mikrocontroller mit 30kB RAM benötige.

Habt ihr eine Idee welcher da so in Frage kommt oder wie ich das Ganze 
mit einem RISC von Atmel lösen könnte?

Gruß

Tobi

von Jan M. (mueschel)


Lesenswert?

Das sollte kein Problem sein: Einige Atmega haben ein externes 
Speicherinterface, das bis zu 64kB direkt addressieren kann. Dafuer 
brauchts dann nur noch ein SRAM (gibts in DIL oder SOP) sowie ein 
Adresslatch.

von Falk B. (falk)


Lesenswert?

@ Tobias Eckhardt (doenges)

>einen Mikrocontroller mit 30kB RAM benötige.

>Habt ihr eine Idee welcher da so in Frage kommt oder wie ich das Ganze
>mit einem RISC von Atmel lösen könnte?

Einige der AVRs können sehr einfach mit externem RAM aufgebohrt werden 
und haben dann fast 64kB RAM.Z.B. der ATmega8515.

MfG
Falk

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Das fällt dir erst bei der Ausarbeitung auf?
Hast du mal drüber nachgedacht ob du das wirklich brauchst?

es geht zB mit:
1: dsPIC33
2: Mega8515 + ext RAM

von Gast (Gast)


Lesenswert?

Du brauchst nur 30KB RAM? Mehr konkrete Anforderungen gibt es nicht?
Dann könnte doch auch ein 4-bitter reichen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

"RISC von Atmel" ist etwas unscharf ausgedrückt.

Es gibt mit den AVRs 8-Bit-Controller, denen eine RISC-Architektur 
nachgesagt wird; keiner von denen verfügt über so viel internes RAM.

Zusätzlich stellt auch Atmel verschiedene 32-Bit-RISC-Controller her, 
die auf den ARM-Kernen ARM7TDMI und ARM9 (k.a. welcher genau) basieren. 
Für Selbstbaulösungen noch halbwegs anwendbar sind da die 
AT91SAM7Sxxx-Modelle, von denen beispielsweise der AT91SAM7S512 über 64 
kByte RAM verfügt:

http://atmel.com/dyn/products/product_card.asp?part_id=4103

Die Philips/NXP-Konkurrenz bietet aber auch ARMe mit so viel RAM, wie 
beispielsweise den LPC2106.

An die meisten Controller kann man aber auch externes SRAM anschließen, 
und damit auch einem AVR ausreichend RAM verpassen.

Zur Controllerauswahl solltest Du Dir also noch Gedanken machen um
- Art und Anzahl der benötigten Peripherie (I/O-Leitungen, 
Schnittstellen, AD/DA-Wandler etc.)
- Rechenleistung
- Programmgröße (Menge des Flash-ROMs)
- gewünschtes/vorhandenes Entwicklungssystem

von Tobias E. (doenges2)


Lesenswert?

ich entwickel ein Mikrocontroller zur Ansteuerung eines Displays.
Die Daten bekomme ich von einem Hauptmikrocontroller der ebenfalls ein 
Atmel ist (Atmega644), weil dafür schon "alles" da ist dachte ich 
ebenfalls an Atmel 8 Bit!
Bin auch offen für andere Ideen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Na, wenns AVR sein und bleiben soll - nimm 'nen Mega128 und hänge ein 
32K-SRAM dran.

von Tobias E. (doenges2)


Lesenswert?

ja danke! Dann schau ich mir mal die Controller genauer an.
wie genau schalte ich dann den RAM an den Controller, über einen 8Bit 
Port???

von Falk B. (falk)


Lesenswert?

@ Tobias Eckhardt (doenges2)

>wie genau schalte ich dann den RAM an den Controller, über einen 8Bit
>Port???

Steht gut verständlich im Datenblatt. Über zwei 8-Bit Ports.

Mfg
Falk

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nee, Du brauchst schon mehr als einen 8-Bit-Port, etwas mehr als zwei 
werden's schon. 8 Bit Daten- und Adressleitungen (gemultiplext), 8 Bit 
weitere Adressleitungen sowie ein paar Steuerleitungen (/Rd, /Wr, ALE). 
Und Du benötigst ein 8-Bit-Latch zum Demultiplexen des Adressbusses.

Näheres nebst Beispielschaltung steht im Datenblatt des Mega128.

von Martin (Gast)


Lesenswert?

Renesas bietet in der M16C Serie µC's an, die 30K RAM intern haben.

von Stefan (Gast)


Lesenswert?

Brauchst du unbedingt RAM wegen der Geschwindigkeit, oder ginge auch 
EEPROM. Das geht ganz easy über Two Wire Interface (im Datenblatt unter 
TWI) anzuschließen.
Außerdem bleiben die Daten auch bei Unterbrechung der 
Spannungsversorgung erhalten.

Gruß
Stefan

von Peter D. (peda)


Lesenswert?

Tobias Eckhardt wrote:
> bin heute bei meiner Diplomarbeit und der Ausarbeitung auf die
> Mikrocontrolleranforderungen gestoßen und habe festgestellt, daß ich
> einen Mikrocontroller mit 30kB RAM benötige.

Wie hast Du das ermittelt ?

Brauchst Du wirklich 30kB an globalen Variablen, die die ganze Laufzeit 
über erhalten bleiben müssen ?

Windows-Programmierer überschätzen meistens den realen Speicherbedarf 
völlig und teilen Speicher mit nem Sieb aus (ein Großteil läuft 
ungenutzt unten raus).


Peter

von Störfeld (Gast)


Lesenswert?

> wie genau schalte ich dann den RAM an den Controller, über einen 8Bit
> Port???

Darf sowas ein Diplomand fragen?

von Matthias L. (Gast)


Lesenswert?

>> wie genau schalte ich dann den RAM an den Controller, über einen 8Bit
>> Port???

>Darf sowas ein Diplomand fragen?

Das ist eine gute Frage zur Frage ;-)

auch ein Diplomand

von Marco S. (masterof)


Lesenswert?

oder nehmt den Mega2560 da hat 8kByte Ram und 100Pin oder den Mega2561 
der hat auch 8KByte Ram aber nur 64Pin und ist Pin-Kompatibel mit dem 
Mega64/128.

von Rooney B. (rooney)


Lesenswert?

PIC18F8722 + 1MB externes SRAM + 1MB externes Flash

Wer bietet mehr?

von Gast (Gast)


Lesenswert?

>Darf sowas ein Diplomand fragen?

Fragen darf er. Solange wir dann im Quellenverzeichnis stehen ;-)

von Matthias (Gast)


Lesenswert?

uPSD-Serie (8Bit, 8051-kompatibel) von STM gibts auch mit 32k internen 
SRAM und in verschiedenen Leistungsklassen.

http://mcu.st.com/mcu/inchtml.php?fdir=pages&fnam=upsd

Haben viele Zusatzfunktionen, z.B. einen internen PLD und 2 unabhängige 
FLASH-Speicher, USB. Programmiersoftware bei STM kostenlos downloadbar, 
SDCC unterstützt die Typen, Programmierung per JTAG, auch selber baubar. 
Preise sind recht günstig, Nachteil: nur in SMD verfügbar.

Bezug auch in Kleinmengen über gängige deutsche Distributoren möglich.

Gruß Matthias

von klaus (Gast)


Lesenswert?

Hi,

ich hätte da mal eine Frage zum "Latch fürs RAM":

Gibt es eigentlich ein RAM (oder Flash oder EEPROM) zum Anschluss an den 
AVR oder 8051, das kein Latch braucht?
Ich mein jetzt natürlich ein statisches RAM (z.B. 8 oder 32kB) und kein 
DRAM oder SD oder so was.
Früher gabs mal einen IO-Baustein (8155 glaube ich), der wurde ohne 
Latch angeschlossen. Der hatte auch zusätzlich 128 Byte RAM, was mir 
aber doch schon zu wenig ist.

Gruß Klaus

von Matthias L. (Gast)


Lesenswert?

>er hatte auch zusätzlich 128 Byte RAM, was m

Das kann man ja mit weniger als acht Bit Adressbreite ansprechen.
Somit kann der AD-Bus INTERN in 8155 (oder wie auch immer) gelatcht 
werden!

Dafür musste dann das ALE dort angekabelt werden...

von Εrnst B. (ernst)


Lesenswert?

Flash / EEProms gibts zum seriell Anschliessen, z.B. Atmel-Dataflash 
über SPI, I²C EEProms etc.

Serielles Sram hab ich noch keins gesehen, man könnte aber mit nem CPLD 
auch normales Sram SPI-Tauglich machen.

/Ernst

von Falk B. (falk)


Lesenswert?

@ klaus (Gast)

>ich hätte da mal eine Frage zum "Latch fürs RAM":

>Gibt es eigentlich ein RAM (oder Flash oder EEPROM) zum Anschluss an den
>AVR oder 8051, das kein Latch braucht?

Wenn du dich mit 256 Byte externem RAM begnügen kannst, dann geht jedes 
SRAM. Einfach nur die unteren Bits des Adressbus nutzen.

MfG
Falk

von klaus (Gast)


Lesenswert?

Hi,

@ Matthias L.:
ja, der hatte wohl <=256 Adressen, und brauchte für seine Ports nur 
<=128.
und dadurch brauchte der sogar nur 8 Adressleitungen. Und ja: die 
Adresse wurde intern gelatcht.

@ Ernst Bachmann:
Ich dachte allerdings mehr an ein paralleles RAM, anzuschließen "ganz 
normal" nur eben ohne Latch, also nix serielles.
(andererseits müsste ich darüber nochmal nachdenken, ich hab mich da 
schon seit langer, langer Zeit auf EEPROMs und RAMs für den 8051 
versteift und den Wunsch dann auf den AVR90S8515 "übertragen")

Danke erstmal an alle,
Klaus

von Peter D. (peda)


Lesenswert?

klaus wrote:

> Gibt es eigentlich ein RAM (oder Flash oder EEPROM) zum Anschluss an den
> AVR oder 8051, das kein Latch braucht?

In der DDR gabs den U6516 (2kB) mit internem Adreßlatch.


Peter

von klaus (Gast)


Lesenswert?

nochmal Hi,

@ Falk Brunner:
ja, schon klar, aber das ist etwas wenig, 256 Bytes hat heute doch 
"jeder mittlere" AVR.
Ich dachte da eher an 8kB, oder warum nicht 64kB, ich hab' ja 16 
Adressen.
Und der Port für die "oberen" 8 Adressbits ist sowieso verloren (wenn 
ich die "RAM-Befehle" des AVR benutze).


oh, Mittagspause schon vorbei...

Gruß, Klaus

von Falk B. (falk)


Lesenswert?

@ klaus (Gast)

>Ich dachte da eher an 8kB, oder warum nicht 64kB, ich hab' ja 16
>Adressen.

Adressbits!

Aber wo ist denn das Problem? So ein Latch ist klein nd billig und wird 
direkt angeschlossen. Fertig.

MFG
Falk

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.