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

  • Thread starter Markus Wüstner
  • Start date
M

Markus Wüstner

Guest
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
 
In article <c4m9j1$a6r$04$1@news.t-online.com>,
"Markus Wüstner" <no-spam@failure.com> writes:
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
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.

da I2C-EPROMs gesehen - da graut es mir schon vor der I2C-Umsetzung im ľC)
kennen zu lernen.
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
 
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.
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
 
"Markus Wüstner" wrote:
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.
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.

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?
Nein. Das EEPROM programmiert sich selbst - da schiebt man die Daten
rein und muss nur noch pollen um zu wissen wann es fertig ist.

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?
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
 

Welcome to EDABoard.com

Sponsor

Back
Top