Umbau der EPROM-Module M006/M028 und M040 zu EEPROM-Modulen mit Autostart-Funktion
von Frank Dachselt und Mario Leubner
Wenn in einem EPROM-Modul die Software gewechselt werden soll, dann ist einiger Aufwand notwendig: Modul aufschrauben und EPROM ausbauen, EPROM löschen und neu programmieren, EPROM wieder einsetzen und Modul zusammenschrauben. Man braucht zudem ein EPROM-Löschgerät und ein EPROM-Programmiergerät.
Wesentlich bequemer läuft diese Prozedur dagegen ab, wenn eine moderne Variante des EPROMs, nämlich ein EEPROM (elektrisch löschbarer EPROM), verwendet wird. Diese Speicherschaltkreise können mit entsprechenden Steuersignalen sowohl gelöscht als auch beschrieben (programmiert) werden, ohne dass zusätzliche Hardware wie Löschgerät und Programmierschaltung oder die von EPROMs bekannten Programmierspannungen notwendig sind. EEPROMs können byteweise beschrieben werden, wobei das vorherige Löschen des betreffenden Bytes automatisch erfolgt. Diese Speicher verhalten sich also fast wie statische RAMs mit dem Vorteil, dass sie ihren Speicherinhalt beim Ausschalten der Betriebsspannung nicht verlieren. Es muss lediglich beachtet werden, dass der Schreibzyklus gegenüber statischen RAMs wesentlich länger dauert (abhängig vom Hersteller sind das bis zu 5 ms).
Nach außen hin sind EEPROMs im wesentlichen pin- und funktionskompatibel zu den statischen RAMs gleicher Kapazität, bezüglich des Lesens also auch zu den entsprechenden PROMs und EPROMs. Sollen EEPROMs anstelle von EPROMs eingesetzt werden, muss lediglich noch das Schreibsignal an den zugehörigen Steuereingang gelegt werden. Dieser Eingang ist bei EPROMs im Normalfall nicht beschaltet, da er nur im Programmiermode Verwendung findet.
Die nachfolgend beschriebenen Umbauten machen aus Modulen M006/M028 und M040 jeweils ein 16-KByte-EEPROM-Modul. Anstelle der EPROMS von Typ 2764 (27C64) bzw. der PROMs vom Typ 2364 werden je zwei EEPROMs vom Typ 28C64 oder 28C65 eingesetzt.
Umbau des Moduls M006/M028
Das Originalmodul ist wahrscheinlich nur als M006 (BASIC (BM 600) und HC901-CAOS (BM 601) bzw. HC-CAOS 3.1 (BM 604)) mit zwei eingelöteten PROMs bekannt. Der Schaltplan des Originalmoduls ist in Bild 6 zu sehen. Der Umbau beginnt mit dem Auslöten der PROMs und dem Einbau von zwei 28-pol. Fassungen. Die Steuersignale werden wie folgt neu verschaltet:
- Die /CS-Dekodierung funktioniert bereits bei Lese- und Schreibzugriffen, da weder /WR noch /RD berücksichtigt werden, und braucht deshalb nicht verändert werden.
- In die /OE-Dekodierung des Originalmoduls geht das /RD-Signal nicht mit ein. Achtung: Die EPROMs können deshalb nicht zwischen einem Lese- und Schreibzugriff unterscheiden. Bei einen Schreibzugriff in das Modul treiben die Ausgänge der EPROMs gegen den Datenbus des Prozessors. Hier ist bei der Entwicklung des Moduls offenbar sehr gespart worden.
- Vom Pin 13 des D02.4 wird deshalb das invertierte PRSEL abgetrennt und das Signal RD (von Pin 4 des D09.2) angelegt. Damit wird /OE nur bei Lesezugriffen in das Modul aktiv.
- Das Signal WR (von Pin 6 des D09.4) wird anstelle von PRSEL an die Pins 1 und 2 von D01.1 gelegt. Damit bekommen die (E)EPROMs an Pin 27 ein undekodiertes Schreibsignal (also bei allen Schreibzugriffen). Dies ist ausreichend, da das /CS-Signal vollständig dekodiert wird. Es würde ebenso ausreichen, das /RD-Signal direkt an den /OE-Eingang zu legen.
- Die Pins 1 der (E)EPROMs werden von der Spannung UPRG abgetrennt, bleiben aber zusammengeschaltet. Die Pins 1 können unbeschaltet bleiben oder zur Sicherheit mit einem Pull-Up-Widerstand nach +5V gelegt werden. Optional lässt sich hier auch eine LED mit Vorwiderstand nach +5V schalten. Einige EEPROMs generieren an Pin 1 das /BSY-Signal (als Open-Collector-Ausgang) und die LED fungiert dann als Schreibanzeige.
Die notwendigen Veränderungen sind in Bild 7 dargestellt.
Das Modul funktioniert auch nach dem Umbau wahlweise mit EPROMs oder den originalen PROMs. Die Schreibanzeige per LED funktioniert bei EEPROMs vom Typ 28C65. Auch beim Schreiben einzelner Bytes leuchtet die LED kurz sichtbar auf. Bei EEPROMs vom Typ 28C64 ist Pin 1 dagegen unbeschaltet. Werden ältere NMOS-EPROMs (2764) in das Modul gesteckt, dann kann in das Pin 1 bereits im normalen Lesebetrieb ein so hoher Strom fließen, dass die LED ständig leuchtet. Dies bleibt aber ohne Einfluss auf die Funktion der EPROMs.
Umbau des Moduls M040
Das Originalmodul enthält vier Steckplätze, die mit vier 2-KByte-, vier 4-KByte- oder zwei 8-KByte-(EP)ROMs bestückt werden können, so dass sich ein 8-KByte- oder 16-KByte-(EP)ROM-Modul ergibt. Der Schaltplan des Originalmoduls ist in Bild 8 zu sehen. Für das 16-KByte-EEPROM-Modul müssen die Lötbrücken bzw. Jumper so geschaltet werden, wie es der Bestückung mit zwei 8-KByte-(EP)ROMs entspricht. Die Steuersignale werden wie folgt neu verschaltet:
- Im Pfad der /CS-Dekodierung wird das /RD-Signal von Pin 12 des D11.4 abgetrennt und Pin 12 mit Pin 11 verbunden. Damit funktioniert die /CS-Dekodierung sowohl bei Lese- als auch bei Schreibzugriffen.
- Aus dem Signal an Pin 9 von D14.2 werden wie in Bild 7 gezeigt mit Hilfe eines zusätzlichen 74LS00 bzw. DL000 die Lese- und Schreibsignale für die EEPROMs erzeugt. Der zusätzliche Schaltkreis kann “Huckepack“ auf den D14 (DL074) gesetzt werden. So lassen sich die Pins 2, 7, 9 und 14 direkt mit dem darunterliegenden Schaltkreis verbinden und der neue Schaltkreis bekommt einen festen Sitz. Die restlichen Verbindungen werden in Freiverdrahtung realisiert.
- Anstelle des originalen /OE-Signals (Pin 8 von D14.2) wird das neue Lesesignal an die Pins 22 der EEPROMs geschaltet.
- Die Pins 27 der EEPROMs werden von +5V abgetrennt und mit dem neuen Schreibsignal verbunden.
- Die Pins 1 der (E)EPROMs werden von +5V abgetrennt, bleiben aber zusammengeschaltet. Die Pins 1 können unbeschaltet bleiben oder zur Sicherheit mit einem Pull-Up-Widerstand nach +5V gelegt werden. Optional lässt sich hier auch eine LED mit Vorwiderstand nach +5V schalten. Einige EEPROMs generieren an Pin 1 das /BSY-Signal (als Open-Collector-Ausgang) und die LED fungiert dann als Schreibanzeige.
Die notwendigen Veränderungen sind in Bild 9 dargestellt. Diese Umbauvariante ist erprobt und liefert die gewünschten Ergebnisse. Nach unseren Überlegungen ist auch eine noch einfachere Variante möglich, die keinen zusätzlichen Schaltkreis benötigt. Die Punkte 1 und 5 der obigen Beschreibung bleiben unverändert. Die Lese- und Schreibsignale der EEPROMs werden wie folgt gewonnen:
- Anstelle des /OE-Signals (Pin 8 von D14.2) wird das /RD-Signal von Pin 3 des D03.1 direkt an die Pins 22 der EEPROMs geschaltet.
- Die Pins 27 der EEPROMs werden von +5V abgetrennt und mit dem (bisher unbenutzten) /WR-Signal von Pin 6 des D01.1 verbunden.
Sollte jemand diese einfache Variante ausprobieren, dann sind die Autoren sehr an einem Erfahrungsbericht interessiert.
Autostart-Funktion mit Strukturbyte 01
Befindet sich beim Einschalten (oder beim Drücken der RESET-Taste) des KC85 im Schacht 08 ein Modul mit dem Strukturbyte 01h, dann wird dieses Modul vom Betriebssystem automatisch auf der Adresse 4000h online geschaltet und die darin enthaltene Software nach Abschalten des RAM4 durch einen Sprung auf die Adresse 4000h gestartet. Damit ist es also möglich, Anwendersoftware ohne weiteren Bedienaufwand zu starten, was besonders bei automatischen Anwendungen oder für nicht KC-kundige Nutzer von Bedeutung sein kann.
Beim M040 ist das Strukturbyte in einem weiten Bereich, der auch den Wert 01h umfasst, frei wählbar. Wie die Lötbrücken bzw. Jumper für das Strukturbyte 01h geschaltet werden müssen, kann der Tabelle in Bild 8 entnommen werden.
Das M006 ist dagegen nur für die Strukturbytes F8h und FCh vorgesehen. Soll dieses Modul das Strukturbyte 01h senden, dann sind die folgenden Änderungen notwendig:
- Öffen der Lötbrücke RB01
- Abtrennen des Datenbus DB0 von Pin 8 des D03.3
- An den Ausgang Pin 8 von D03.3 werden fünf Schottky-Dioden (z.B. BAT43) wie in Bild 7 gezeigt zu den Datenbusleitungen DB3...7 geschaltet.
Bild 5 zeigt ein M006, das nach dieser Beschreibung zu einem EEPROM-Modul mit Schreibanzeige und Autostart-Funktion umgebaut wurde.
Alle Schalt- und die dazugehörigen Bestückungspläne (zum Auffinden der genannten Schaltkreise) sind als PDF-Dateien im Archiv EEPROM.ZIP enthalten.
Bild 5: Umgebautes M006 mit EEPROM und Autostart-Funktion. In der oberen Fassung steckt hier der EEPROM 28C65, während sich in der unteren noch der originale PROM U2364 befindet. Das Modul funktioniert auch bei gemischter Bestückung. Oben links ist die zusätzliche LED für die Schreibanzeige zu erkennen. Oberhalb des Elkos befinden sich die fünf Schottky-Dioden, deren Kathoden auf der Leiterseite mit Pin 8 von D03.3 verbunden sind.
(volle Größe)


Bild 6: Schaltplan, Bestückungsplan und Stückliste des originalen Moduls M028 (M006).
(volle Größe)
Bild 7: Umbau des Moduls M028 (M006) zum EEPROM-Modul mit Autostart-Funktion.
(volle Größe)


Bild 8: Schaltplan, Bestückungsplan und Stückliste des originalen Moduls M040.
(volle Größe)
Bild 9: Umbau des Moduls M040 zum EEPROM-Modul.
