Alphabet-EPROM aus einer Heidenhain TNC 135

Hallo,

ein Bekannter von mir hat eine CN-Fräse Baujahr 1985 (die TNC 135 von Heidenhain). Der Monitor zeigt normalerweise Buchstaben und Zahlen an, grafikfähig ist er eh nicht. Nun sieht man aber statt der Zeichen nur noch etwas, was an das Pipe-Symbol "|" erinnert. Ganz so als ob der Zeichensatz ausgetauscht wurde. Auf der Grafikplatine ist auch ein EPROM drauf (gesockelt), in dem höchst wahrscheinlich die Buchstaben liegen. Ich hab das mal ausgelesen und es sieht so aus als ob das einiges vergessen hat.

Nun stellt sich die Frage, wo man den Original-Inhalt herbekommt, oder wenigstens eine Beschreibung der Inhalte, dann könnte man sich seine Buchstaben selber basteln. Auch ein Schaltplan der Platine würde sicher einige aufschlussreicheinblicke geben, was die ganzen TTL-Bausteine da eigentlich machen.

Heidenhain leistet leider kein Support mehr für die Maschinen und hat angeblich auch alle Unterlagen weggeschmissen (zu der Zeit war ja noch alles auf Papier).

Meine Hoffnung ist ja insgeheim hier jemanden zu finden, der noch was zu dem Thema im Keller zu liegen hat, oder sich gar bereiterklären würde den EPROM mal auszulesen, falls so ein Maschinchen zur Hand ist. :)

Viele Grüße, Markus

Reply to
Markus Hagen
Loading thread data ...

Puh, nicht so einfach. Einer meiner Kunden hat zwar so ein Maschinchen, aber da würde ich ungern dran rumfummeln. Bzw. ich hab da schon dran rumgefummelt und jetzt läuft das Ding...

Die Dinger sieht man aber auch gelegentlich bei Ebay...

Gruß

Stefan DF9BI

Reply to
Stefan Brröring

Mit Fädeldrahtschaltung an Port von Controller hängen und mit reduzierter Geschwindigkeit und variabler Versorgungsspannung lesen, beobachten ob sich was ändert. Das kann man ja ohne Anlegen der Programmierspannung:

Mit Anlegen der Programmierspannung sind einige grössere EPROMs ( 2764 - 27256 ) aus dieser Zeit heikel: es gab sie mit 12V und 21V, unterschiedlichen Programmieralgorithmen. Insofern bin ich skeptisch ob man Auslesen mit üblichem Programmiergerät versuchen soll, soweit man sich nicht sicher ist, daß das sinnvollerweise den Read ohne Programmierspannung macht.

MfG JRD

Reply to
Rafael Deliano

Das sollte bei einem ordentlichen EProm-Programmiergerät kein Problem sein.

Aber eine Sache noch: Der OP schreibt, dass das EPROM Daten verloren zu haben scheint!! Normalerweise wird für den Charakergeneratur nur wenig Speicher benötigt. Bei 5x7 Matrix und 256 Zeichen weniger als 2K. Deshalb kann es gut sein, dass er Eprom-Inhalt lückenhaft aussieht.

Gruß

Stefan DF9BI

Reply to
Stefan Brröring

Sicher? Da die Bitmuster im EPROM mehr oder weniger 1:1 auf die Pixeldarstellung "gemappt" wird, müsste das Ding schon auf sehr kuriose Weise vergesslich geworden sein. Fehlerpixel ok, aber das ganze Buchstaben plötzlich zu einem Strich werden...?

Ich habe leider nur ein DIN-Character-ROM aus einer Dahlgren Wizard XL in der Sammlung, und das ist vermutlich auch das Charset für die Gravuren und nicht für den Monitor.

Reply to
Stefan Huebner

Markus Hagen schrieb:

Nur die Steuerung ist von Heidenhain.

Glaub ich nicht, das sieht ehr nach defektem Treiber/Schieberegister aus.

Mit wem hast du dort gesprochen? Da wurde nix weggeworfen, sogar alles digitalisiert. Aber so ohne weiteres kommst du an die Unterlagen halt nicht dran.

Wie oben gesagt: das wird nicht nötig sein.

Gruß Dieter

Reply to
Dieter Wiedmann

Jep, sowas vermute ich auch (siehe voriges Posting), das Fehlerbild ist einfach zu untypisch.

Aber bitte trotzdem alle EPROMs sichern, wenn das Ding wieder läuft und man von gutem Zustand der Inhalte ausgehen kann!!!

Reply to
Stefan Huebner

