3.1. 8K RAM/ROM Baugruppe

Einleitung

Die Speicherbausteine sind neben dem Mikroprozessor (CPU) die wichtigsten Bau- steine zum Aufbau eines Mikroprozessorsystems. In ihnen sind die Daten und Befeh- le, die der Mikroprozessor verarbeiten soll, enthalten oder können dort abgelegt werden.

Zum Ausführen eines Programmes benötigt der Mikroprozessor unterschiedliche Speichertypen. Daten, die verändert werden sollen und die vom Anwender eingegeben werden, speichert man in Schreib-Lese-Speichern ab. Solche Speicher nennt man auch RAM. Die Abkürzung steht für Random Access Memory und bedeutet soviel wie „Speichersystem mit beliebigem Zugriff“. Programme, die nicht mehr geändert werden sollen, werden in Nur-Lese-Speichern oder ROM abgespeichert. Hier steht die Abkürzung für Read only Memory, was soviel bedeutet wie Speichersystem mit Lese- aber ohne Schreibmöglichkeit“. Die Programme in diesen Speichern werden vom Hersteller der ROM’s im Verlauf der Fertigung in die Speicherzellen geladen. Will man als Anwender solche Programme selber in Speicher laden, so muss man ROM’s verwenden, die sich elektrisch programmieren lassen. Speicher dieser Art nennt man EPROM. Die Abkürzung steht für Erasable Programmable Read Only Memory und bedeutet etwa Löschbarer aber programmierbarer Festwertspeicher“. Die Informationen in einem EPROM sind durch Bestrahlung mit UV-Licht löschbar, programmiert werden sie durch elektrische Impulse.

Ein weiterer Unterschied der genannten Speichertypen ist ihr Verhalten bezüglich ihres Informationsinhaltes nach Abschalten der Betriebsspannung. ROM- und EPROM- Speicher behalten ihren Inhalt nach Abschalten der Betriebsspannung, während er bei RAM-Speichern verloren geht.

Um das MC-Baugruppensystem erweiterbar und flexibel zu machen, werden alle Speicherbausteine auf einer eigenen Baugruppe angeordnet. Diese Baugruppe kann entweder mit RAM- oder mit EPROM (ROM)- Speichern bestückt werden. Die hierzu nötige Umschaltung erfolgt durch Einlöten einiger Drahtbrücken. Speichererweiterungen sind einfach durch Verwendung mehrerer Baugruppen möglich. Im folgenden wird zunächst erklärt, was beim Aufbau solcher Baugruppen zu beachten ist. Anschließend wird die Funktion der 8-K-RAM/EPROM-Baugruppe beschrieben.

Prinzip eines Speichers

Bild 1 zeigt das Prinzip eines Speichers und die zum Lesen und Beschreiben nötigen Anschlüsse.

Bild 20: Prinzip eines Speichers

Alle Informationen im Speicher sind in binärer Form gespeichert. Ein »Datenwort« besteht aus acht Bit und ist in einer Speicherzeile gespeichert, die ihrerseits aus acht Speicherzellen besteht.
Der Transport der Datenwörter in den Speicher hinein oder aus ihm heraus erfolgt über acht Datenleitungen, den Datenbus. Mit Hilfe der Bitkombination auf den 16 Adressleitungen – dem Adressbus – wird bestimmt, in welche Speicherzeile ein Datenwort gelangen oder aus welcher Zeile es gelesen werden soll. Die Anzahl der im Speicher ansprechbaren Speicherzeilen wird begrenzt durch die Zahl der zu ihrer Adressierung vorhandenen Adressleitungen. Mit n Adressleitungen lassen sich 2^n Speicherzeilen adressieren. Mit den 16 Adressleitungen eines 8-Bit-Mikroprozessors kann man also 2^16 = 65.536 Speicherzeilen ansprechen. Einen Speicher mit dieser Anzahl von Speicherzeilen nennt man 64-K-Speicher. Hier steht K für 1024 (= 2^10).

Mit den beiden Steuer-Leitungen MEMR und MEMW wird bestimmt, ob ein Datenwort in die adressierte Speicherzeile geschrieben (MEMW = L) oder aus ihr gelesen werden soll (MEMR = L).

MEMW steht für »memory write«, Speicher beschreiben, und MEMR für »memory read«, Speicher lesen. Die Überstreichung bedeutet, daß diese Signale bei L-Pegel wirksam (aktiv) werden.

