Hallo zusammen,
ich möchte einen alten UV EPROM M27C512 mit einem ESP32 auslesen und neu programmieren.
Hintergrund: der auszulesende EPROM war in einem AVM A2 eingebaut als Programmspeicher verbaut und weil dessen Fenster nicht abgeklebt war, vermute ich über >20 Jahre Betrieb einen Fehler (Bitkipper). Da ich ein baugleiches Geräte habe, möchte ich von diesem Auslesen und den vergleichen/ neu programmieren. Siehe Beitrag: Beitrag "Verstärker AVM A2 Problem mit Reset"
Die Schaltung selbst ist wegen den verschiedenen Spannungslevel etwas
aufwändig.
Zur Schaltung:
Mikrocontroller ESP32 DevKit C (Programm muss ich dazu aber noch schreiben ("PRESTO IIB")
Schieberegister für die Output Erweiterung (Adressansteuerung und
weiteres)
Level Shifter 3.3V <-> 5V/6V (je nach Lese/Schreibmodus)
ein paar Jumper für die verschiedenen Modi
PSU mit Boost IC für 12.75V und 6V (Schreiben) sowie ~12.3V über Diode
für Signatur (über A9 zum Testen)
EPROM M27C512
Könnte das so funktionieren wie gezeichnet?
Verbesserungsvorschläge?
Beispielsweise wird der Level Shifter TXS0108EPW für die Ausgänge des EPROM mit 6V am absoluten oberen Limit betrieben.
Leider nichts wirklich auf Lager.
Muss die Platine noch routen, dann bestellen und dann bei die Teile bestellen und SW Schreiben. Ist echt ein großer Aufwand.
Aber eben auch sehr Schade, wenn wegen dem EPROM der Verstärker nicht mehr zu nutzen wäre.
Dann könnte man ja auch jemanden fragen, der so einen Programmer hat, ob der das Auslesen und Programmieren übernehmen kann. Bei mir müsstest du nur das Porto übernehmen. Entsprechende Rohlinge hätte ich auch da.
Hier im Forum fragen waere sicherlich nicht verkehrt. Aber wenn es sein muss, Aliexpress verkauft TL866 fuer ca. 70EUR (Hausnummer), da wuerde ich keine Schaltung/Platine/Software entwickeln.
Wofür der Aufwand mit dem Levelshifter für die Adressen (U5, U6)?
Wenn du für die Adress-Schieberegister (U7,U8) 74HCT595 einsetzt, können die die Pegelwandlung mit übernehmen.
Bist Du Dir eigentlich sicher, dass es an dem EPROM liegt (Tausch gegen funktionsfaehiger EPROM)? Denn es sind ja noch weitere Bauteile vorhanden, die altern koennen (z.B. Elkos).
Für so etwas habe ich mal ein ATmega2560-Entwicklungsbrett genommen. Keinerlei zusätzliche Bauteile nötig (ein Abblockkondensator ist aber vielleicht eine gute Idee), nur triviale Software. 12,75 V fürs Programmieren aus dem Labornetzteil.
Hier im Forum fragen waere sicherlich nicht verkehrt. Aber wenn es sein
muss, Aliexpress verkauft TL866 fuer ca. 70EUR (Hausnummer), da wuerde
ich keine Schaltung/Platine/Software entwickeln.
Den TL866 würde ich nicht mehr kaufen, der wird schon lange nicht mehr supportet. Nachfolger sind TL866 II Plus (habe ich), der TL866-3G (XGecu T48) oder der XGecu T56.
Ich könnte Dir die Dinger auch überprüfen/neu brennen. "Brenner" habe ich noch ein paar andere im Regal.
27C512er müssten auch noch ein paar Stangen da sein....
Wofür der Aufwand mit dem Levelshifter für die Adressen (U5, U6)?
Wenn du für die Adress-Schieberegister (U7,U8) 74HCT595 einsetzt, können
die die Pegelwandlung mit übernehmen.
Guter Einwand, klar wenn die Schieberegister direkt auf 5V arbeiten, kann man sich die Level-Shifter sparen! Danke.
Bist Du Dir eigentlich sicher, dass es an dem EPROM liegt (Tausch
gegen
funktionsfaehiger EPROM)? Denn es sind ja noch weitere Bauteile
vorhanden, die altern koennen (z.B. Elkos).
Nein, bin mir leider nicht sicher, aber das Fehlerbild ist auch nicht so einfach. Siehe Video im verlinkten Thread. Sprodische Resets sprechen für mich aber eher für das Programm (also EPROM, oder µC), als für Elektronik.
Habe im Verstärker nur einen wirklich verschlissenen Kondensator gemessen, der VOR den Linearreglern. Aber WEIL der EPROM eben nicht abgeklebt war, vermute ich den als Defekt.
Sprodische Resets sprechen für mich aber eher für das Programm
(also EPROM, oder µC), als für Elektronik.
Für mich hört sich das eher nach Elektronik an, z.B. Reset wegen Brown-Out, also nach schlechter Versorgungsspannung. Da würde ich erstmal ein Oszi draufhängen. Das geht schneller als ein EPROM-Programmiergerät zu entwickeln ;-)
In München sollte es eigentlich jemanden geben, der das kann und z.B. einen Xgecu T48 hat.
Oder du machst einen Ausflug zu mir nach Franken.
Wir Franken haben sowas und auch Eproms auf Reserve.
Bitte PN schreiben bei Bedarf.
Sprodische Resets sprechen für mich aber eher für das Programm
(also EPROM, oder µC), als für Elektronik.
Für mich hört sich das eher nach Elektronik an, z.B. Reset wegen
Brown-Out, also nach schlechter Versorgungsspannung. Da würde ich
erstmal ein Oszi draufhängen. Das geht schneller als ein
EPROM-Programmiergerät zu entwickeln ;-)
Für mich sieht das auch nicht nach dem Eprom als Fehlerursache aus.
Ich würde die Ausgänge mal auf Kurzschluss prüfen, oder ob Gleichspannung an den Ausgängen anliegt.
Hatte das Angebot ja schon gemacht. Zwei Stunden nach Nürnberg, ne halbe Stunde lesen, brennen, quatschen und zwei Stunden zurück. So schnell baust du deinen Prommer nicht!
Und den Inhalt des Eproms zu lesen sollte mit einem Arduino Mega (oder
Uno et al. + Schieberegister) auch kein Akt sein.
Aber das Brennen eines EProm's nicht nicht ganz trivial.
Ach wo, wenn das nicht so ratzfatz wie in der Serienfertigung gehen muss, dann sind keine 6,5V nötig, und auch die 12,75V müssen nicht so genau sein.
Manche brennen selbst so ein 27C512 mit 5V und 12V, und sturen paar ms pro Byte.
Sprodische Resets sprechen für mich aber eher für das Programm
(also EPROM, oder µC), als für Elektronik.
Für mich hört sich das eher nach Elektronik an, z.B. Reset wegen
Brown-Out, also nach schlechter Versorgungsspannung. Da würde ich
erstmal ein Oszi draufhängen. Das geht schneller als ein
EPROM-Programmiergerät zu entwickeln ;-)
Der Fehler ist nicht permanent anliegend, sondern "leider" sporadisch.
Im Moment ist der Fehler nicht vorhanden.
Habe jetzt nochmal das Oszi rangehängt. In diesem fehlerfreien Zustand messe ich an den großen Lade-Kondensatoren vom Power Supply (nach den Dioden):
neg: -17V mit 175mVpp Ripple
pos: +15V mit 600mVpp Ripple
Der Lade-C des positiven Rails ist auch deutlich verschlissen, aber ich denke dennoch nicht, dass das die Ursache sein kann. Der Fehler (Reset-Schleife) ist jetzt aber auch nicht vorhanden.
Die Spannungen nach den Linearreglern wie folgt aus:
5.7V ohne Ripple
-5.7V ohne Ripple
10.8V 1Vpp (!) Ripple
-12V ohne Ripple
Der µC P87C52SFPN hat im Fehlerfreien zustand +5.04V
Obwohl die 12V nicht mehr stimmen, kann ich mir nicht vorstellen, dass das die Fehlerursache sein könnte.
Bevor ich auf die sehr freundlichen Angebote von euch zurück komme, würde ich jedoch doch den Lade-Kondensator austauschen, um das auszuschließen, oder?
Sprodische Resets sprechen für mich aber eher für das Programm
(also EPROM, oder µC), als für Elektronik.
Habe im Verstärker nur einen wirklich verschlissenen Kondensator
gemessen, der VOR den Linearreglern. Aber WEIL der EPROM eben nicht
abgeklebt war, vermute ich den als Defekt.
Es ist eher umgekehrt – es hört sich eher nach einem Kontaktproblem oder Elkos, die ihre Kapazität verloren haben. Ich persönlich würde hier definitiv alle Elkos ersetzen (die alten natürlich auch nachmessen, um letztendlich die Ursache bestimmen zu können), die CPU und EPROM aus dem Sockel nehmen und die IC-Fassungen und IC-Beinchen vorsichtig mehrmals mit Kontaktspray behandeln (es muss einige Minuten einwirken), auch alle Steckerkontakte der Flachbandkabel kommen als Wackelkandidat definitiv in Frage – hier auch beide Partner auf beiden Seiten besprühen, also überall dort, wo nicht verlötet ist, sondern nur gesteckt wird. Das Kontaktspray sollte vollständig verdunsten, bevor man erneut alles einschaltet – dauert ca. 15-30 Minuten. Wenn auf der Platine ein alter Akku verbaut ist, diesen dann auch unbedingt ersetzen – etwas ganz neues und qualitativ gutes nehmen oder wenn schaltungstechnisch möglich, durch etwas anderes, Goldcap etc, was gar nicht oder nicht so schnell auslaufen kann, ersetzen. Bei alten MOS-ICs ist Vorsicht geboten, denn sie sind deutlich empfindlicher (ESD) als die heutigen CMOS-Bausteine. Wenn es ein C51-Derivat ist, gibt es vermutlich auch einen 10µF-Reset-Elko in der Nähe des Resetpins, der Reset kann aber auch mit einem anderen IC generiert werden und zusätzlich von dort kommen – deshalb unbedingt auch die ganzen kleinen Elkos messen und am besten gleich alle gegen neue ersetzen – wenn es die Platine auf den Fotos ist, dann sind es eh nur 8-10 kleine, ein mittlerer (hellblau) und zwei große Elkos, also relativ wenig, was in so einem Fall ersetzt werden muss.
Die EPROM-Inhalte beider Verstärker würde ich mir aber trotzdem mit meinem TL866CS auslesen, denn das wird man so oder so irgendwann mal brauchen, insbesondere dann, wenn bei einem das Fenster nicht abgeklebt war. Die Inhalte kann auch man mit einem HEX-Editor vergleichen, ob sie z.B. identisch sind oder welche Unterschiede und wo vorhanden sind. Als Ersatz würde ein Flash-Speicher 28/29F... besser sein, bei 27C512 passt es leider nicht 1:1 mit dem Gehäuse, da bei den elektrisch löschbaren EEPROMs die Writeleitung benötigt wird.
den hatte ich mal aber bei alten Eproms mit gewünschter 25V Programierspannung kam er aber nicht zurecht, maximal 18,xV es gab noch eine Umbauanleitung mit Levelshifter, aber das habe ich mir nicht mehr antun wollen.
den hatte ich mal aber bei alten Eproms mit gewünschter 25V
Programierspannung kam er aber nicht zurecht, maximal 18,xV es gab noch
eine Umbauanleitung mit Levelshifter, aber das habe ich mir nicht mehr
antun wollen.
Stimmt. Aber braucht ein 27C512 wirklich 25V? Ich muss mal ins Datenbuch schauen....
Old-Papa
So, nachgesehen:
Dieser braucht (wie viele "27C...") nur 12,5V.
Die Spannungen nach den Linearreglern wie folgt aus:
...
10.8V 1Vpp (!) Ripple
...
Bist du sicher, dass vor den 10.8V ein Linearregler sitzt?
Wo kommt dieser komische Wert her? Eine Spannung von 10.8V ist ja nun nicht gerade Main Stream. Ist das der Sollwert oder ein Messwert?
Wie werden die 10.8V erzeugt/geregelt und passt die Frequenz der Ripple dazu, wie sieht die Spannung am Eingang des Reglers aus?
Old-Papa
So, nachgesehen:
Dieser braucht (wie viele "27C...") nur 12,5V.
war für mein Projekt zu groß, hätte die Dekodierung umständlicher gemacht und die Verkabelung im PC1500. Ich wollte nur eigene SW fester und dauerhafter einbringen, mit dem EEPROM ging es schief. Es hatte sich über die Zeit 10 Jahre oder Spannung oder power on der Inhalt so verändert das der PC1500 nicht mehr startete.
Ich hatte mir auch mal einen Prommer mit Schieberegister gebastelt.
2 * 74HCT164 für die Adressen, 1 * 74HCT299 für die Daten und noch etwas Kleinvieh für die Steuerung.
Für einen 3,3V µC brauchst Du dann nur noch einen Pegelwandler zum Rücklesen (2 Widerstände als Spannungsteiler).
Den 27512 habe ich dann wie einen 2716 programmiert, d.h. ein 50ms Schreibpuls.
Von den TXS0108E habe ich schon viel schlechtes gelesen. Bei der automatischen Richtungsumschaltung kommt es gerne mal zu Glitches.
Besser sind daher bidirektionale Treiber mit extra Richtungseingang.
Der Lade-C des positiven Rails ist auch deutlich verschlissen, aber ich
denke dennoch nicht, dass das die Ursache sein kann. Der Fehler
(Reset-Schleife) ist jetzt aber auch nicht vorhanden.
Genau einen solchen Fehler hatte ich bei einem älteren Gerät mit Linearregler. Da traten auch sporadisch Resets auf, je nach Temperatur und Tageszeit. Die fehlende Kapazität des Ladeelkos war direkt auf der Betriebsspannung zu sehen, siehe Anhang.