Ja. Man weiss halt nicht, was sich die Entwickler seinerzeit als Datenformat ausgedacht haben. Vielleicht hat jeder Buchstabe einen kleinen Header. Oder sie haben, weil noch Platz im EPROM war noch ein paar Logikfunktionen kodiert. Da ist guter Rat teuer. Wenigstens lese ich immer das gleiche aus, obwohl ich es bisher nur sehr langsam und mit 5V probiert habe. Das EPROM könnte durchaus noch gut sein und der Fehler, wie in einem anderen Posting erwähnt dahinter liegen.

Auf der Platine ist auch noch SRAM, der soll wohl auch gerne mal streiken, wenn er älter wird. Leider ist eine relativ selten gewordene Spezies verbaut, sonst hätt ich den schonmal getauscht: M5L5101LP-1 256 x 4bit General-Purpose Static RAM with Floating outputs when WE, 450ns, DIP22.

Vielen Dank schonmal für die zahlreichen Beiträge, Markus

Reply to
Markus Hagen

Markus Hagen schrieb:

Hallo,

das muß nicht das Zeichensatz EPROM sein, der Fehler könnte auch daher kommen das die untersten Bits für die horizontale Pixeladresse innerhalb eines Zeichens nicht richtig zum EPROM gelangen. Wenn ein Logikanalysator zur Hand wäre könnte man sich mal im Betrieb die EPROM Adressbits anschauen und die Datenbits dazu. Für z.B. 80 Zeichen in einer Zeile wird es ja einen Zähler 0 bis 79 für die Zeichenposition geben und einen 0 bis 5 für die horizontalen Pixel eines Zeichens.

Bye

Reply to
Uwe Hercksen

Mit diesem Zähler wird aber der ASCII String im RAM addressiert und erst mit dem Inhalt des Zeichens wird das Character-EPROM (Zeichengenerator) adressiert. Also dessen Ansteuerung setzt sich aus dem eigentlichen Zeichen und der Pixelzeile zusammen.

Um das EPROM zu prüfen, steck einfach mal einen IC Sockel in dessen Sockel, wo du die untersten 8 Addressbits direkt mit den 8 Datenbits verbindest. Dann solltest Du ein identisches Binärmuster an jeder Zeichenposition sehen, etwa so oder gedreht bzw. verschoben oder invertiert oder gespiegelt... aber auf jeden Fall an allen Stellen, an denen ein Zeichen im Textspeicher liegt. Ist abhängig von der decodierung des Zeichens und der Art der Ansteuerung.

Ersatz typische 'A' Symbol in 5x7 Matrix

.......x ........ Das 'A' kann auch verschoben/gedreht/invertiert ......x. .xxx.... in der Matrix stehen, aber 5x7 war üblich. So ......xx x...x... Konnte man auch die Leerzeilen und Stellen .....x.. x...x... gleich mit generieren und brauchte keine extra .....x.x xxxxx... Mimik. Verplemperte zwar etwas Platz im EPROM, .....xx. x...x... macht die Sache aber sehr einfach. .....xxx x...x... ........ x...x...

Wenn das linke Muster an allen Positionen auf dem Schirm ist, dann ist das EPROM defekt. Ansonsten ist es ein Problem der Ansteuerung.

Es gibt dann zwei Pixelzähler, die die horizontale Pixel-Zeile des EPROM anwählen und im Ausgang dann einen MUXer oder Schieberegister steuern, der die vertikale Pixelposition des Zeichens umschaltet. Je nach Ansteuerung kann das Zeichen auch 90° gedreht im EPROM stehen und Zeilen und Spalten (ROW COLumn) sind vertauscht.

Aus dem ursprünglichen Text kann man vermuten, das es mit der Ansteuerung des EPROMs zu tun hat. Mein stärkster Verdacht ist, dass die unteren Bits aus der Pixelposition nicht mehr an das EPROM kommen. Gammel im Sockel oder Fehler in der Verbindung zwischen Pixelzähler für Zeile.

Saludos Wolfgang

--
Meine 7 Sinne:
Unsinn, Schwachsinn, Blödsinn, Wahnsinn, Stumpfsinn, Irrsinn, Lötzinn.
 Click to see the full signature
Reply to
Wolfgang Allinger

Fehler plötzlich eingetreten und auf allen Bildschirmpositionen das gleiche Zeichen zu sehen?

Dann kannst du sicher davon ausgehen, daß nicht das EPROM schuld ist. Bei den Dingern kippt wohl nach längerer Zeit schonmal das eine oder andere Bit, aber daß zufällig Unmassen Bytes in _ein_ geordnetes Bitmuster kippen, ist etwa so wahrscheinlich wie daß ein Ziegelstein von allein in die Höhe springt.

