
Das vorgestellte Mikroprojekt entstand aufgrund des beschädigten EEPROM-Speicherinhalts im Logikanalysator-Klon auf dem CY7C68013A, der allgemein als Saleae 8ch/24MHz verkauft wird.
Da sich der Analysator einmal weigerte zu gehorchen, beschloss ich, mich ein wenig mit dem Thema vertraut zu machen. Das Ersetzen und Programmieren des EEPROM mit den richtigen Daten wäre wie immer zu trivial (ich weiß, dass es mit der Konsole von CY geht), daher habe ich mich entschieden, die auf tiny13 geschriebene EEPROM-Emulationsbibliothek zu verwenden, um die Gerät-ID zu wechseln um mit usbeeSX oder saleae zu arbeiten. Der dritte Modus mit getrenntem EEPROM erzwingt die Standardidentifikation, die in der sigok-Software 16 Kanäle startet, aber um sie zu verwenden, muss man den Analysator umbauen, was ich mit dem zweiten Gerät ohne Puffer tun werde.
Die Umschaltung der Kennung erfolgt beim mehrmaligen Hochfahren des Systems in weniger als 3 Sekunden. Bei normaler Verbindung und Trennung ändert sich vid/pid nicht. Die Installation von tiny13 anstelle von EEPROM erfordert nur das Anheben des Reset-Bein oder das Deaktivieren während der Programmierung. In meinem Fall habe ich es vorgezogen, die Erdungsleiterbahnen abzuschneiden, die die potenzielle Möglichkeit einer Neuprogrammierung des Prozessors auf der Zielplatine (mit einem Clip) blockieren.
Das Programm im Emulator gibt vor, ein 16-B-EEPROM-Speicher zu sein, es ist nicht beschreibbar und unterstützt den Download-Befehl für den Adresszeiger nicht. Der Speicher nach diesen 16B wird zum Anfang gescrollt. Dies verhindert jedoch nicht die ordnungsgemäße Funktion der Software sowie das Booten des CY7C68013A. Für mich war es eine Überraschung, 'clock stretching' mit einzubeziehen. Wenn SCL auf niedrigem Niveau angetroffen wird, wird das Lesen des EEPROM verzögert.
Vielleicht braucht jemand einen solchen Emulator auch für andere Anwendungen.
Unten sind ein paar Oszillogramme aus dem Spaß am Schreiben von PID-Wechslern. Im Anhang Hex-Datei mit der Quelle.







[F]
Cool? DIY-Rangliste