www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SRAM am Atemage6444.


Autor: funkeld (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich möchte mal als Anfänger normales SRAM mit dem Atmega644 
betreiben.
Sollte so 64kb gross sein.
Wo gibt es so einen Schaltplan, damit man es mal auf einem Steckbrett 
nachbauen kann?

Welche Bauteile brauche ich insgesamt dazu?

Ein läufhähiges Atmegaboard mit 644p habe ich.
Ich bräuchte davon dann nur die notwendigen Pins mit Flachkabel zum 
Steckbrett führen.

Danke.

Gruss

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVR-CPUs sind nicht für den Anschluss von klassischem
SRAM ausgelegt.
Zwei SPI RAM 23K256 scheint mir noch die am wenigsten
aufwändige Lösung.
Kostet nur zwei ICs, eine SPI-Schnittstelle und zwei
I/O-Portleitungen als Chip-select.

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Prinzipiell kann man das so nicht sagen, es gibt einige mit Interface 
für ext. Speicher.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
z.B. mega128, aber gerade nicht der 644

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genauer gesagt: man kann natürlich an einen beliebigen AVR auch
externes RAM anschließen, muß dann aber per SW mühsam das Lesen
und Schreiben bauen.

Bei einem 128 dagegen schließt man es lt. Datenblatt an und
kann den Speicher dann (wenn ich es richtig sehe, habe es nie
probiert) dann wie eine Verlängerung des eingebauten RAM nutzen,
also für Variablen etc..

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt - es gibt einige wenige AVR-CPU-Typen mit SRAM-Unterstützung.
Nur, hilft das jetzt in diesem Fall (vorhandenes mega644-board) weiter?

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nö :-)
Mir ging es nur um die Aussage: "AVR-CPUs sind nicht für den Anschluss 
von klassischem SRAM ausgelegt."

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@funkeld (Gast)

>Hallo, ich möchte mal als Anfänger normales SRAM mit dem Atmega644
>betreiben.

Kann man machen, ist aber nicht so sinnvoll, weil aufwändig.

http://www.mikrocontroller.net/articles/Speicher#SRAM

>Ich bräuchte davon dann nur die notwendigen Pins mit Flachkabel zum
>Steckbrett führen.

;-)
Und dann ewig un drei Tage rumjammern weil es instabil läuft. So ein 
SRAM ist schon recht fix und einen halbwegst stabilen AUfbau auf einem 
Steckbrett hinzubekommen ist reine Glückssache.

MFG
Falk

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu braucht man denn 64kB?

Wenn der ATmega644 knapp wird, nimm doch erstmal den ATmega1284P (16kB).


Peter

Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@funkeld
Und ich frage: muss es denn unbedingt SRAM sein? Über die Anwendung hast 
du ja noch nichts gesagt. Der Anschluss über SPI wäre eine Möglichkeit, 
allerdings kenne ich da auch nur den 23K256 mit 32kiB Größe und der 
läuft auch nur bei 3,3V. Welche Spannung hat dein Board?

Ich stand kürzlich vor einer ähnlichen Entscheidung und werde 
stattdessen ein EEPROM (25LC512) einsetzen. Vorteil: 64kiB in einem 
Gehäuse (128kiB gibt es auch noch) und Betrieb bei 5V möglich. 
Nachteilig sind natürlich die Wartezeit vom bis zu 5ms beim Schreiben, 
die spätestens alle 128 Byte nötig ist. Außerdem werden auch "nur" 1 
Millionen Schreibzyklen garantiert.

Für eine Anwendung, die Daten deutlich häufiger liest als schreibt (wie 
bei mir) kann das dennoch eine Alternative sein.

Außerdem gibt es noch EEPROMs (24Cxxx) für den I²C-Bs, wo der Zugriff 
deutlich länger dauert.

BTW: Auch wenn SPI eine serielle Verbindung ist, kommt sie in der 
Geschwindigkeit fast an eine Lösung mit parallelem SRAM heran, wenn die 
Hardware des AVR das nicht unterstützt und man alles in Software machen 
muss.

Autor: funkeld (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jup, bin jetzt überzeugt.

25LC512, was ist der Programmierunterschied zum 24c256 zb beim 
Programmieren.
Den 25c256 kann ich programmieren.

Wie sieht es mit dem 25LC512 aus?
Wie wird er als Adresse angesprochen ...., wie kann man in einem Rutsch 
128 Byte schicken.

Gibt es irgendwo eine ein deutsches tut dafür.

Danke.

Gruss

Autor: funkeld (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht es mit einer SD-Karte aus als Ram nutzen zum dauernden 
speichern und lesen.
Eine SD-karte habe ich auf dem Board.

Gruss

Autor: scnr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
funkeld schrieb:
> Wie sieht es mit dem 25LC512 aus?
> Wie wird er als Adresse angesprochen ...., wie kann man in einem Rutsch
> 128 Byte schicken.
>
> Gibt es irgendwo eine ein deutsches tut dafür.

Nein, aber sicher ein englisches Datenblatt. ;)

SCNR. :)

Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo funkeld,

also Datenblätter (auf englisch) muss man schon lesen können, wenn man 
Elektronik betreibt. Der wesentliche Unterschied zwischen 24CXX und 
25LCXX ist die Schnittstelle. Ersterer hat I²C, letzterer SPI. Der 
ATMega unterstützt beides in Hardware. SPI ist deutlich schneller, kann 
mit halbem Systemtakt laufen, während man bei I²C eigentlich nicht viel 
über 400kHz hinaus kommt (auch wenn der Stein mehr kann) Bei 
sequentiellem Lesen kommt man also bei SPI auf ~1MByte/s (@20MHz 
Systemtakt) bei I²C auf ~50kByte/s.

Noch ein Tipp: Wenn du ISP nutzen willst, solltest Slaveselect mit einem 
externen Pull-Up versehen. Wenn beim Programmieren RESET auf low gezogen 
wird, werden alle Ausgänge hochohmig, der Speicher fühlt sich dann 
vielleicht angesprochen und quatscht dazwischen. Ich würde den Stein 
sogar sockeln, damit man ihn notfalls ganz entfernen kann.

Autor: funkeld (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
....also Datenblätter (auf englisch) muss man schon lesen können....

Das ist das Problem bei solchen Dingern.
Habe zwar schon 2 Selbstbau-Miniroboter mit Atmega laufen, 
Sd-karte,Kamera,Ultra und anderen Sensoren,Ir,Funk usw.

Aber diese Speicheransprechung mit Zyklen usw ist bei mir sehr schwierig 
hinzubekommen.

Nach dem vielen Meinungen habe ich mich für den AVR1284PU entschlossen.
Habe 2x Bestellt , zwar stück für 7,99.

Aber diese 16kb reichen mir.
Brauchen tue ich nur 128x112 byte, soviel Speicherstellen hat die 
Gameboy-Cam für den Roboter.

Gruss

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.