Funkamateur 01/90 |
Wer den Aufwand für den Aufbau der 320-KByte-RAM-Floppy scheut,
der hat sicher schon lange nach einem
Layout für einen normalen 64-KByte-Speicher gesucht. Darum stellen
wir an dieser Stelle noch einmal eine
solche (auch kaskadierbare) Speicherbaugruppe vor. Der Autor hat hier
aus Beschaffungsschwierigkeiten zum
Manuskriptzeitpunkt heraus V 40098 statt der DL 257 als
Adreßmultiplexer eingesetzt.
Die Schaltung entspricht der in [1]
veröffentlichten. Es werden nur die Multiplexer
DL 257 durch die V 40098 ersetzt, durch eine Dekoderschaltung (D 14.1;
D 14.2) und durch eine Zeitanpassung
(D 13.1; D 13.2) ergänzt.
Die Dekoderschaltung blendet die Adressen 0000H bis 1FFFH aus dem RAM
aus, da dieser Adreßbereich durch
Monitor, BWS und statischen RAM der Grundplatte belegt ist. Weiterhin
habe ich das Signal RAMCS aus
[1] beibehalten, um mehrere solcher Platten
kaskadieren zu können.
Es ist dadurch möglich, eine RAM-Floppy, die theoretisch eine
Größe bis in den MByte-Bereich besitzen kann,
aufbauen zu können. Aus praktischer Sicht würde eine
Größe für eine RAM-Floppy von 256 KByte ausreichen.
Das RAMCS ist dann über die noch freien Portleitungen der PIO auf
der Grundplatte (PB0...PB5) umzuschalten.
Dazu ist es nötig, daß die PIO auf Bit-Betrieb und auf
Eingang durch den Monitor initialisiert wird, das
RAMCS des Arbeits-RAM mit einem Widerstand von 1 kΩ gegen + 5 V zu
schalten und mit PB0 zu verbinden.
Auf nachfolgenden Platten wird das RAMCS mit 680 Ω gegen Masse
geschaltet und mit der entsprechenden
nächsten Portleitung verbunden. So entsteht eine RAM-Floppy, die
sich über OUT-Befehle an die PIO in Blöcken
zu 56 KByte umschalten läßt. Benutzt man die Platte jedoch
als normalen Arbeits-RAM und ist ein Umschalten
nicht nötig, so wird RAMCS über einen Widerstand gegen + 5 V
geschaltet.
Da der Multiplexer nun mit CMOS-Gattern aufgebaut ist, die
ungefähr die dreifache Impulslaufzeit gegenüber
den TTL-Gattern besitzen, ergibt sich die Notwendigkeit, die fallende
Flanke von /MREQ zu verzögern, damit
der Low-Teil der Adressen am RAM bei der fallenden Flanke sicher
eingeschwungen ist. Deshalb habe ich eine
Zeitkette (D 13.1; D 13.2) zur Verzögerung des /RAS-Impulses
eingesetzt.
Auf Grund der höheren Ausgangsimpedanz wurde auf die
33-Ω-Widerstände in den Adreßleitungen zu den
RAMs verzichtet. Die Kombination CMOS-Ausgang RAM-Eingang kommt einer
Anpassung (Za = Zi)
relativ nahe und somit sind Reflexionen stark gedämpft. Die
Adreßeingänge des Multiplexers schaltet man an
den Adreßbus der CPU, der ohnehin noch mehrere CMOS-Lasten
treiben kann. Beachtung muß lediglich dem
Steuerbus der CPU geschenkt werden (/RD, /MREQ, /RFSH), da diese
Signale je Platte mit einer TTL-Last
belastet sind. Als Ausweg würde sich eine Bustreiber-Platte
anbieten, auf der sich zusätzlich noch ein
Dekoder für die RAMCS-Signale aus den PIO-Portleitungen befinden
könnte.
Der Kondensator zur Verzögerung des /CAS-Impulses erwies sich im
Mustergerät als unkritisch. Die Schaltung
arbeitet sicher bei C = 0,5 nF bis 4,7 nF. Der Aufbau und der Test
sollten nach [1]
erfolgen. Ich empfehle jedoch, die U 2164 einzulöten, da:
1. die Leiterplatte und die Schaltung nicht für größere
RAMs ausgelegt ist;
2. Fassungen durch Kontaktschwierigkeiten immer Fehlerquellen sein
können;
3. die RAMs nicht so lötempfindlich, wie in [1]
erwähnt, sind.
Für die Schaltung gibt es eine Leiterplatte, da wilde Aufbauten
auf UNI-Platten in dRAM-Schaltungen zu
Problemen führen können.
[1] | Heyder, F.: Speichererweiterung 16 KByte für
Amateurcomputer "AC1", FUNKAMATEUR 35 (1986), H.9, S.464 u. 465; H.10, S.514 bis 516 |
[2] | Nerstheimer, H.: Speichererweiterung auf 64 KByte für
den Amateurcomputer "AC1", FUNKAMATEUR 36 (1987), H.12, S.615 bis 617 |
[3] | Hertzsch, A.: CMOS-Logikschaltkreisliste, S.72, Militärverlag der DDR, Berlin 1983 |
117 KByte | 138 KByte | 127 KByte | 138 KByte |
Bild 1 | Bild 2 | Bild 3 | Bild 4 |