Aufbau eines Speichers aus einzelnen Speicherblöcken

Der in Bild 20 dargestellte Speicher hat neben dem Vorteil des einfachen Aufbaus den großen Nachteil, daß er die gemischte Verwendung von RAM- und ROM- oder EPROM-Bausteinen nicht zuläßt, weil er die Höchstzahl von Speicherzeilen besitzt, die in MC-Systemen mit 16 Adreßbits möglich ist. Diesen Nachteil kann man vermeiden, indem man den Speicher aus kleineren »Speicherblöcken« aufbaut. Bild 21 zeigt eine mögliche Lösung, bei der ein 64-K-Speicher aus acht 8-K-Blöcken aufgebaut ist.

Bild 21: Ein 64-K-Speicher, aufgebaut aus acht 8-K-Blöcken.

Jeder einzelne Block kann hier jetzt aus RAM-, ROM- oder EPROM-Speicherbausteinen bestehen. Außerdem kann man auch mit kleineren Speichersystemen arbeiten, wenn die Aufgabenstellung keinen Speicher mit 64 K Speicherzeilen erfordert.

Da jeder der 8-K-Speicherblöcke aus 2^13 Speicherzeilen besteht, benötigt man zu deren Adressierung auch nur je 13 Adressleitungen (8 K = 8 x 2 10 = 2^13 = 8192). Die 13 Adressleitungen A0 … 12 führt man zu jedem der 8-K-Blöcke. Eine Decodierschaltung sorgt dafür, dass nicht die Inhalte von mehreren Speicherzeilen gleichzeitig auf den Datenbus geschaltet werden.

Ist die Bitkombination auf den Adreßleitungen A13 … A15 gleich derjenigen, die mit den Schaltern SA13, SA14 und SA15 eingestellt wurde, so erfolgt die Auswahl des entsprechenden Speicherblocks. Mit den drei Schaltern lassen sich acht verschiedene Speicherblöcke auswählen. Die niedrigste Adresse einer Speicherzeile eines jeden Speicherblocks nennt man »Basisadresse«; sie wird durch die gewählte Schalterstellungs-Kombination festgelegt.
Bild 23 zeigt den Aufbau eines 64-K-Speichers aus acht 8-K-Blöcken. Jeder Block ist eine eigene Baugruppe mit eigener Blockauswahl.

Bild 23: Ein 64-K-Speicher, aufgebaut aus acht 8-K-Speicherbaugruppen mit jeweils eigener Blockauswahl.

Jede dieser Baugruppen ist an alle Bus-Leitungen angeschlossen; die Baugruppen sind deshalb beliebig innerhalb eines Baugruppensystems austauschbar. Mit der Festlegung der Basisadresse durch die Schalterstellung am Adressvergleicher auf den Baugruppen ist der Adressbereich einer Baugruppe eindeutig festgelegt. Damit keine Überschneidungen bezüglich der Adressen auftreten, dürfen keine gleichen Schalterstellungen auf verschiedenen Baugruppen (oder 8-K-Blöcken) eingestellt werden.

Die Adressleitungen A13 … A15 liefern, wie bereits beschrieben, das Blockauswahl-Signal. Der Adressvergleicher gibt den 1-aus-4-Decoder nur dann frei, wenn sich die Gesamtadresse (aus A0 … A15) im Bereich der für den Block gültigen 8-K-Speicherzeilen befindet.

Beim Aufbau der Baugruppe aus acht 1-K-Speichern müsste der 1-aus-4-Decoder durch einen 1-aus-8-Decoder ersetzt werden; den Speichern würden dann nur die Adressleitungen A0 … A9 (2^10 = 1024) zugeführt, und der Decoder erhielte noch eine dritte Adressleitung A10, weil er dann acht Bausteine anzuwählen hätte (2^3 = 8).

Die Schaltung der 8-K-RAM/EPROM-Baugruppe

Bild 25 zeigt das Blockschaltbild dieser Baugruppe. Zunächst wird die Funktion erklärt; Schaltungsdetails werden anschließend beschrieben.

Bild 25: Das Blockschaltbild der 8-K-RAM/EPROM-Baugruppe.

Bild 26: Der Stromlaufplan der 8-K-RAM/EPROM-Baugruppe.

Der Adressbustreiber

Bild 27: Innenschaltung (Ausschnitt) und Funktionstabelle des Adressbus-Treibers

Funktionstabelle des 74LS244

Eingänge
/G (G1 / G2)

