SRAM am Atemage6444.

Gast #1882031
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
Gast #1882047
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.
#1882066
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..
#1882218
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
#1882267
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.
Gast #1882353
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
#1882385
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.
Gast #1882406
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren