FA 12/87, S. 614-615
U. Rehn
Speichererweiterung auf 32 KByte für Mikrorechnerbausatz "Z 1013"
Der Beitrag beschreibt eine Möglichkeit zum Aufrüsten des MRB „1013“ der Grundvariante mit 16-K-RAM auf die doppelte RAM-Kapazität. Allerdings sollte der Umbau nur von versierten Elektronikamateuren vorgenommen werden, da das einen Eingriff in die Firmenhardware darstellt und damit sämtliche Garantieleistungen des Herstellers erlöschen! Denn um das Anfertigen einer komplizierten Leiterplatte zu umgehen, werden die zusätzlichen RAM-Schaltkreise „huckepack“ auf die vorhandenen RAMs gelötet. Dafür sind Fingerspitzengefühl, Geduld und ein Lötkolben mit einer dünnen, vorn gebogenen Kupferspitze erforderlich (evtl. eignet sich die Lötnadel). Peinlichste Sauberkeit beim Löten ist allerdings Grundvoraussetzung.
Einige Grundlagen
Zur ausführlichen Erläuterung der Funktion eines dRAM-Speichers wird auf die einschlägige Literatur verwiesen. Hier nur soviel: Der Speicher des 16-K-RAM-Schaltkreises ist in einer Matrix von 128 Spalten und 128 Reihen (128 x 128 = 16 384 = 16 Kbit) ausgeführt. Für die Adressierung eines Bit benötigt man 14 Adreßbit (2^14 = 16 384) - 7 Bit zur Auswahl der Reihe und 7 Bit zur Auswahl der Spalte. Ein Multiplexer sorgt dafür, daß zunächst die Reihenadresse und dann die Spaltenadresse verarbeitet wird. Um dem Schaltkreis anzuzeigen, welche Adresse gewünscht ist, gibt ein „L“-Signal am /RAS-Eingang (Pin 4 - siehe Bild 1) an, daß eine Reihenadresse anliegt. Dagegen bedeutet ein „L“-Signal am /CAS-Eingang (Pin 15) „Spaltenadresse liegt an“. Damit wird deutlich, daß bis aus /CAS alle anderen Pins eines neuen RAMs zu denen des schon vorhandenen parallelgeschaltet werden können. Die /CAS-Leitung selbst dient dann als „Chip-Select“ für den neuen Speicherbereich.
Da kleine BASIC-Interpreter nur Zahlen bis 32767 verarbeiten, sollte das neue /CAS-Signal von einem Adreßdekoder so gebildet werden, daß der neue Speicherblock im Adreßbereich von 4000H…7FFFH liegt. Der sich damit ergebende Gesamtspeicher von 0H…7000H = 32 KByte kann dann vollständig vom BASIC-Programm genutzt werden (abzüglich der vom Betriebssystem und vom 3-K-Interpreter „Riesa“ beanspruchten RAM-Plätze verbleiben etwa 28 KByte).
Erforderliche Bauelemente
Für den zusätzlichen Schaltungsteil sind folgende Bauelemente erforderlich:
- 1 x 220 µF/40 V, Eiko stehende Ausf.
- 1 x 470 µF/16 V, Eiko stehende Ausf.
- 4 x 68 nF, keramische Scheibenausf.
- 1 x 6,8 kW, Widerstand 1/20 W
- 1 x Schaltkreis DL 010 D
- 8 x RAM-Schaltkreis U 256 D o. ä., 250ns
Praktische Hinweise
Stromversorgung
Da die RAM-Schaltkreise nur dann wesentlichen Strom „verbrauchen“, wenn sie angesprochen sind, dürfte die Stromversorgung der zusätzlichen RAMs keine größeren Schwierigkeiten machen. Es wird ja entweder der alte oder der neue Speicherbereich angesprochen. Außerdem:
UBB = -5 V/Pin 1 - keine Veränderung;
UCC = +5 V/Pin 9 - jeden zweiten Pufferkondensator auf 68 nF vergrößern;
UDD = 12 V/Pin 8 - die Baugruppe „12 V“ muß etwas verstärkt werden, dazu sind C5.3 auf 220 µF/40V und R35 auf 6,8 kW zu vergrößern, V2 ist mit einer Kühlfläche zu versehen und außerdem wird C10.1 (befindet sich zwischen den RAMs) auf 470 µF/16 V erhöht.
/CAS-Dekoder
Zum Bilden des neuen /CAS-Signals (4000H…7FFFH) ist die Schaltung nach Bild 2 zu verwenden. Der dazu erforderliche DL 010 D wird durch Verbinden von Pin 4 und Pin 12 (Bild 3) vorbereitet und dann mit den Pins 3/5/7/14 „huckepack“ auf den Schaltkreis A8 der Originalleiterplatte gelötet. Anschließend wird noch ein Draht zwischen Pin 4 und A8 und Pin 2 des neuen DL 010 D gelötet. Am Pin 6 des neuen DL 010 D ist jetzt das /CAS-Signal für den zusätzlichen Bereich verfügbar.
RAM-Speicher
Nun beginnt die komplizierteste Arbeit. Es sei noch einmal auf die peinlichste Genauigkeit bei der Ausführung der Lötarbeiten verwiesen! Aber für den dann zur Verfügung stehenden Speicherbereich von 32 KByte lohnen sich Mühe und Sorgfalt. In der anschließend angegebenen Reihenfolge sollte der Einbau der Schaltkreise vorgenommen werden.
- Entfemen der 8 Stützkondensatoren und 2 Elkos an den vorhandenen RAMs.
- Verzinnen der Pins der vorhandenen RAMs bis zur Gehäusekante. Aber Achtung - manche RAM-Ausführungen besitzen rings um die Gehäusehaube des Schaltkreises einen masseführenden Leiterzug (0 V). Keinesfalls darfes beim Verzinnen zu Kurzschlüssen zwischen den Pins und dieser Masseleitung kommen!
- Verzinnen der Pins der neuen RAMs.
- Biegen der Pins der neuen RAMs entsprechend Bild 4 und waagerechtes Abbiegen der Pins 15 (/CAS).
- Aufsetzen eines neuen RAMs auf die Pins des schon vorhandenen. Dabei ist ein Stück Plast- oder Holzleiste als Abstandsstück zwischen die Gehäuse zu schieben, nach dem Verlöten kann es entfernt werden.
- Verlöten der übereinander angeordneten Pins beider RAMs (außer Pin 15). Nach Erstarren des Zinns ist durch Zugprobe auf festen und sicheren Kontakt zu testen.
- Nachdem alle RAMs aufgelötet sind, werden die (im Wert erhöhten) Stützkondensatoren und Elkos wieder eingelötet und die CAS-Verbindungen hergestellt.
Bild 1: Pinbelegung des 16-K-dRAMs U 256 D (o. l.)
Bild 2: /CAS-Signal-Generierung für die RAM-Erweiterung auf 32 K (o. r.)
Bild 3: Zusammenschaltung von IS A8 und DL010D (u. l.)
Bild 4: Zweckmäßige Biegevariante für die Pins der �Huckepack-IS„. Pin 15 (/CAS) muß waagerecht abgebogen werden. (u. r.)
Funktionskontrolle
Von nun an sollte auf eine gute Luftkühlung, speziell der Stromversorgung, geachtet werden. Das Testen des neuen und des alten RAM-Bereiches kann mit Hilfe der Monitorfunktionen überprüft werden. Denkbar wäre (nicht ab 000H…Monitorbereich):
K 100 3FFF 00 T 100 4000 3EFF C 100 4000 3EFF
Danach ist in der KILL-Routine das Argument auf z. B. 37H, A2H und FFH zu ändern und jeweils mit T und C zu testen. Sollte nach dem Einschalten keine Monitorfunktion möglich sein, so liegt ein Kurzschluß zwischen einem RAM-Pin und einer Gehäuseleiterbahn vor. Zeigt die C-Funktion Fehler an, sind alle Lötverbindungen zwischen den oberen und unteren RAMs noch einmal sorgfältig zu kontrollieren. Die Ausführung der SAVE-Funktion für den gesamten RAM-Bereich (S 100 7FFF) dauert etwa 125 s.
Erfahrungen
Der erhöhte Aufwand beim „Huckepack“-Löten rechtfertigt sich durch den Wegfall einer extra anzufertigenden, recht komplizierten Leiterplatte und dürfte für den versierten Elektronikamateur ein annehmbarer Kompromiß sein. Die so aufgebaute Schaltung funktionierte beim Autor auf Anhieb und ist bei intensivem Gebrauch fehlerfrei. Die Möglichkeiten der BASIC-Programmierung vergrößern sich wesentlich. So sind mit der Firmensoftware „Programm zum Speichern von Namen und Adressen“ jetzt z.B. 80 Blöcke zu je 250 Byte (früher 100 Byte) oder 200 Blöcke zu je 100 Byte (früher 80 Blöcke) speicherbar. Kommentar- und Textzeilen können nun ausführlicher angelegt werden, ohne die RAM-Grenze zu erreichen.
Nicht zuletzt ist die Vergrößerung des RAM-Speicherbereiches aber unbedingt erforderlich, wenn man in Zukunft mit einem 6-K- oder gar 12-K-BASIC-Interpreter arbeiten will.
Noch mehr Speicher
Wer auch den Bereich von 8000H…BFFFH als RAM auslegen möchte, der sollte erst je zwei RAM-Schaltkreise übereinander löten und dann erst „huckepack“ mit den schon vorhandenen RAMs verbinden. Aber dabei muß man dann schon eine separate Stromversorgung der zusätzlichen RAMs berücksichtigen. Das für diesen Bereich erforderliche /CAS-Signal wird in einer ähnlichen Schaltung wie in Bild 2 gebildet:
/CAS = /(CASG AB15 /AB14).
Der verfügbare Speicherbereich vergrößert sich damit auf etwa 48 KByte.