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
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.
Prinzipiell kann man das so nicht sagen, es gibt einige mit Interface für ext. Speicher.
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..
Stimmt - es gibt einige wenige AVR-CPU-Typen mit SRAM-Unterstützung. Nur, hilft das jetzt in diesem Fall (vorhandenes mega644-board) weiter?
nö :-) Mir ging es nur um die Aussage: "AVR-CPUs sind nicht für den Anschluss von klassischem SRAM ausgelegt."
@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
Wozu braucht man denn 64kB? Wenn der ATmega644 knapp wird, nimm doch erstmal den ATmega1284P (16kB). Peter
@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.
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
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
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. :)
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.
....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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.