A
Ausgang
Y
HXZ
Hochohmig
LLL
LHH

Die internen Treiber (sie sind in einem IC achtmal vorhanden) haben einen Schmitt-Trigger-Eingang. Dadurch wird die Flankensteilheit der Ausgangssignale verbessert. Die Eingänge der beiden Steuerinverter (lG und 2G) sind hier mit Masse verbunden, weil der hochohmige Ausgangszustand bei einem Adressbus-Treiber nicht benötigt wird. Jeder Signalzustand der System-Bus-Adressleitungen wird damit direkt über den Treiber auf die Adreßeingänge der Speicher übertragen

Der Datenbustreiber

Die internen Datentreiber werden durch die Pegel an ihren Steuereingängen durchlässig oder hochohmig geschaltet: L-Pegel bringt sie in den hochohmigen, H-Pegel in den leitenden Zustand. Geliefert werden diese Pegel von den beiden UND-Gattern, die ihrerseits die Signale des »Datenrichtung-Eingangs DIR« und des »Datenfreigabe-Eingangs EN« miteinander verknüpfen. Der DIR-Eingang ist direkt mit dem Steuersignal MEMR verbunden und der EN-Eingang mit dem invertierten Signal der Baugruppenauswahl-Leitung. Wird die Baugruppe nicht angewählt, so führt diese Leitung L-Pegel: Der EN-Eingang erhält also H-Pegel, und alle Datentreiber sind hochohmig.

Bei einem L-Pegel am EN-Eingang wird die Datenflussrichtung vom Pegel des MEMR-Signals bestimmt. Ist es aktiv (L), so können Daten vom Speicher zum System-Bus gelangen, andernfalls vom System-Bus zum internen Bus der Baugruppe. Sie liegen dann an den Daten-Eingängen der Speicher zur Übernahme in die Speicherzeile bereit.

Bild 28: Innenschaltung (Ausschnitt) und Funktionstabelle des Datenbus-Treibers

Funktionstabelle des 72LS245

/ENDIR
/MEMR
FunktionWirkung auf der Baugruppe
LLDaten von B -> ALesen
LHDaten von A -> BEinschreiben
HLAusgänge hochohrigBaugruppe nicht ausgewählt
HHAusgänge hochohrigBaugruppe nicht ausgewählt

Die Baugruppenauswahl

Bild 29: Die Baugruppen-Auswahl.

Die Baugruppe ist angewählt, wenn der Ausgang des 4-Bit-Vergleichers H-Pegel führt. Ein solches Freigabesignal kommt nur zustande, wenn die Bitkombination der Adressleitungen A13 … A15 gleich der Bitkombination ist, die mit den Schaltern SA13 … SA15 eingestellt wurde. Ein offener Schalter erzeugt H-Pegel am B-Eingang, ein geschlossener dagegen L-Pegel.

MEMR oder MEMW aktiv ist, d. h. L-Pegel führt. Der IN-Eingang erhält dann H-Pegel.

Die Bitkombination der Adressleitungen A13 … A15, die zur Auswahl der Baugruppe führt, hängt von der Stellung der Schalter ab; daher bestimmt man mit diesen Schaltern auch den Adressbereich des 8-K-Speichers. Die niedrigste Adresse eines jeden Bereiches ist seine Basis-Adresse. Bild 30 zeigt eine Tabelle, in die alle möglichen Schalterstellungen und die zugehörigen Adressbereiche eingetragen sind.

Adresseinstellung

8
A15
4
A14
2
A13
Hex-
Zahl
Basis-Adr.
Speicherbereich
LLL00000 – 1FFF
LLH22000 – 3FFF
LHL44000 – 5FFF
LHH66000 – 7FFF
HLL88000 – 9FFF
HLHAA000 -BFFF
HHLCC000 – DFFF
HHHEE000 – FFFF

Bild 30: Die Adressbereichs-Tabelle

Die Basis-Adresse lässt sich leicht bestimmen, indem man die Wertigkeiten derjenigen Schalter addiert, die H-Pegel liefern (offen sind). An die hexadezimale Summe hängt man dann noch drei Nullen an. Die höchste Adresse eines 8-K-Adreßbereiches erhält man durch Addition von 1FFF zur Basis-Adresse.

Bausteinauswahl

Bild 31 : Der Schaltungsteil für die Baustein-Auswahl.

Funktionstabelle 74LS138

