Das Wochenendrätsel,oder welche Fragen mir ein alter Eurocom-1-Rechner stellt

04/05/2016 - 23:59 von R.Kiefer.SPAEM | Report spam
Hallo!

Die Vorgeschichte: ich restauriere gerade einen Eurocom-1-Rechner von
Eltec aus dem Jahr 1979. Der hat einen 6802 @1MHz, 2kB EPROM (2716), 1kB
RAM (2* 2114), zwei 6820, einen 6850 sowie 30 Tasten und acht
Siebensegmentanzeigen auf der Platine. Ein Foto davon gibt's hier:
www.ralf-kiefer.de/hist/EltecE1/E1BSklein.JPG

Die Platine hat auf der Rückseite zwei Dutzend "Reparaturen" mit
Kupferlackdraht. Hier bevor ich anfing:
www.ralf-kiefer.de/hist/EltecE1/E1LSklein.JPG
Ich mußte noch ein paar Dràhte ergànzen, um den Unfall beim Vorbesitzer
von vor über 30 Jahren auszubügeln. Beim Durchklingeln (statisch) paßt
alles.

Dazu habe ich zwei Erweiterungskarten von Eltec, eine Terminalkarte für
Textausgabe mit 16 Zeilen je 64 Zeichen sowie eine Speicherkarte, die in
4 Bànken je 4kB bestückt werden kann:
www.ralf-kiefer.de/hist/EltecE1/E1SHEBSklein.JPG
Die hatte keinen Unfall und demzufolge keine "dritte Lage" auf der
Unterseite ergànzt. Die hat Bustreiber sowohl für Adreß- (LS241) wie
Datenbus (LS245).

Die Backplane übernahm ich aus einem fast ebenso alten Industrierechner,
habe diese auf jeweils 5 Steckplàtze abgesàgt und in einem 19"-Rack
versenkt. Das originale Eltec-Netzteil hat(te) Schwàchen, die mit Hilfe
von dafc bereits teilweise beseitigt wurden. Die aktuellen Tests mache
ich allerdings am Labornetzteil, das eine bessere Regeleigenschaft
aufweist. Beim Test waren durchgehend zwischen 5,0 und 5,1V angelegen.
Die Backplane ist kurz und hat keine Terminierung. Beim Test steckt die
CPU-Karte am einen Ende, die Speicherkarte am anderen Ende. Diese
Backplane wurde seinerzeit mit bis zu 21 Steckplàtzen in
Industriesteuerungen verwendet, die mit 6809 @2MHz (und Bustreibern)
liefen. Die Eurocom 1 hat dagegen keine Bustreiber für Adreß- oder
Datenbus.

Problematisch ist der Betrieb der Speicherkarte. Es betrifft sowohl die
alte von Eltec wie auch eine gerade selbst "gefàdelte", die nur aus
einem 62256 (32kB SRAM) sowie einem 74LS10 zur Dekodierung besteht, also
ohne Bustreiber.

Die Eltec-Karte hat eine Monitor-Software, mit der ich Speicher
beschreiben und auslesen kann. D.h. ich kann auch Code ins RAM schreiben
und diesen aus dem Monitor starten. Ich kann weiterhin ein zweites EPROM
mit eigenem Code ergànzen und diesen daraus starten.

Erster Versuch mit der Speicherkarte, nachdem ich die RAMs tauschte,
weil einer der Chips offensichtlich die >30 Jahre Lagerzeit nicht
überlebt hatte, oder bereits beim Vorbesitzer kaputt war. Der eine
kaputte produzierte immer eine Eins, was ich durch Tauschen der Plàtze
in den Sockeln recht einfach rausfand. Ein netter Regular aus dafc
überließ mir seinen Vorrat an passenden RAMs. Aus dem Monitor kann ich
jetzt die RAMs Adresse nach Adresse beschreiben, nach dem Schreiben
liest der Monitor den Inhalt sofort zurück und würde sich beschweren,
wenn der Inhalt nicht stimmt. Aber das machte er nur mit dem einen
defekten Chip, nicht mit den getauschten. Ich konnte im zweiten Versuch
viele Adressen manuell mit Bitmustern beschreiben und diese nach
mehreren Betriebsstunden problemlos aus den SRAMs rücklesen. Soweit sah
die Speicherkartenbastelaktion zunàchst erfolgreich aus.

Im dritten Anlauf schrieb ich ein wenig 6802-Code, um den Speicher zu
füllen und zu prüfen. Genau das geht schief! Ich erhalte prinzipiell
mehr 1er zurück, als ich reinschreiben ließ. Die Muster wiederholen
sich, allerdings nicht ganz systematisch. Diverse Konstellationen (Code
im RAM sowohl in den 128Byte im Prozessor wie in den beiden 2114, Code
im EPROM, verschiedene Varianten des Schreibens mit unterschiedlichen
Bitmusterabfolgen) waren erfolglos, manchmal bereits bei der ersten
Adresse, manchmal erst die 200.

Irgendwann habe ich mein uraltes Oszi ausgepackt (Siemens Oscillar M911,
spàte 1960er Jahre, leicht schiefes Bild, derzeit nur 1 Kanal
funktionierend) und reingeschaut. Ergebnisse: die "Kurven" der
Adreßleitungen sehen gut aus, d.h. Low-Pegel wirklich Low, High-Pegel
bei rund 4V, die Flanken sind steil. Aber die Datenleitungen sind
gruselig. Hier sehen sie IMHO noch relativ gut aus, wenn auch etwas
auffàllig mit ihren Stufen:
www.ralf-kiefer.de/hist/EltecE1/D0_unbelastet.JPG
www.ralf-kiefer.de/hist/EltecE1/D1_unbelastet.JPG
www.ralf-kiefer.de/hist/EltecE1/D2_unbelastet.JPG
Meßbedingungen: die Eurocom 1 liegt ohne Backplane herum, einen von den
hierzu nicht benötigten 6820 habe ich rausgezogen, d.h. die 6802-CPU
treibt auf ihrem Datenbus einen 6820, einen 6850, ein EPROM 2716 sowie
zwei 4bit-SRAMS 2114. Das Oszi-Bild ist bei 1V/cm und 1usec/cm
entstanden, das Bild hàngt ein bißchen schràg hinter der Skala.

Stecke ich die Eurocom 1 auf die Backplane und lasse die
Spannungsversorgung über die Backplane laufen, àndert sich das Bild
praktisch nicht. Stecke ich die alte Eltec-Speicherkarte SHE dazu (ohne
Zugriffe drauf), dann àndert sich das Bild massiv:
www.ralf-kiefer.de/hist/EltecE1/D2_mit_SHE_passiv.JPG
www.ralf-kiefer.de/hist/EltecE1/D7_SHE.JPG
Soweit wàre eigentlich der Fehler gefunden: entweder ist der 74LS245 von
der Speicherkarte hinüber, oder die CPU packt die zusàtzliche Last
nicht. Die CPU konnte ich einfach austauschen: statt der Motorola 6802
von 1978 steckt bei diesen Bildern vom Oszi eine jüngere Hitachi-6802
(Datecode 5E1, was immer das sein mag) drauf. Es sieht nahezu gleich
(schlecht) aus. Logischer Fehler wàre demnach: 74LS245 von der
Speicherkarte.

Das große Aber: stecke ich meine eigene gefàdelte Karte stattdessen in
denselben Slot, sieht das Bild schon viel schöner aus:
www.ralf-kiefer.de/hist/EltecE1/D2_mit_RAM32.JPG
Aber die Fehler beim Schreiben per Code bleiben dieselben! Ich schreibe
per Schleife Daten in den Speicher, im direkt nach dem Schreiben
folgenden Lesebefehl stimmen die Daten noch, aber beim spàteren Lesen
sind die kaputt. Auffàllig hàufig liefern D7 und D6 eine 1 statt einer
0. Schreibe ich die Bitmuster per Monitor-Software rein, stimmt der
Inhalt und die Daten bleiben erhalten. Per Code-Schleife àndern sich
dagegen die Daten.

Den LS245 kann ich natürlich tauschen, allerdings vermute ich in diesem
nicht unbedingt den (einzigen) Fehler. D.h. ich möchte mir das Löten in
der alten Hardware sparen, wenn es nur Trial&Error ist und nicht
unbedingt das Problem löst.

Ich gehe davon aus, daß die Schaltung seinerzeit prinzipiell
funktioniert hat. Der Vorbesitzer kann sich ebenso an die
Funktionsfàhigkeit genau dieser Hardware-Konstellation erinnern, was
nicht heißt, daß wàhrend >30Jahren Lagerung mehr kaputt ging als nur ein
RAM-Chip.


Jetzt die Preisfrage (ohne Preis): Was ist kaputt?
Oder: Wieviel Fehler habe ich in diesem Aufbau?
Oder: Was kann ich mit dem Oszi anschauen, wie kann ich mit ein paar
Assemblerbefehlen dem Fehler auf die Spur kommen?
Oder: Kann irgendwas in der "dritten Lage" auf der Eurocom 1 schuld dran
sein?


Danke schonmal fürs geduldige Lesen :-)

Gruß, Ralf
 

Lesen sie die antworten

#1 Holger
05/05/2016 - 02:22 | Warnen spam
Ralf Kiefer schrieb:

Jetzt die Preisfrage (ohne Preis): Was ist kaputt?



Die Datenleitungen möchten gerne terminiert werden. Am besten mit einer
aktiven Terminierung, die über Widerstànde (150 Ohm) auf jede Leitung
rund 2.5 Volt gibt. Diese Spannung sollte mit einem Spindeltrimmer
einstellbar sein. Außerdem empfiehlt sich die Verwendung von Bustreibern
wie 74LS244 und 74LS245.

HTH, Holger

news://freenews.netfront.net/ - complaints:

Ähnliche fragen