Externes SRAM-Interface AVR

13/12/2014 - 18:09 von Johannes Bauer | Report spam
Hallo Gruppe,

ich habe eine Frage zu einem externen SRAM Interface an einem
AT90CAN128, das ich benutzen möchte. Möchte nur sicher gehen, dass ich
alles richtig verstanden habe, bevor ich das aufbaue:

Habe als RAM-Baustein einen 628128P (8 x 128k). Der wird per CS, !WE und
!OE gesteuert.

Auf dem Bus hàngt zum einen ein 6808. Der 6808 hat einen R/!W Ausgang
und einen VMA (Valid Memory Address) Ausgang. Wenn ich den mit dem SRAM
betreiben will, habe ich R/!W an !WE des RAM-Bausteins gehàngt und VMA
an CS des SRAM. !OE des SRAM hàngt permanent and GND.

Zum anderen hàngt an dem Bus ein AT90CAN128. Wenn der den RAM bedient,
ist der 6808 komplett abgekoppelt (74HC244 für Adress- und 74HC245 für
Datenbus). Jetzt möchte ich gerne 32k per externem Memory-Interface in
den Adressraum des AVR einblenden (und über zwei zusàtzliche GPIOs
jeweils die vier Bànke selektieren).

Hier verbinde ich jetzt !WR mit !WE. Den !RD Ausgang des AVR lasse ich
in der Luft hàngen (!OE des SRAM ist ja eh permanent auf GND). Daten-
und Adressbus (also 15 Bit vom Adressbus zumindest) sind regulàr
verbunden bzw über einen 74HC573 gelatched.

Funktioniert das so, wie ich mir das denke? Zugriff auf den RAM haben
immer entweder der 6808 oder der AVR, nie beide gleichzeitig. Mache mir
ein bischen Sorgen, den !RD des AVRs nicht zu verwenden bzw !OE des
SRAMs permanent an GND zu haben, aber mir fàllt gerade kein Grund ein,
warum das nicht gehen sollte.

Vielen Dank für eure Tipps,
Johannes
 

Lesen sie die antworten

#1 Johannes Bauer
13/12/2014 - 18:25 | Warnen spam
Am 13.12.2014 um 18:09 schrieb Johannes Bauer:

!RD des AVRs nicht zu verwenden bzw !OE des
SRAMs permanent an GND zu haben, aber mir fàllt gerade kein Grund ein,
warum das nicht gehen sollte.



Ja, doch. Wenn !OE permanent aktiv ist, dann schreiben ja sowohl der AVR
als auch der SRAM auf den Datenbus, bis !WR kommt. Also Murks.

Neue Idee: AVR wie gedacht an den SRAM ranflanschen. CS per GPIO.

Anbindung des 6808 àndern: R/!W geht an direkt an !WR, VMA geht an CS.
!RD an 1k Pulldown.

Dann kann ich, wenn der AVR den RAM bedient den CS permanent aktiv
lassen (das externe Memoryinterface nimmt !RD und !WR) und wenn der 6808
den RAM bedient dann ist !RD immer immer aktiv und CS schaltet stàndig
den Bus an und ab.

Vielleicht habe ich ja immernoch einen DEnkfehler, ich bin mir nicht
sicher. Darum bin ich für alle Tipps dankbar.

Viele Grüße,
Johannes

Ähnliche fragen