alte 80C31-Schaltung funktioniert nicht. Problem mit EPROM-Datenspeicherung?

Teilspur der Tastatur-Scan-SchaltungIch habe ein altes Pro-Audio-Gerät zur Reparatur. Es stammt aus dem Jahr 1990. Es war damals ein ziemlich hochwertiges Gerät und hat immer noch einen gewissen Wert, sodass es sich lohnt, es zu reparieren. Aber die Symptome, die ich sehe, lassen mich am Kopf kratzen.

Irgendwann funktionierte das Frontpanel einfach nicht mehr. Das alte fluoreszierende Display ist perfekt, aber keine Schalter funktionieren. Ich habe Schaltpläne und Serviceinformationen für das Hauptgerät, aber nicht für die Frontplatte, also habe ich den Stromkreis verfolgt.

Ich habe festgestellt, dass der 80c31-Prozessor die Schaltermatrix liest, aber 0 schreibt, wo er 1 schreiben muss, sodass die Schalter immer als nicht gedrückt gelesen werden. Ich sehe das ganz deutlich mit dem Zielfernrohr; Es gibt einen oktalen Latch (U28), der getaktet ist, aber der Eingang, den ich mir angesehen habe (Pin 13), ist bei steigender Taktflanke immer 0. (Es ist nicht niedrig und kommt direkt von Port 0 des 80C31.)

Der 80C31 scheint gut zu laufen. Wenn ich einen Knoten in der Schaltmatrix (Kathode der Diode CR4) erde, funktionieren die zugehörigen Schalter. Der Scan funktioniert also, der Schaltwert wird an die Haupt-CPU zurückgemeldet und die Anzeige funktioniert.

Das Problem ist nur, dass der 80C51 den Latch nicht aktiviert, um den Schalter zu lesen.

Ich zerbreche mir hier wirklich den Kopf. Es scheint kein Hardwareproblem zu geben, der Prozessor versucht einfach nicht, die Hardware zu lesen, wenn er sollte. Warum funktioniert es plötzlich nicht mehr? Es ist so, als ob es ein Problem mit der Softwarekonfiguration gibt, aber soweit ich weiß, hat sich nichts geändert, um dies zu verursachen. (Der Besitzer hat einige Upgrade-ROMs gekauft, wir haben die gleichen Probleme mit beiden Sets.)

Was könnte das tun? Ich klammere mich hier ein bisschen an Strohhalme, aber jetzt frage ich mich, ob das EPROM (es ist gefenstert) nach über 20 Jahren begonnen hat, Daten zu verlieren. (Es hat einen Aufkleber und es wäre dunkel in der Schachtel, aber 28 Jahre sind lang.) Dafür würde ich einen Totalabsturz oder ein zufälliges Verhalten erwarten, aber ich denke, dass hier und da auch ein bisschen verloren gehen kann - nie wirklich erlebt, so etwas, also weiß ich es nicht.

Wie auch immer, ich erwäge, mir einen EPROM-Leser zu besorgen und das Bild durch einen Simulator laufen zu lassen, um zu sehen, was es tut.

Irgendwelche anderen Ideen?

