Forum: Mikrocontroller und Digitale Elektronik ATMega128L und externes SRAM


von Sebastian S. (lokidaelis)


Lesenswert?

Hallo Zusammen.

Ich habe mal ein paar kleinere Fragen zum Mega128L und externem SRAM.
Ich plane zur Zeit an einem MP3 Player, dem ich gerne 64(60)k SRAM als
RingBuffer spendieren möchte.
Dazu sei gesagt, das dies meine erste RAM+MC Erfahrung ist.

1. SRAMS und Völte
Da eigentlich alle Komponenten (Vs1001K, MMC Kard etc.) auf 3.3 V
Basis laufen, machts sicherlich Sinn, ein passendes 3.3V SRAM zu
verwenden um den Aufwand gering zu halten.
In den Datenblättern verschiedener SRAMs z.b. W24512AK-15 64k (Die ich
zu hauf hier habe) oder das Standard 62256 (32k) wird immer nur von 5V
gesprochen... Laufen diese Fiecher trotzdem mit 3.3V oder was kann man
alternativ im 3V Betrieb verwenden?

2. SRAMS und Adressierung
Alle Schaltpläne, die ich bissher studieren konnte (auch STK200)
verwenden 32K SRAMS, wobei der A15 Anschluss als CS für das Ram benutzt
wird. Wenn ich jetzt aber ein 64k Baustein anknüppeln will, brauche ich
ja A15 am Adressbus. Lt. Mega128 Datenblatt werden aber bis tz 64k vom
XRAM Interface unterstützt. Was nehm ich denn da als CS in dem Fall?

Kennt jemand evtl. einen Schaltplan mit AVR und 64k RAM?

Sorry für so viel Text und Danke für eure Hilfe

Gruss,
Loki

von Jens (Gast)


Lesenswert?

> Was nehm ich denn da als CS in dem Fall?

Nichts, /CS kommt permanent auf GND womit das SRAM ständig aktiv ist.
Ist kein Problem, solange man nicht weitere Geräte an den Datenbus
anschließen möchte.

von Sebastian S. (lokidaelis)


Lesenswert?

Die Option weitere Geräte an den Bus anzuschliessen wollt ich mir gern
Frei halten, da evtl. noch eine Netzwerkkarte an den Bus soll.

von Jens (Gast)


Lesenswert?

Vielleicht mal Gedanken machen ob 64kB Ringpuffer notwendig sind, mal
abgesehen davon, daß du dann kein Byte mehr für Variablen frei hast.
Ein paar wenige kByte reichen für einen Puffer völlig aus, hab bei
meinem Player 32kB externes SRAM hängen, darin sind 4kB für den Puffer
reserviert. Außerdem hängt noch ne Festplatte am Bus und außerdem ein
Grafikdisplay. Ich lese FAT32 aus und bin puffermäßig noch nie an die
Grenzen gekommen.

von Sebastian S. (lokidaelis)


Lesenswert?

Was benutzt du da für ein RAM?
Auf wieviel Volt basiert deine Schaltung?

Ich hatte vor, irgendwann in ferner Zukunft mit dem Teil Internet Radio
Streams abzuspielen. Und da Internet Connections nicht immer so
zuverlässing sind wie man sich wünscht, würd ich schon gern ein paar
Sekunden vom (überlicherweise bis 224 Kbit) mp3 Stream
zwischenpuffern.

Für Variablen wird das Interne Mega128 4K Ram wohl reichen.

Meine grösste Sorge ist Momentan aber erstmal das Spannungsproblem.

von Hagen (Gast)


Lesenswert?


von Dirk (Gast)


Lesenswert?

Hallo,

falls deine hardware noch nicht fertig ist und deine traeume immer mehr
in richtung von Guido's Arthethernet geht hier mal ein link

www.ispf.de

gruß,

Dirk
(www.myevertool.de)

von Robert Zillner (Gast)


Lesenswert?

Hat jemand von euch ein Schematic mit der richtigen Beschaltung eines
64K SRAM/XRAM Modules?

MFG

Bertl

von Robert Zillner (Gast)


Lesenswert?

In diesem Forum gibt es doch sicher Leute, die sowas schon mal gemacht
haben.

Wäre sehr nett.

MFG

Bertl

von Μαtthias W. (matthias) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hi

siehe Anhang. Ist zwar ein Mega8515 aber die wichtigen Pinbezeichnungen
sind beim Mega128 die gleichen.

Matthias

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

nochmal

ist ein 128k SRAM. Die zusätzliche Adressleitung wird über einen
Portpin geschaltet.

Matthias

von Nik Bamert (Gast)


Lesenswert?

Falls du dann weitere Dinge wie hdd /netzwerkkarte verwenden möchtest
und somit auch den /Cs anschluss brauchst, geht das ja dann im Prinzip
genau gleich-einfach /cs auf einen freien beliebigen portpin.
Standardmässig dann das ram im mcucr (kA obs beim atmega128 auch so
heisst) und den /cs aktivieren, so dass das ram ansprechbar ist. In dem
Moment in dem du dann auf die Netzwerkkarte zugreifen möchtest/musst,
einfach das externe sram im register abschalten und /cs deaktivieren.

Ich hoffe so stimmts einigermassen wie ich das hier verklickere, aber
da es beim yammp ja auch so funktioniert denke ich mal, dass es stimmen
sollte ;-)

mfg

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.