Fehlersuche und -beseitigung / Substitution nicht mehr erhältlicher digitaler Schaltkreise

Alles, was etwas knifflig ist, kann in diese Kategorie eingeordnet werden. Zwei Beispiele verdeutlichen was gemeint ist:

Beispiel 1: Substitution nicht mehr produzierter Schaltkreise

Text von SEA Schliess-Systeme AG noch nicht freigegeben.

Beispiel 2: Auslesen eines Flash-Laufwerks bei defekten Controller

Ausgangsituation

Die Software für die Steuerung einer Auswuchtungsmaschine war auf einer Flashkarte mit IDE-Anschluss gespeichert (Bild links). Auf diese Karte konnte nicht mehr zu gegriffen werden. Weder mit dem Computer in der Maschine, noch mit einem USB/IDE-Adapter. Auch war die Software sonst nirgendwo mehr verfügbar (Hersteller gab es in zwischen nicht mehr).

Bevor für viel Geld eine neue Maschine angeschafft werden musste, war es also einen Versuch wert, die Software noch irgendwie aus dem EEPROM der Flashkarte zu bekommen.

Ein Datenblatt des Flash-Chips (K9F3208W0A) war zum Glück noch im Internet zu finden. Ich habe einen ATtiny2313A mit den Daten- und Adressleitungen verbunden, so dass der Chip über eine serielle Schnittstelle ausgelesen werden konnte. Es kommt ja in diesem Falle nicht auf die Geschwindigkeit an.

Das Dekodieren der Daten war etwas kompliziert, da in einem Flash-Chip, um möglichst wenige Schreibzyklen zu haben, die Daten nicht linear hintereinander liegen. Die Reihnfolge wird in Zusätzlichen Speicherblocks gespeichert. Um die Bedeutung dieser zusätzlichen Bytes herauszufinden war es sehr hilfreich, dass die Maschine mit einem DOS-Betriebssystem arbeitete. So konnten der Typische Aufbau einer DOS-Partition zur Orientierung herangezogen werden.

Mit Hilfe von Python-Skripten wurden die Daten Ausgelesen und entsprechend sortiert. Am Ende konnte ein Bootbares Image erzeugt werden.

Zum Seitenanfang