16M2164-Ersatz

Public

@boert

Share 16M2164-Ersatz

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

Ersatz für Hybridschaltkreis 16M2164

Der 16M2164 von KWH (Keramische Werke Hermsdorf) ist ein Speicherschaltkreis in Hybridbauweise. Er ist vermutlich nur in sehr geringen Stückzahlen hergestellt worden. Der Hybridschaltkreis enthält 16 mal das Die (ein Stück vom Halbleiterwafer) des Schaltkreises U2164 sowie einige Stützkondensatoren auf einem Keramiksubstrat.
Der U2164 ist ein dynamischer RAM mit 64kBit. In Summe enthält der 16M2164 ein MegaBit bzw. 128 kByte Speicher.

Zum Einsatz kommt der Schaltkreis 16M2164 im Speichermodul M036 für den KC85 aus Mühlhausen 1.
Um die unbestückten Leiterplatte, die für dieses Modul im Umlauf sind, nutzen zu können, benötigt man i.d.R. einen Ersatz für den 16M2164.

Von U. Zander stammt die urspüngliche Idee einer Schaltkreisersatzplatine, die nur mit vier dRAM-Schaltkreisen auskommt 2. Diese Lösung funktioniert leider nicht perfekt.

[!Note]

dynamischer Speicher

Bei dynamischen Speichern wird die Information als Ladung in Kondensatoren abgebildet. Durch Leckströme verliert sich diese Ladung mit der Zeit und muß daher regelmäßig aufgefrischt werden (Refresh). Dies geschiet u.a. beim Aktivieren des /RAS-Signals. Der Hersteller gibt dabei an, in welchem Zeitraum jede ROW-Adresse einmal aktiviert werden muß. Normalerweise wird die angelegte ROW-Adresse vom Speichercontroller entsprechend hochgezählt. Bei einem geschickt adressierten Bildwiederholspeicher könnte man auf den Refresh verzichten, da dort durch regelmäßige Lesezugriffe die Information beim Lesen aufgefrischt wird.

In der folgenden Tabelle sind die Refreshzyklen eingier dRAM-Hersteller aufgeführt:

HerstellerSpeicher-ICSpeichergrößeRefreshzyklenRefreshzeitGehäuse
  x1 Bit dRAMs
MostekMK40964k x 1642 msDIP16
MostekMK411616k x 11282 msDIP16
NECµPD416464k x 11282 msDIP16
MostekMK456464k x 11282 msDIP16, PLCC18
MostekMK416464k x 11282 msDIP16
NationalNMC416464k x 12564 msDIP16
SiemensHYB416464k x 12564 msDIP16
MostekMK41256256k x 12564 msDIP16, PLCC18
SiemensHYB511001M x 15128 msSOJ26
  x4 Bit dRAMs
TITMS441616k x 42564 msDIP18, PLCC18
TISMJ446464k x 42564 msDIP18, PLCC18
NECµPD4146464k x 42564 msDIP18, PLCC18
TISMJ446464k x 42564 msDIP18, PLCC18
MitsubishiM5M4464A64k x 42564 msDIP18, PLCC18, ZIP20
SamsungKM41464A64k x 42564 msDIP18, PLCC18, ZIP20
SiemensHYB514256256k x 45128 msDIP20, SOJ26/20
NECµPD4244001M x 4102416 msTSOP26, SOJ26/20

Eine Vergleichstabelle von 64k-Bit dRAM-Chips findet sich unter 3.

Die verwendeten Speicher-IC der Größe 64k x 4 Bit benötigen alle 256 Refreshzyklen. Damit muß der Zähler für den Refresh mindestens acht Bit breit sein. Die U880/Z80-CPU enthält nur einen 7 Bit-Refreshzähler, der für die Bausteine mit 64 oder 128 Refreshzyklen ausreichend ist. Die obere Hälfte des Speichers erhält keinen definierten Refresh und verliert mit der Zeit ihren Inhalt.

Im Folgenden sind drei Wege aufgezeigt, um den fehlenden Speicher zu ersetzen: Variante R, Variante D und Variante S.

Variante R: Refresh

Der übliche Weg ist es, den Refreshzähler zu erweitern.
Ein Schaltung dafür findet sich z.B. in 4.

Auch im Grundgerät D001 (KC85/4) werden aus den Signalen /rfsh, mreq und ab6 die Signale RF7 und RF8 gebildet, die den Refreshzähler des Z80 auf 9 Bit erweitern:

Der erweiterte Refreshzähler steht leider nur den interne RAM-Bausteinen auf der Hauptplatine zur Verfügung.

Am Modul 16M2164 steht weder der erweiterte Refreshzähler, noch das eigentliche Refresh-Signal zur Verfügung.
Zumindest des Refresh-Signal müsste auf separatem Weg zugeführt werden.
Daher wurde diese Lösung nicht weiter verfolgt.

Variante D: dynamischer RAM

Im Robotrontechnik-Forum ist ein Bild vom Innenaufbau des 16M2164 verlinkt 5. Mit etwas Geschick lassen sich die 16 Stück U2164 auf einer Aufsteckplatine plazieren und so die Schaltung des 16M2164 1:1 nachbilden. Die erste Hälfte der Schaltkreise sitzt direkt auf der Adapterplatine. Die zweite Hälfte wird huckepack auf die bereits eingelöteten Schaltkreise gelötet und bis auf das /CAS-Signal parallel geschaltet. Die die untere Hälfte wird mit dem Signal /CAS0 aktiv. Die obere Hälfte wird entsprechend mit dem /CAS1-Signal aktiv.

Der große Nachteil dieser Lösung: sie benötigt zuviel Platz und passt nicht mehr in ein Modulgehäuse bzw. den Modulschacht. Das M036 läßt sich so nur offen an einem Adapter M007 betreiben.

Variante S: statischer RAM

Warum ersetzen wir nicht die dRAM-Schaltkreise durch einen einzelnen SRAM der Größe 128kx8 Bit? Ein SRAM benötigt die Signale /CS, /WE und /OE sowie Daten und Adressen. Am Bestückungsplatz für das 16M2164 stehen die Signale /RAS, /CAS0 (unter Hälfte), /CAS1 (obere Hälfte) und /WE zur Verfügung. Die Adressenleitungen sind multiplext.

Die Adressen müssen wieder demultiplext werden und für die Steuersignale ist eine Signalanpassung nötig. Ein Latch, was mit dem invertierten /RAS-Signal angesteuert wird, speichert die eine Hälfte der Adressinformation. Die andere Hälfte der Adresse wird direkt an den SRAM durchgereicht. Aus /CAS0 und /CAS1 wird das /CS-Signal gebildet. Aus dem Signal /WE wird noch das Signal /OE abgeleitet.

Da es ein RAM ist, dürfen Datenleitungen problemlos miteinander vertauscht werden. Ebenso kann man Adressleitungen tauschen, solange keine Sonderfunktionen realisiert sind. Damit wird das Routing auf der zweilagigen Platine erleichtert.

Im Bild ist die Lösung zu sehen, die von der Grundfläche dem Original 16M2164 entspricht. Mit flachen Präzisions-Stiftleisten (und ohne IC-Sockel für den SRAM-Chip) läßt sich die Ersatzplatine im Modulgehäuse unterbringen. Der IC-Sockel im Bild diente für den Test verschiedener SRAM-Schaltkreise.

Test im M036

Für einen Speichertest im KC85/4 bzw. KC85/5 bietet sich das Programm RAMTEST3 an. Um gezielt nur das Speichermodul M036 zu testen kann man mit TESTM den Modulschacht mit angeben, z.B. TESTM 0C. Anschließend werden die acht Segmente des M036 durchgetestet:

Nutzung des Modul M036

Typestar + RAMDOS

Das Textverarbeitungssystemm Typestar6 bringt das RAMDOS-System mit. Damit wird das KC-CAOS um eine RAM-Disk erweitert.

RAM-Disk für MicroDOS (D004)

Beim Start von MicroDOS 7 werden vorhande RAM-Module als RAM-Disk (Laufwerk A:) initialisiert. Das funktioniert auch mit dem Modul M036:

Footnotes

  1. Modul M036, Beschreibung, Bilder und Handbuch: Modulbeschreibung auf mpm-kc85.de ↩

  2. Schaltkreisersatzplatine 16M2164 https://www.sax.de/~zander/ --> Hobby --> KC85 --> Hardware --> 128K-Segmented-RAM-Modul (M036) ↩

  3. Vergleichstabelle 64 kBit dRAM-Chips: Examples of 4164 class RAM chips ↩

  4. c't 1984, Heft 9, M. Hungershausen, 8-Bit-Refresh für Z80 ↩

  5. Bild vom Innenleben des 16M2164 Forum robotrontechnik.de ↩

  6. Modul M033, Typestar: Modulbeschreibung auf mpm-kc85.de ↩

  7. MicroDOS: Beschreibung auf mpm-kc85.de ↩

Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.