Ich habe eine Maus mit einem internen IC: SPCP168A . Nachdem ich darüber gelesen hatte, stellte ich fest, dass sie speziell für die Mausfunktionalität entwickelt und programmiert wurde. Ich bin daran interessiert, das Gerät neu zu programmieren, um seine "Kamera" (160 Bilder / s) verwenden zu können. Meine Fragen sind: Kann ich es neu programmieren oder ist es ein OTP? Hat jemand etwas ähnliches gemacht?
embedded
reverse-engineering
Ernest Dujo
quelle
quelle
Antworten:
Die Spezifikationen für diesen bestimmten Chip (SPCP168A) zeigen keinen expliziten seriellen / SPI-Anschluss. Außerdem gibt es in der Blogosphäre keinen Hinweis darauf, dass dieser spezielle Chip über Optionen zum Aktualisieren der Feldfirmware verfügt. Es ist also sehr wahrscheinlich, dass es von einem Masken-ROM ausgeführt wird.
Es gibt jedoch andere optische Mäuse auf dem Markt, die auf der ursprünglich patentierten Avago-Technologie basieren. Der Hauptchip ADNS-2051 verfügt über eine Schnittstelle zu einer MCU, sowohl einige serielle als auch "Quadraturausgänge". Es gibt einige Hack-Beispiele, die diesen Chip als 16x16-Videomatrix mit Arduino verwenden.
quelle
Ich bin mir nicht einmal sicher, ob die MCU in diesem IC überhaupt über programmierbaren Speicher verfügt - vielleicht ein paar Bytes, um ein benutzerdefiniertes USB-Gerät und eine Hersteller-ID festzulegen, aber das ist es wahrscheinlich. (Rest wäre ROM)
Ich bin mir ziemlich sicher, dass es speziell so konzipiert ist, dass die Relativbewegung direkt aus der Kamerabeobachtung mit Hardware berechnet wird. Das lässt sich sehr einfach in Hardware umwandeln (und in MCU-Software ist es schwieriger, dies schnell genug zu tun).
Ich fürchte, dies ist nicht der IC, den Sie suchen.
Aber keine Sorge, es gibt etwas teurere Mäuse, die mit übergroßen MCUs geliefert werden, um den Sensor an USB anzuschließen und komplexere Funktionen zu implementieren. Wenn ich nach Reprogrammierbarkeit suchen sollte, dann dort. Es gibt auch schon Leute, die gezeigt haben, dass sie schädliche Software auf einer Gamer-Maus ausführen können.
quelle
Um die Herstellungskosten so niedrig wie möglich zu halten, kann der speziell entworfene Chip ein 100% iges Zustandsmaschinendesign in Hardware sein. Selbst wenn es eine interne MCU mit Firmware gab, ist es eine gute Möglichkeit, dass sie im maskierten ROM gespeichert wird.
quelle
Ich habe das schon einmal für ein Schulrobotikprojekt gemacht. Ziel war es, Positionsinformationen von der Maus als Positionssensor für einen Roboter zu verwenden.
Folgendes habe ich gefunden:
1) Alle Mäuse, die ich verwendet habe, hatten ASICS (und ich wette, dass alle dies tun)
2) Der ASIC, der Informationen hatte, war eine chinesische Maus und hatte ein Datenblatt (anstatt zu versuchen, ein Datenblatt für eine bestimmte Maus zu finden, suchte ich verschiedene Mäuse nach einer, für die ich ein Datenblatt finden konnte).
3) Die Maus, für die ich ein Datenblatt hatte, hatte zwei Probleme
Die Daten, die von der Maus zurückkamen, waren keine absolute Position, sondern aΔ x Δ y Position war es laut und nicht nützlich für die absolute Position, aber nützlich für Geschwindigkeit oder Beschleunigung.
Nach einigem Reverse Engineering konnte die Maus abgefragt werden, um die Werte der Kamera zu ermitteln. Dies konnte jedoch nur in Intervallen von ~ 1 Sekunde durchgeführt werden. Nicht sehr nützlich.
quelle