Ich habe eine Maus mit einem internen IC: SPCP168A , nachdem ich darüber gelesen hatte, entdeckte ich, dass sie speziell für die Mausfunktionalität entwickelt und programmiert wurde. Ich interessiere mich dafür, das Gerät neu zu programmieren, um seine "Kamera" (160 Bilder / s) verwenden zu können. Meine Fragen sind: Kann ich es umprogrammieren, oder ist es ein OTP? Hat jemand etwas ähnliches gemacht?
Die Spezifikationen für diesen speziellen Chip (SPCP168A) zeigen keinen expliziten seriellen/SPI-Port. Außerdem gibt es in der Blogosphäre keinen Hinweis darauf, dass dieser spezielle Chip irgendwelche Firmware-Update-Optionen vor Ort hat. Es ist also sehr wahrscheinlich, dass es von einem Masken-ROM läuft.
Es gibt jedoch andere optische Mäuse auf dem Markt, die auf der original patentierten Avago-Technologie basieren. Der Hauptchip ADNS-2051 hat 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.
Ich bin mir nicht einmal sicher, ob die MCU in diesem IC überhaupt programmierbaren Speicher hat – vielleicht ein paar Bytes, um ein benutzerdefiniertes USB-Gerät und eine Anbieter-ID festzulegen, aber das war es wahrscheinlich. (Rest wäre ROM)
Ich bin mir ziemlich sicher, dass es speziell so konzipiert ist, dass die relative Bewegung direkt aus der Kamerabeobachtung mit Hardware berechnet wird. Das ist sehr einfach in Hardware zu entwerfen (und in MCU-Software schwieriger ausreichend schnell zu machen).
Ich fürchte, das ist nicht der IC, den Sie suchen.
Aber keine Sorge, es gibt etwas teurere Mäuse, die mit übergroßen MCUs ausgestattet sind, um den Sensor an USB anzuschließen und komplexere Funktionen zu implementieren, und wenn ich nach Neuprogrammierbarkeit suchen würde, dann dort. Außerdem gab es bereits Leute, die gezeigt haben, dass sie bösartige Software auf einer Gamer-Maus ausführen können.
Um die Herstellungskosten so gering 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 ist.
Ich habe das schon einmal für ein Schulrobotikprojekt gemacht. Ziel war es, die Positionsinformationen der Maus als Positionssensor für einen Roboter zu verwenden.
Das habe ich gefunden:
1) Alle Mäuse, die ich verwendet habe, hatten ASICS (und ich wette, dass alle von ihnen 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, durchsuchte 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 von der Maus zurückkommenden Daten waren keine absolute Position, sondern a Position, es war 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 finden. Dies konnte jedoch nur in ~1-Sekunden-Intervallen durchgeführt werden. Nicht sehr nützlich.
dandavis
Ernst Dujo
Benutzer65586