Schade, dass es keine Bilder oder Schaltpläne zum Ansehen gibt. Sie erwähnen keinen Stecker, aber manchmal hat ein Stecker / Flachbandkabel ein Problem. Es ist möglich, dass die gesamte "Port" -Logik für einen der Ports (wieder kann ich aus Ihrem Schreiben nicht viel sagen) schlecht wird oder die Aluminisierung in den Spuren im Laufe der Zeit ausdiffundiert (wahrscheinlich nicht ohne höhere Ströme). Dadurch würde es funktionieren anderswo, aber eben nicht am Hafen selbst. Plötzliche Verhaltensänderungen können auf eine geringfügige Änderung in den EPROMs zurückzuführen sein. Es passiert. Haben Sie Duplikate der EPROM-Daten? (Ich habe 100 der 80C31 hier.)
Leider nicht. Ich werde eine Skizze des relevanten Teils der Schaltung hinzufügen, die ich zurückverfolgt habe. Ich sehe nichts, was auf eine schlechte Verbindung hindeutet (in der Tat war das einer meiner frühen Verdächtigungen.) Außerdem habe ich jeden gesockelten Chip (Speicher, uC ...) entfernt und fest neu eingesetzt.
Angesichts der Geschäftstätigkeit müssen Sie viel über das wissen, was Sie tun. Lassen wir also alle Fragen beiseite. Was ist übrig? (1) Sie haben EPROM mit Daten, deren Sie sich nicht sicher sein können und die tatsächlich in irgendeiner Weise schlecht sind. (2) Die Anschlussstifte sind auf irgendeine Weise ausgefallen (oder zu schwach geworden). (3) Ein anderer Port-Pin, der das Verhalten der Software steuert, dessen Sie sich nicht bewusst sind, hat sich geändert (Jumper ist abgefallen usw.) --- Haben Sie andere Optionen, die Sie in Betracht ziehen sollten?
Danke schön. Nicht zu viele andere Optionen. AFAIK, dafür gibt es keinen Jumper, und das Gerät ist tatsächlich sehr solide gebaut und in hervorragendem Zustand. Die Spannungen an diesem Pin des uC sind wirklich gesund, normales 5-V-CMOS-Zeug, daher denke ich, dass der H / W-Anschluss ganz in Ordnung ist. Außerdem habe ich umfangreiche Serviceinformationen für die Haupteinheit und keine Erwähnung von Jumpern. Ich denke daran, das EEPROM in eine Datei zu lesen und zu sehen, ob es sich in Ordnung zerlegt - wenn nicht, wäre das sicherlich ein Fehlermodus. Ich frage mich wirklich, ob einer der weisen alten Typen hier in der Vergangenheit auf flockiges EPROM-Verhalten gestoßen ist.
Ich habe gesehen, dass die Zeichentabellen auf einer VGA-Karte aus den frühen 90er Jahren versagten, was meiner Meinung nach ein Problem mit dem EPROM-Alter war. Eine Sache, die interessant sein könnte, wenn es nur leicht ausgefallen ist, ist zu sehen, ob Sie vielleicht ein anderes Ergebnis erhalten würden, wenn Sie bei einer höheren oder niedrigeren Versorgungsspannung als gewöhnlich lesen. Oder (und das ist wirklich riskant), wenn Sie versucht haben, alle Zellen zu schreiben, aber mit einem Impuls, der viel zu kurz ist, um tatsächlich eine 1 in eine 0 zu schreiben, in der Hoffnung, dass die Bits, die noch etwas 0 waren, lesbar werden könnten. Aber das sind wilde Vermutungen und diejenigen, die die Interna besser kennen, können anderer Meinung sein.
Was EPROM angeht, habe ich von etwa 1980 bis etwa 2007 relativ regelmäßig gefensterte EPROMs gebrannt. Es gibt wichtige Details beim Ändern der Betriebsspannung des EPROM während des Rücklesens, um sicherzustellen, dass die Schreibvorgänge "fest" waren. Unabhängig davon halte ich ein Fenster-EPROM, das seit seinem letzten "Brennen" 20 Jahre alt ist, für nicht zuverlässig. Es sollte nach Möglichkeit öfter nachgebrannt werden. Spezielle Aufkleber über dem Fenster helfen, aber dies sind immer noch vergrabene Ladungen und sie lecken im Laufe der Zeit, mit oder ohne fremde Photonen.
Wenn Sie zwei komplette EPROM-Sätze haben und beide dasselbe tun, würde dies das EPROM eher ausschließen, wenn nicht, wäre ein Lottoscheinkauf in Ordnung. Sicher, dass es sich nicht um eine unterbrochene Spur, einen kurzgeschlossenen Latch-Eingang / GPIO-Ausgang oder ähnliches handelt?
Nun, die Tatsache, dass der Prozessor einfach keine 1 in U28 schreibt und der Schalter funktioniert, wenn ich CR4 erde, schließt Hardware für mich aus. Ich könnte U28 trotzdem ersetzen , aber wenn ich den Sinn nicht wirklich sehe. Es ist der Eingang zu diesem Chip, der das Problem ist, nicht der Chip. Ich spreche mit dem Besitzer, um zu sehen, ob wir ein gutes Beispiel für die Box zum Vergleich und EPROM-Code-Diebstahl bekommen können.
Sie könnten es vielleicht auch beim Aufheizen und Abkühlen millionenfach auslesen und Software schreiben, um jedes Bit zu kennzeichnen, das sich jemals anders gelesen hat ...
Vielleicht durchgebrannte Eingangsschutzdiode in U28, die eine 1 erzwingt? Sie sagen nicht, welcher Port U28 antreibt, aber Port 0 ist an diesen Teilen ein Open-Drain und benötigt einen externen Pullup-Widerstand (Netzwerk). Vielleicht sehen Sie, ob es so etwas gibt, und suchen Sie dort nach einer trockenen Verbindung? Zwei Sätze EPROMs mit dem gleichen Bit-Flip werden so selten sein wie Einhornscheiße, Sie haben die Hufabdrücke gesehen, also suchen Sie nach Pferden, nicht nach Zebras!
@DanMills Guter Punkt zum Klimmzug, ich werde es überprüfen. Obwohl ich deutlich sehe, dass der Stift 1 und 0 trifft, denke ich nicht, dass dies das Problem ist, aber einen Blick wert. Bezüglich der EPROMs - die, die wir ausgetauscht haben, sind auf der Hauptplatine, nicht die, bei der ich einen Datenverlust vermute - ist mir jetzt klar, dass das nicht klar war. (Sie haben diese Einheiten mit Prozessoren und Controllern beworfen, als gäbe es kein Morgen - ich war überrascht, sogar einen vorne zu sehen. 8031er waren damals ein neumodisches Ding.) Danke an beide.

Antworten (1)

Nun, das war vor einiger Zeit, aber ich habe das Problem gelöst und dachte, ich würde klarkommen.

Das EEPROM war in Ordnung. Ich habe die Daten gelesen und den Code mit einer guten Maschine verglichen.

Schließlich stellte sich heraus, dass das Problem der HC273-Latch war. Ich kann mir nur vorstellen, dass die 1 am Eingang auf meinem Oszilloskop einfach nicht sichtbar waren - ich hätte vielleicht mit einem Logikanalysator nachsehen oder einfach den Latch ändern sollen (was ich schließlich getan habe - und hätte es vielleicht früher getan, wenn es nicht so wäre für die Notwendigkeit, es zu bestellen).

Der Vorteil war, dass der PROM-Leser, den ich gekauft hatte (50 Dollar aus China), auch eine Funktion zum Testen von Chips der 74er-Serie hatte, also konnte ich, nachdem ich ihn entlötet hatte, zumindest bestätigen, dass er schlecht war, bevor ich einen Ersatz bestellte. Nützliches Gadget!

Fall jedenfalls abgeschlossen.

(In älterer Elektronik sind diese HC/HCT-Chips ziemlich störanfällig, da der statische Schutz damals nicht so gut war wie heute. Die Tatsache, dass der Chip zur Frontplatte zeigt, könnte mich auch verdächtig gemacht haben.)