G1G2CBAY0Y1Y2Y3
LXXXXHHHH
HLLLLLHHH
HLLLHHLHH
HLLHLHHLH
HLLHHHHHL

Da auf der Speicherbaugruppe nur vier 2-K-Speicherbausteine vorhanden sind, wer- den nicht alle 8 Ausgänge und entsprechend auch nicht alle drei Eingänge des ICs 74138 benutzt. Der Funktionstabelle ist zu entnehmen, dass Eingang C auf L-Potential gelegt werden muss. Die verbleibenden beiden Eingänge A und B ermöglichen eine Unterscheidung von vier verschiedenen Bitkombinationen auf den Adressleitungen A11 und A12. Mit den entsprechenden L-Pegeln auf den Ausgängen Y0 bis Y3 wird jeweils ein 2-K-Speicherbaustein angesprochen.

Über die Steuereingänge G1, G2A und G2B kann der 1-aus-8-Decoder gesperrt werden. G2A und G2B sind auf L-Pegel gelegt und damit wirkungslos; über G1 wird der Decoder immer dann mit H-Pegel freigegeben, wenn die Baugruppe angesprochen wird.

Mit Hilfe der vier möglichen Bitkombinationen auf den Adressleitungen A11 und A12 läßt sich der Adressbereich der Speicherbausteine ermitteln. In Bild 32 sind diese Adressbereiche für alle vier Speicher zusammengestellt.

Bild 32: Tabelle zur Bestimmung des Adressbereichs der vier 2-K-Speicherbausteine.

Für den Buchstaben X ist jeweils die hexadezimale Summe der Schalterwertigkeiten (SA13 … SA15) für diejenigen Schalter, die H-Pegel liefern, einzusetzen. Siehe hierzu auch Bild 30.

Beispiel:
Auf einer Baugruppe sind alle Schalter offen, liefern also H-Pegel an den Adressvergleicher.

X = S + 4 + 2 = E (hexadezimal) Baustein-Adreßbereich:

IC08 : E000 – E7FF
IC09 : E800 – EFFF
IC10 : F000 – F7FF
IC11 : F800 – FFFF

Blockaufbau eines RAM-Bausteins

Bild 33: Blockaufbau und Funktionstabelle des RAM-ICs vom Typ 6116P-3.

Da der Steuereingang OE (Ausgangs-Freigabe) auf L-Potential liegt (siehe Bild 26), erfolgt die Steuerung des Datenverkehrs vom und zum Speicher nur über die Steuerleitungen CS (Baustein angewählt) und WE (Schreib-Freigabe).

Wenn die Baugruppe nicht angewählt ist, führt CS H-Pegel, und die Ein/Ausgabepuffer im RAM sind hochohmig. Bei angewählter Baugruppe und angesprochenem RAM führt der CS-Eingang L-Pegel. Der Datenverkehr hängt nun vom Pegel auf der WE-Leitung ab. Mit einem L-Pegel auf diesem Eingang werden Daten in den Speicher geschrieben; mit einem H-Pegel gelangen Daten aus dem Speicher auf den Datenbus .

Der Decoder im RAM erzeugt aus der Bitkombination der Adressleitungen A0…A10 ein Signal zur Freigabe der adressierten Speicherzeilen innerhalb des Speicherzeilen-Blocks.

Blockaufbau eines EPROM-Bausteins

Der EPROM-Baustein 2716 umfasst 2 KByte und ist anschlusskompatibel zum oben gezeigten RAM-Baustein 6116P-3, bis auf den Steueranschluss WE.

Da ein EPROM nicht beschrieben werden muss, fehlt dieser Steuereingang WE. Der Anschlussstift muss im Betrieb auf +5 V gelegt werden. Will man das EPROM programmieren, dient dieser Anschluss als Eingang für eine Programmierspannung. Die Steuerung des Datenverkehrs kann der Funktionstabelle aus Bild 34 entnommen werden.

Bild 34: Blockaufbau und Funktionstabelle des EPROMs 2716

Adresseinstellung

A15A14A13Speicherbereich
LLL0000 – 1FFF
LLH2000 – 3FFF
LHL4000 – 5FFF
LHH6000 – 7FFF
HLL8000 – 9FFF
HLHA000 -BFFF
HHLC000 – DFFF
HHHE000 – FFFF

Schalterstellung: On = L

Stromlaufplan

Bild 41: Der Stromlaufplan der 8-K-RAM/EPROM-Baugruppe.

Bestückungsplan


Dokumente

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert