mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Masken EPROM ersetzen


Autor: malt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe zwei alte Storage Oszis (Tektronix 468). Die besitzen je zwei 
Masken Eproms Mostek MK36000 (64Kb), auf denen das Betriebsprogramm 
gespeichert ist. Bei einem der beiden Geräte sind diese Eproms offenbar 
defekt (mit den Eproms des anderen Gerätes läuft auch dieses). Das 
Datenblatt des verwendeten Mostek Masken Eproms habe ich angehängt.

Ein Bekannter hat die Speicherinhalte der funktionierenden Eproms 
erfolgreich ausgelesen und auf zwei 27C64 gebrannt. Die haben natürlich 
ein paar Beine mehr und ich habe aus jeweils 2 IC-Fassungen Adapter 
gebaut. Die PIN-Zuordnung ist soweit klar, bis auf eine Unklarheit: Der 
MK36000 besitzt lediglich eine ^CS Leitung während der 27C64 eine ^CS 
und eine ^OE Leitung hat.
Ich habe probiert, die ^OE dauerhaft auf Masse zu legen, das 
funktioniert aber nicht. In einem weiteren Versuch habe ich die ^OE 
Leitungen der beiden Chips mit dem ^RD Pin des verwendeten Controllers 
(8085A) verbunden. Auch das funktioniert nicht.

In einem Tektronix Forum habe ich gelesen, dass das mit dem 27C64 
irgendwie funktionieren soll, es gibt dort aber keine weiteren 
Beschreibungen, wie der Adapter auszusehen hat.

Es wäre toll, wenn mir hier jemand helfen könnte! Bei Bedarf hätte ich 
auch das Schaltbild des Scopes.

Gruß
malt

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich sollte es reichen OE\ auf GND und CS\ and CS\ zu legen. Es 
kann allerdings sein, dass das neue EPROM zu schnell ist. Ich hatte ein 
ähnliches Problem mal mit einem schnellen RAM und einem 6502 µC. Das 
Problem war, dass der µC die Daten an der steigenden Flanke von RD\ bzw. 
CS\ liest, aber die Daten gerne noch ein paar µs länger hätte, die 
heutigen schnellen Bauteile aber zu schnell auf Tristate schalten.
Versuch mal ob eine Verzögerung (z.B. in Form eines RC Glieds in der CS\ 
Leitung) funktioniert.

Autor: malt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, danke, werd ich probieren.

Gibts noch andere Ideen?

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Du kannst auch versuchen, nur /OE zu steuern, also /OE an /CS vom Board 
und /CS vom EPROM an GND. Das Timing ist dann etwas anders, vielelicht 
reicht das schon aus.

Gruß aus Berlin
Michael

Autor: Izmir Übel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
/OE und /CS des EPROM zusammenknoten und an den ehemaligen /CS heften.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann er zwar versuchen, sollte vom Timing aber /OE an GND und select 
über /CS entsprechen. Die /CS-Select-Zeiten sind meist etwas länger als 
die /OE Zeiten.

Gruß aus Berlin
Michael

Autor: malt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab alles probiert (ausser RC Glied), leider ohne Erfolg...

Autor: malt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...wie würdet ihr denn so ein RC glied dimensionieren?

Autor: Izmir Übel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit wären dann die trivialen Möglichkeiten wohl erschöpft.
Nächster Schritt:  Graf Oszillo bzw LA ran und Timinganalyse 
nacheinander mit MK und EPROM.

Gruß aus Ostberlin - Izmir Übel

Autor: malt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fürchte auch...

Autor: Izmir Übel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht mal 470 Ohm längsseits und 100 pF am /CS parallel nach Masse,

sollte so mit etwas Glück 20 - 30 ns machen (hängt von den Schwellen des 
EPROM ab).
Ist aber eigentlich schon ne krasse Dimensionierung, d.h. Zeit 
wahrscheinlich noch zu klein und BE-Werte schon zu groß.

Autor: Izmir Übel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte übrigens ein ähnliches Problem mit einem Tek-LA DAS 9129. Da mußte 
ich den RAM ersetzen. War auch ein Elend, weil die verfügbaren neuen 
Rams
offenbar auch zu schnell waren. Hab dann russische genommen. Die laufen 
bis heute.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich fürchte, da ist eher ein Adresslatch fällig, der MK will die 
Adressen gültig von Beginn der flallenden /CE-Flanke bis max. 75ns nach 
Ende der fallenden Flanke. Die Daten sind dann nach Ende der fallenden 
Flanke nach mx. 300ns gültig. Da scheint also ein internes Adress-Latch 
zu existieren...

Wenn der Kram also wirklich die Adressen bereits während der Aktiv-Phase 
von /CE wechselt, kommt beim 27C64 nur noch Müll an.
Der 27C64 will die Adressen gultig bis Ende /CS bzw. /CE.

Also wohl 74xx573 oder so in die Adressen im Transparent-Mode, mit /CE
 dann das Latch verriegeln könnte passen. Ob da noch ein Inverter bei 
/CE fällig ist, habe ich jetzt nicht beim 74xx573 nachgeschaut.

PS: gerade nachgeschaut: Seite 4 des Datenblattes unter Operation steht 
es.
PPS: 573 würde passen, /OE an GND und LE an /CE ist genau richtig.

Gruß aus Berlin
Michael

Autor: Izmir Übel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Recht hat er! Das wird es wohl sein.

Autor: malt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
das muss ich erst mal verdauen, weil ich nicht soo viel Plan von der 
Materie habe. Anbei mal die Schaltung des TEK Boards (die ROMs sind 
obern rechts).

Das wird dann ja ein ganz schöner Aufwand mit dem zusätzlichen 573. 
Seltsam, dass die Amis aus dem TEK Forum das mit einem passiven Adapter 
gemacht haben wollen. Kann man nicht noch was trixen?

Erstmal danke soweit!
malt

Autor: Izmir Übel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist der Adapter nicht nur passiv?
Wenn der 27C64 gesockelt wird, bekommt man unterhalb im Sockel noch 
locker einen '573 rein. Wie früher auf alten Grafikkarten.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Schaltplan macht das nicht-funktionieren allerdings etwas 
rätselhaft.

Also ein 8085. AD0...AD7 sind Adress-/Datenbus im Multiplex. Das Latch 
für A0...A7 ist der 74LS373 (U550), da hängt auch A0...A7 der Roms dran.
ADR8...ADRC sind A8...A12 der CPU, gepuffert mit U472.

/CE der Roms wird mit dem 74LS138 (U478) aus A13...A15 der CPU 
decodiert.

Laut 8085 Datenblatt sind die Adressen A8...A15 noch einen Takt nach 
Ende nach dem Lesen der Daten gültig, müßte also eigentlich gehen...

Verdrahtungsfehler kannst Du ausschließen? Also 100% die Daten und 
Adressen den Bezeichnungen nach verbunden? Die 27C64 incl. Adapter 
lassen sich bei Deinem Bekannten auch sauber auslesen und sind identisch 
zu den intakten Originalen?

Gruß aus Berlin
Michael

Autor: malt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

Verdrahtung habe ich x mal gecheckt, bin mir sehr sicher, dass die 
stimmt. Der Bekannte hatte die neu gebrannten nur ohne meine Adapter auf 
korrekten Inhalt überprüft, das sollte man also noch mal probieren. 
Allerdings hatte er sich selber einen Adapter gemacht, um die MKs 
auszulesen (ob das wirklich nötig war kann ich nicht beurteilen). Man 
müsste dann Adapter auf Adapter stecken.

Danke & Gruß
malte

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die MK36000 haben eine relativ stark vom JEDEC Standard abweichende 
Pinbelegung.
Falls da beim Auslesen 2 Adressleitungen vertauscht wurden, kann 
natürlich nix gescheites rauskommen.

Autor: malt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das stimmt, allerdings konnte man im bin-file das eine ode andere 
sinnvolle "ascii wort" (zB. "TEK") lesen.

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, die abweichend belegten Adressleítungen sind A10 bis A12.
Wenn da was vertauscht ist, merkt man das bei so kurzen Sequenzen nicht 
unbedingt weil nur die Reihenfolge der 8 Blöcke zu je 1kB nicht mehr 
stimmt.

Autor: malt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, werde alles noch mal kontrollieren.

Autor: malt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Dieter hatte Recht: das ROM Image war tatsächlich fehlerhaft ausgelesen. 
Jetzt funktioniert alles mit /OE an Masse und /CS an /CS.

Vielen Dank nochmal für die vielen nützlichen Kommentare und Tips!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.