Nö, viel wahrscheinlicher ist ein Fehler in der Ansteuerung. Ich würde bei dem Fehlerbild auf ein defektes Adresslatch tippen oder (noch wahrscheinlicher) ein fehlendes /STROBE-Signal für ein solches.

Also, ausgehend von den Adressleitungen des EPROM mal nach einem Latch (oder auch zwei bis drei davon) suchen. Dann die Eingänge des/der Latches weiter zurückverfolgen. Ein Teil (drei bis vier Bit) sollte aus einem Zähler kommen, der Rest (fünf bis acht Bit) aus den Datenleitungen eines RAM.

Nun kannst du zuerst mal die Zählerbits checken. Hier sollten an den Eingängen des Latch Rechtecksignale unterschiedlicher Frequenzen nachzuweisen sein. An den korrespondierenden Ausgängen des Latch sollten jeweils dieselben Signale zu sehen sein. Vermutlich ist aber genau dies nicht der Fall, die Pegel an den Ausgängen werden wohl statisch sein.

Wenn es mehr als ein Latch ist, ist wiederum ziemlich unwahrscheinlich, daß diese gleichzeitig ausgefallen sind. In dem Fall kannst du den folgenden Absatz überspringen.

Nun ist zu checken, ob es das Latch selber ist, oder seine Ansteuerung. Dazu an diesem Latch den /STROBE-Eingang checken. Ist da ein Signal mit gültigen Pegeln und einer Frequenz in der Größenordnung in etwa der höchsten der gefundenen Zählerfrequenzen nachweisbar, ist ziemlich wahrscheinlich das Latch defekt.

Ansonsten ist irgendwas Schuld, was vor den Steuereingängen des/der Latches liegt. Da wird's dann aber beliebig variabel, weitere Fehlersuche erfordert Verständnis der Steuerlogik. Also ist reverse engineering angesagt. Erster Schritt dazu wäre die Rekonstruktion des Schaltbildes dieser Logik. Bei ein- bis zweilagigen Platinen und Bestückung aus Standard-CMOS oder -TTL sollte das i.d.R. noch ohne größere Probleme realisierbar sein.

Reply to
Heiko Nocon

Dieter Wiedmann :

Würd ich auch sagen, sieht nach einem Fehler auf den Adress- oder Datenleitungen aus. Bestimmt der Epromsockel versifft.

M.

Reply to
Matthias Weingart

Eigendlich kann man im Eprom leicht die Zeichendefinition finden. Wenn man dann die 2 gefunden hat kann man leicht sagen ob die 1 richtig oder falsch gespeichert ist. Im hexdump von 5x7 oder 8x8 findet man sehr oft bytes mit wenigen einzeln stehenden 1-bits wie 0x41 oder zusammenhängende Bits wie 0x1f oder 0x1e . Notfalls schauen wir uns die Daten an.

--
MFG Gernot
Reply to
Gernot Fink

Falls das alte EPROM nicht völlig defekt ist, sondern nur an Ladung der Zellen verloren hat, kann man es bei niedrigerer als der spezifizierten Spannung auslesen und so oft die Daten wiederherstellen. Eine Programmierspannung ist dafür nicht nötig.

Grüße Robert

Reply to
Robert Rottmerhusen

Hallo Wolfgang!

Danke für die ausführliche Antwort. Das wirft doch einiges an Licht auf die Angelegenheit.

Der Fehler könnte dann aber auch hinter dem EPROM liegen. Das Fehlerbild müsste doch Aufschluss darüber geben können, ob das Problem in der Ansteuerung des EPROMs oder der Weiterverarbeitung liegt. Ich hatte die Maschine mal ganz ohne EPROM in Betrieb genommen. Die nun undefinierten Ausgänge des EPROM-Sockels wurden von der nachfolgenden Logik offenbar als 1 interpretiert, denn man sah nun grüne Voll-klötzchen auf dem Schirm: alle Pixel des Zeichens waren gesetzt. Das würde wie du schon vermutet hast, auf einen Fehler in der Adressierung hindeuten.

Das EPROM scheint nun übrigens doch nicht kaputt zu sein. (Das erspart immerhin die Suche nach dessen Inhalt :).) Ich habe mir mal die Mühe gemacht und die Daten des EPROMS in verschiedene 8x8 Anordnungen gepresst. Das selbstgestrickte Programm funktioniert bisher zwar nur für die ersten 120 Byte, aber man kann Buchstaben, Zahlen und Sonderzeichen erkennen - sie sind in der Reihenfolge des ASCII-Zeichensatzes angeordnet.

