コンピュータマウスの内部ICを再プログラムしますか?

内蔵ICを搭載したマウスがあります。 SPCP168A <それについて読んだことで、私はそれがマウスの機能性のために特別に設計されプログラムされていることを発見しました。 私はその「カメラ」(160frame/s)を使えるようにするためにデバイスを再プログラミングすることに興味があります。 私の質問は: 再プログラムできますか、それともOTPですか? 誰かが似たようなことをしたことがありますか?

7
私はそのようなデバイスをハッキングするための趣味に基づいたアプローチを詳述した記事を見たことがありますが、彼らはSoCを台無しにしませんでした...
追加された 著者 malecki,
追加された 著者 jdv,
マウスはその相対的な動きの情報とともにuartまたはps/2データを送信します。他の場所でその信号を使用するのは簡単です。私がしないのは、フレームを別のアルゴリズムで処理できるようにすることです。 (それをする別のセンサー/ ICがあります:すなわち、毎秒複数のフレームを取ることですが、私はこれを再利用することを望んでいました、そしてそれは同様に興味深い挑戦のように思えます、
追加された 著者 sheltongenie,

4 答え

このチップ(SPCP168A)の仕様は、明示的なシリアル/ SPIポートを示していません。また、ブロゴスフィアでは、この特定のチップがフィールドファームウェアのアップデートオプションを持っているという表示はありません。そのため、マスクROMから実行される可能性が非常に高いです。

しかし、市場には他の光学式マウスがあり、それらはオリジナルの特許を取得したAvago技術に基づいています。 メインチップADNS-2051 には、どちらもMCUへのインターフェイスがあります。いくつかのシリアル、および「直交出力」。 Arduinoを使ってこのチップを16×16のビデオマトリックスとして使うハックの例がいくつかあります。

14
追加された

そのICの中のMCUがプログラム可能なメモリを持っているかどうかさえ私にはわかりません - たぶん顧客用USB装置とベンダーIDを設定するために数バイト。 (残りはROMになります)

ハードウェアを使ってカメラの観察から直接相対運動を計算するように特別に設計されていると確信しています。それはハードウェアに設計するのが非常に簡単です(そしてMCUソフトウェアで十分に速くすることはより困難です)。

だから私はこれがあなたが探しているICではないと思います。

しかし、心配しないでください。センサーをUSBに接続してより複雑な機能を実装するための特大のMCUが付属している、もう少し高価なマウスがあります。また、実証済みということを既に示している人もいます悪意のあるソフトウェアをゲーマーのマウスで実行する可能性があります。

12
追加された

製造コストを可能な限り低くするために、特別に設計されたチップはハードウェアにおける100%状態機械設計であり得る。ファームウェア付きの内蔵MCUがあったとしても、それがマスクROMに格納されている可能性は高いです。

4
追加された
リンクされたデータシートを読んでください。それは具体的にはMCUがあると言います。 (はい、Pipeが編集されるまでデータシートはリンクされていませんでした)
追加された 著者 The Photon,
@ThePhoton私は、Michaelがファームウェアはほぼ排他的にROMに格納されていると正しいと思います - 本当に単目的の大量生産された最小コストのSoCではフラッシュには意味がありません。
追加された 著者 Marcus Müller,

私は以前学校のロボット工学プロジェクトのためにこれをしました。目標は、ロボットの位置センサーとして使用するためにマウスからの位置情報を使用することでした。

これは私が見つけたものです:

1)私が使ったすべてのマウスはASICSを持っていました

2)情報を持っていたASICは中国語のマウスで、データシートを持っていました(ある特定のマウスのデータシートを探すのではなく、データシートを見つけることができるものを別のマウスで探しました)。

3)データシートを持っていたマウスに2つの問題がありました

  • マウスから戻ってくるデータは絶対位置ではありませんでしたが、\ $ \ Delta x \ Delta y \ $位置です。ノイズが多く絶対位置には役立ちませんでしたが、速度や加速度には役立ちました。

  • リバースエンジニアリングの後、カメラの値を見つけるためにマウスをポーリングすることができます。しかし、これは1秒間隔でしか実行できませんでした。あまり役に立ちません。

4
追加された
マウスはカメラのピクセルをポーリングするためのレジスタを持っていました。しかし、データシートにこれらのレジスタの説明がありましたが、あなたの説明にはありません。お使いのマウスコントローラのデータシートに記載されているレジスタがないようです。私がした方法は、データシートのレジスタを見て、それからドライバを見て、Cで書かれたプログラムで異なるレジスタにアクセスすることでした。
追加された 著者 laptop2d,
既存のハードウェアを使用したのか、コンバータを使用しなければならなかったのかを思い出すことができません。 FCIからSPIへのコンバーターが既に組み込まれているマウスを見つけたと思います。
追加された 著者 laptop2d,
「リバースエンジニアリングの後、マウスを使ってカメラの値を見つけることができました。ただし、これは1秒間隔でしか実行できませんでした。あまり役に立ちません」相対的な動きからカメラの価値観へどのように変わったかを共有できますか。
追加された 著者 sheltongenie,
それで、基本的にあなたは回路(SPI、I²C)とインタフェースする方法を持っていましたか?
追加された 著者 sheltongenie,