Externes (Flash-/E)EPROM und RAM an AVR - Links, Literatur etc.

Apr 03, 2004 3 Replies

Hallo Leute!



Das ist jetzt wahrscheinlich für euch super billig. Bei einem Projekt brauche ich eben etwas mehr RAM (ca. 32K) und auch etwas mehr EPROM (ca.



1-2K), als mir Atmel mit den Mikrocontrollern bietet. Nur habe ich noch nie mit EPROMs gearbeitet und weiss gar nicht, wie ich die Dinger ansteuere. Am genialsten Stelle ich mir das so realisiert vor, das der µC in der Lage ist das externe EEPROM zu programmieren. Ist das schwer sowas aufzubauen? Muss ich dafür lange, bis in die Nacht hinein über unverständliche Bücher hängen und mich durch ein Dutzend Internetsites durchschlagen, weil keine das Thema vollständig abdeckt?

Kann mir vielleicht jemand Links, Literatur etc. empfehlen, wo ich a) zunächst einmal erfahren kann, wie man mit externen RAM und EPROM überhaupt umgeht. Was die so zum Schreiben und Lesen überhaupt an den Ein- und Ausgängen so erwarten. Überhaupt mal die verschiedenen Typen (ich habe da I2C-EPROMs gesehen - da graut es mir schon vor der I2C-Umsetzung im µC) kennen zu lernen. b) vielleicht mal ein Projekt/Schaltplan sehe, wie die Dinger an einen Atmel angeschlossen werden. Oder einfache Programmschnippsel sehe, wenn das Verständnis aus a) nicht ganz so gut war.



Schonmal vielen Dank für alle Antworten, Markus


Schau dir das Datenblatt vom Winbond W49F002U an. Im prinzip schließt du ihn an wie das Ram. Du mußt nur ein paar spielregeln beim Schreiben beachten. Es gibt diese Teile von vielen Herstellern allerdings mußt du aufpassen daß du keinen erwischst der nur Pagemode (meist 29F0x0) kann.

Ist aber relativ einfach, spart Pins und es gibt viel Beispielcode. Allerdings wirst du kein ram >256 bytes finden das billig und leicht erhältlich ist. Ausserdem ist es langsam.

MFG Gernot

Eventuell wäre es auch an der Zeit einen andern uC zu wählen der das gleich so drinn hat? Was grösseres von Atmel - oder dann halt was ganz anderes? Die Renesas M16C Familie ist IMHO einfach zu programmieren und bietet bis zu 512KB Flash und 32KB ram - alles auf dem Chip. Da gibt's aber sicher auch andere.

Markus

=2E

nie

=2E

Das mit dem RAM ist ganz einfach, wenn man einen AVR mit entsprechendem Interface nimmt (z.B. mega8515, mega162, mega64, mega128). Da schliesst man einfach ein asyncrones 256KiBit RAM mitsamt einem AC573 Adresslatch an. Nachdem man das "external memory interface" in MCUCR eingeschaltet hat, bildet das externe RAM zusammen mit dem internen programmiertechnisch eine Einheit. Das interne RAM verdeckt dabei den untersten Teil des externen oder anders gesagt: Jeder Zugriff der ausserhalb des internen RAMs liegt, wird von der Hardware automatisch auf die entsprechende Adresse des externen RAMs ausgefuehrt. Mit diesem System ist der Zugriff auf das externe RAM (nur) einen Takt langsamer als auf das interne.

ge ist

Nein. Das EEPROM programmiert sich selbst - da schiebt man die Daten rein und muss nur noch pollen um zu wissen wann es fertig ist.

cher h=E4ngen

Thema

Niemals, wie die SPI und IIC Kommunikation prinzipiell funktioniert steht im Datenblatt des AVR.

Nimm ein SPI EEPROM, die Kommunikation damit ist so simpel, dass es reichen sollte zusaetzlich das Datenblatt des EEPROMs zu lesen um den AVR code schreiben zu koennen.

IIC sollte auch kein viel groesseres Problem sein, wenn man einen AVR mit TWI Hardware nimmt. Mit der bescheidenen USI Hardware oder normalen Port Pins ist es etwas komplizierter und langsamer.

Micha

Wenn man schon Gefangener seines eigenen Geistes ist, kann man sich wenigstens seine Zelle vernuenftig moeblieren. Sir Peter Ustinov

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required