Da ich leider keinen Logik-Analyzer zur Verfügung habe, werde ich mal die Frequenzen an den Adress-Leitungen des EPROMs messen. Die müssten sich ja auf den unteren Bits von Bit zu Bit halbieren, wenn die Pixel eines Zeichens fortlaufend im EPROM liegen. Vielleicht finde ich so den einen der fünf Counter, der evtl. kaputt ist.

Gammel im Sockel? Wo soll der denn herkommen? :) Und was nistet sich da so üblicherweise ein? Ist das wertvoll? Vielleicht kann ich das auf eBay verkloppen? *

Reply to
Markus Hagen

Logisch, oder? 1985 würde ich nichts anderes als Standard-TTL oder LS-TTL erwarten, beide sehen offene Eingänge als 1en.

Dann sichere ihn jetzt, ich habe schon viele Geräte lange stehen gehabt, weil ich erstmal Dumps jagen musste (v.a. Laborgeräte)

Reply to
Stefan Huebner

Das sieht schon mal gut aus, damit weißt Du auch schon, das ein gesetztes bit im EPROM einem leuchtenden Pixel entspricht.

Also alles hinter dem EPROM sieht gesund aus, brauchst dort nicht mehr zu suchen.

Dann mach doch bitte mal den Test, mit den 8 Addr Leitungen and die 8 Datenleitungen mit einem beschaltetem Sockel statt dem Eprom. Mit etwas Geschick kannste da genau erkennen, speziell mit Oscar, ob da was fehlt.

Dann zieh Dir schnellstens eine Kopie davon :-) Besser ist dat!

ACK

Mann, steht Dir doch nicht selber im Weg rum, 8 Brücken in einem EPROMersatz Sockel sind schnell gemacht. Und son Sockel kostet auch nicht die Welt. Kannst ja auch Drähte in den Sockel stecken, aber das ist Fummelei.

Und mit etwas Nachdenken, kannste dann am Muster sehen, was fehlt oder welche ständig anstehen. Auch das kann das Problem sein.

Och da gibbet viele Möglichkeiten u.a. auch so eine Art Raucherbelag. Oxidierte Kontakte...

Saludos Wolfgang

--
Meine 7 Sinne:
Unsinn, Schwachsinn, Blödsinn, Wahnsinn, Stumpfsinn, Irrsinn, Lötzinn.
 Click to see the full signature
Reply to
Wolfgang Allinger

Wolfgang Allinger schrieb:

Wenn man nur jeweils eine Brücke macht hat die TNC135 den Oscar schon eingebaut.

Gruß Dieter

Reply to
Dieter Wiedmann

PATSCH... Stimmt. Da kann man mal sehen, wie kurzsichtig man ist :-)

Also nur 1 Datenbit mit etwas Kabel dran und dann nacheinander an die einzelnen Addrbits gehen, muss dann jeweils horizontale Linien in Längen von 2er Potenzen erzeugen, wenn man mal Feinheiten wie Zeilenwechsel etc. nicht so genau nimmt.

Also A0 ist immer 1 pixel an und aus A2 " 2 " A3 " 4 " A4 " 8 " also vermutlich eine Zeichenbreite ....

Legts Du dann jeweils 2 nebeneinader liegende auf, sollten sich die Längen jeweils verdoppeln (in aufsteigender Zählrichtung).

Saludos Wolfgang

--
Meine 7 Sinne:
Unsinn, Schwachsinn, Blödsinn, Wahnsinn, Stumpfsinn, Irrsinn, Lötzinn.
 Click to see the full signature
Reply to
Wolfgang Allinger

Hallo NG!

Ich wollte mich nochmal für eure Hilfestellung bedanken. Krankheitsbedingt konnte ich nicht weiterbasteln, aber nun tut die Steuerung endlich wieder Buchstaben anzeigen. Ich werd die EPROMs nochmal alle auslesen und dann wird die Kiste wieder zugeschraubt. :)

Wen es interessiert hier die Fehlerursache:

Ein Byte im Character EPROM entspricht je einer Zeile eines Zeichens. Diese Bytes werden in einem Schieberegister serialisiert und als Bitstrom ausgegeben. Dieser Bitstrom wird dann noch auf verschiedene Arten aufbereitet, z.B. laufen sie durch ein XOR-Gatter, womit Invertierungen erzeugt werden können (schwarze Schrift auf grünem Balken). Ich hab das nicht weiter verfolgt, da das Schieberegister (LS166) kaputt war. Es hat nur die letzten zwei Bits durchgelassen. Also kam auf dem Bildschirm immer "000000xx" an.

Hatte glück gehabt - das liess sich mit einem Multimeter im Frequenz-Modus messen. Zu Weihnachten wünsch ich mir einen LA. ;)

Grüße, Markus

Reply to
Markus Hagen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.