Nachtrag zu Jörn: Der 6164 hat 64KBit, die 8K*8Bit organisiert sind,
also 8 KByte. 8 KByte brauchen 13 Adressbits (A0..A12)
Der Steuerbus besteht aus:
1. CE (oder auch CS = Chip Enable, Chip Select)
2. RD (Read, auch RE = Read Enable)
3. WR (Write, auch WE = Write Enable).
Alle Eingänge des Steuerbus sind Low-Aktiv, d.h. die Funktion ist
ausgewählt, wenn die entsprechende Leitung auf Low liegt.
So, flugs das Datenblatt heruntergeladen.... stimmt: Für Anfänger nicht
sehr berauschend.
Um Portpins zu sparen, ist der Daten/Adressbus gemultiplext (wie auch
beim MCS-51). Um an die richtigen Signale zu kommen, müssen die Signale
nun wieder auseinandergedröselt werden. Port A beinhaltet den Datenbus
und die unteren 8 Bit des Adressbusses, aueinandergehalten wird der
jeweilige Inhalt (Adresse oder Daten) durch die ALE (Adress Latch
Enable) Leitung. Der geheimnisvolle Baustein in der Mitte ist ein
solches Latch (=Zwischenspeicher).
Bei einem Speicherzugriff passiert nun folgendes: Der 8515 gibt auf
PortA das Low-Byte der Adresse aus und aktiviert über ALE das Latch.
Dieses speicher die Adresse. Ganz nebenbei wird auf PortC das High-Byte
der Adresse ausgegeben. Nun wird der PortA als Datenbus konfiguriert (je
nach Schreib-oder Lesezugriff), nun wird per RD oder WR die Art des
Zugriffs (lesen oder schreiben) festgelegt.
Als Latch kannst Du beispielsweise ein 74HC573 verwenden. Einfach PortA
0..7 mit D 0..7 des Latch verbinden, nebenbei wird PortA 0..7 auch mit D
0..7 des RAM verbunden. Q 0..7 des Latch werden mit A 0..7 des RAM
verbunden, A 8..A 12 des RAM mit PortC 0..4
Die restliche Verdrahtung wie im Datenblatt - fertig. Fast vergessen:
Wenn Du nur ein RAM verwendest, legst Du in Deinem Fall die CE-Leitung
auf Masse. Bei mehreren RAM / ROM Bausteinen mußt Du über eine
Adressdekodierung die Bausteine auswählen.
Alle Klarheiten beseitigt?