なぜマウスは水晶を必要とするのですか?

この回路図で古い(USB以前の)マウスを探していました。

enter image description here

気が付いたときには水晶がついていました(Y1)。私はなぜマウスがタイマーを必要とするのか興味がありましたか?コンピューターの時計を使うことはできないでしょうか。それ自身の水晶振動子を持っている場合もそれはCPUのクロックとの同期が外れることはできませんでしたか?

21
追加された 著者 Ramkumar KS,
あなたの図の中のCPUからの時計はどこにありますか?それからそして今、あなたはコスト/正確さのためにいくつかのクロックロジックを使い、ローカルクロックを使います、そしてあなたはCPU間のコミュニケーションのある形態を使います。 (マウス上のものとホスト上のさまざまなもの)
追加された 著者 Bartosz Radaczyński,
解説者への注意:これはUSBマウスではなくコモドールマウスです。
追加された 著者 jns,
C64は10年以上生産されていました。マウスが登場したころまでの周辺機器設計者は、新しいインターフェースを必要とせずに、既存のC64の広大な設置ベースと互換性を持たせることを強く奨励します。さらに、Commodoreの管理は悪名高いほど悪名高いため、新しいインターフェースを含めるためにマシンのビルド標準を変更することに投資することはなかったでしょう。
追加された 著者 The Photon,
あなたのリンクから、このマウスはジョイスティックを偽装することを意図していたようです。ジョイスティックのインターフェイスがクロック信号を持つように設計されていない場合、マウスが使用できるクロック信号はありません。
追加された 著者 The Photon,
その回路図はどこから入手しましたか。いくつかのエラーがあります。フォトダイオードの極性が逆になります。
追加された 著者 Andrew Corsini,
@dlatikay:Vccに接続されているフォトダイオードのアノードは非常に間違いです。フォトダイオードがバイアスされている場合、それは逆バイアスされなければならない、すなわちカソードはアノードよりも正でなければならない。
追加された 著者 Andrew Corsini,
多分 "クリスタル"は実際には単なるセラミック共振子です。ところで:なぜあなたはマウスの中にクロック生成がないと思いますか?コンピュータ内部に、おそらくマザーボード上にも、独自のクロック生成機能を持つサブクリスタル(クリスタルオシレータ)がいくつかある可能性があります。
追加された 著者 Andrew Corsini,
ピン5とピン6は、sstobbeの回答に従って入れ替わっているようです。
追加された 著者 Oskar Skog,
@OlinLathropの回答が言うように、マウスMCUはホストシステムのマイクロプロセッサ(MCU)と同期しようとしていません。マウスMCUは、USB、RS232Cなど、通信ポートと同期することだけを望んでいます。
追加された 著者 J.eliot,
そうだね、もちろん…ありがとう。 「データシート」はフォトトランジスタについて話しており、PCBではQ1-Q4と表示されています。 お読みください
追加された 著者 Jukke,
@Curd私は盲目でなければなりませんか、それともopto部分のどこに誤りがありますか? LEDは、グランドとカソード、アノードとVCCの間に1つずつ抵抗を接続して直列に接続されています。フォトダイオードはすべてVCC上のアノードであり、個々の入力ピン上のカソードはそれぞれプルダウン抵抗付きです。それはすべてぎこちない向きです。
追加された 著者 Jukke,

4 答え

そのMOS 5717ものは、ほとんどの場合、マイクロコントローラまたはコードを実行する部分です。実行するには時計が必要です。

しかし、マイクロ用の時計だけでは水晶の精度は必要ありません。それはおそらくコミュニケーションのためです。 USBはかなり高精度の時計を必要とします。

マウスはリアルタイムで追跡する必要はありません、そしてそれがCPUクロックと同期する理由はありません。そのUSBクロックは、通信が機能するためにはホストのUSBクロックに十分近くなければなりません。マウスイベントの発生速度またはマウスイベント間の時間に関するタイミングは、ホストで処理されます。マウスはそれが起こっていると感じるものについての情報を送るだけです。

追加しました

上記の質問は、このマウスがUSBではないことについて言及していない最初の質問に答えて書かれたものです。ほとんどすべての新しいマウスは10年以上前からUSBでしたので、その文脈で答えるのは妥当でした。変わったことについて質問するときは、それを明確にするのはあなたの責任です。

USBを持っていないにもかかわらず、このマウスはまだクロックを必要とするプロセッサを持っていました。それはまた、明らかにジョイスティックに接続された鍋の位置を測定するためのタイミングを使用していました。スーパーキャットによるコメントが最も関連があるように思われるので、それを答えにコピーしています。

Commodore 64には、可変抵抗を通して固定コンデンサを充電するのに必要な時間を測定するポテンショメータ入力があります。ソフトウェアは、マウスが0〜255の範囲の抵抗値として読み取り、それが254、255、0、1などをきれいにラップすることを想定しています。これはマウスがその出力パルスを0.4未満の範囲内で正確に計時する必要があることを意味%
25
追加された
どうして@ m.ferruはCPUクロックがそれほど正確ではないと思うのですか? CPU/USBクロックがより正確であれば、あなたはもう一つの水晶を追加することから何を得ていますか?
追加された 著者 Ramkumar KS,
しかし、必要でなくてもCPUクロックを使用できないのでしょうか。それはそれがより少ないエネルギーを取り、CPUクロックを作動させるのにより少ない部品を必要とするように思われるので、それを使用しない理由
追加された 著者 Ramkumar KS,
そうそうセンサーの水晶はusb/cpuのための時計より正確でなければなりませんか?
追加された 著者 Ramkumar KS,
@OskarSkog:その一方で、部品のデータシートを見て、それが本当にカスタムシリコンであることを示唆するのに十分詳細にある側面を説明します!] 2つの連鎖DFFフロップと、それに続く7ビットのリップルカウンターがあります。
追加された 著者 firedfly,
@OskarSkog:この製品は、ディスクリートEPROMおよびOTPROMチップが手頃な価格で提供されていた1980年代に導入されましたが、EPROMまたはOTPROM内蔵のマイクロコントローラは、マスクROM付きのものよりはるかに高価です。マスクROMマイクロコントローラはカスタム設計されていないかもしれませんが、そのようなチップはすべてカスタム設計されています
追加された 著者 firedfly,
@OlinLathrop:ちなみに、私はそれがマイクロコントローラだと思います。とりわけ、起動時にマウスボタンが押されているかどうかに応じて、マウスはポテンショメータ入力を使用して自分自身を報告するか、上下左右を示すために4本中1本または2本のピンで接地するジョイスティックとして表示される、右、または4つの主な対角線。
追加された 著者 firedfly,
@OlinLathrop:Commodore 64には、可変抵抗を通して固定コンデンサを充電するのに必要な時間を測定するポテンショメータ入力があります。ソフトウェアは、マウスが0〜255の範囲の抵抗値として読み取り、それが254、255、0、1などをきれいにラップすることを想定しています。これはマウスがその出力パルスを0.4未満の範囲内で正確に計時しなければならないことを意味します%
追加された 著者 firedfly,
@ユーザー:いいえ、その逆です。
追加された 著者 Olin Lathrop,
@ジェリー:それらのほとんどは絶縁体の色である唯一の情報を持つ単なるワイヤーです。私はそれらのうちの2つがUSB D +とD-ラインであると考えました、他はマウスボタン、多分LEDインジケーター、あるいはこのマウスが単なるマウスである以上にしているかもしれない何か他のものに行く。
追加された 著者 Olin Lathrop,
@supe:あなたのコメントを答えにコピーしました。
追加された 著者 Olin Lathrop,
悪い人、あなたが間違っていると思うことを説明してください。
追加された 著者 Olin Lathrop,
OPに公平に:回路図は外の世界への10の接続を示しています、それはそれがUSBではないというかなり強い徴候のようです。
追加された 著者 Josh,
時計は単にマウスの動きを数えるためのものでしょうか。それは非常に高いように思えますが、特注のマイクロコントローラを使用することはやり過ぎのように聞こえます。非カスタムマイクロコントローラまたはカスタム非マイクロコントローラの方が、IMOの理にかなっています。
追加された 著者 Oskar Skog,
@ user2417339 CPUクロックが正確ではないため。水晶はシステムにこの欠けている正確さを提供します
追加された 著者 Patrick Burtchaell,
重要な点は、USBの場合、両端にはかなり正確なクロックが必要です。だからマウスはUSBを動作させるためにクリスタルが必要です。ホストPCからのクロックを使わないのはなぜですか?簡単な答えは、USBはデバイスにホストクロックのコピーを与えないことです。 USBの仕様が書かれたとき、どうしても複雑ではない多くの異なったことが互いに交換されていましたが、それは失われました。
追加された 著者 Tmdean,
私のコメントを書いた後、私はこれが骨董品のマウスであることに気付いたので、USBのものは関係ないです...多分それはあまりにも投票者を引き出されています。
追加された 著者 Tmdean,

MOS 5717には、一連の光学式エンコーダからマウス機能を作成するために独自に行うべきかなりの独立した作業があります。

データシートからの説明にはそれが最も良いと記載されていますとして、

5717はCommodore 64用のカスタムCMOSマウスコントローラです。         それが差し込まれることを可能にして、2ボタンマウスの本体に収容される         64ジョイスティックポートに接続して、GEOSソフトウェアなどのマウス制御を提供します。         SIDチップのPOTXとPOTYを接地することでマウス機能を実現         SID512μSサイクルのさまざまな時点でラインを         位置情報。

ADCがほぼすべてのICに自由に追加できるようになる前は、SIDインタフェースはポテンショメータと入力積分コンデンサで作成された充放電時間を使用して「ポット」値を推定していました。 5717は、POTライン上の信号タイミングを制御することによってデジタル出力でポテンショメータをエミュレートします。

21
追加された
念のため、データシートをウェイバックマシンに入れてください。 web.archive.org/web/99991232235959/http://…
追加された 著者 Oskar Skog,

あなたは今日多くの電子機器でそのような発振器を見ることができます。マイクロコントローラは各ティックで操作を実行します。 µCの動作を制御し理解するためには、正確なクロックが必要です。ほとんどの µCには内蔵型がありますが、あまり正確ではありません

@Olin Lathropが言ったように、この正確なクロックはUSBプロトコルのために、あるいは定期的に何らかの測定をするために必要です

4
追加された

他の答えはマウスの中のマイクロが時計を必要とするものをカバーしました。しかし、彼らは質問の最も重要な部分をカバーしていません: -

コンピュータからの時計を使用できないでしょうか。

最初に注意することはコンピュータがそれに時計を与えていないということです。使用するものがない場合は使用できません。もちろん、カスタムコネクタを設定したくないのであれば - ただしそれから、潜在的な顧客全員に自分のコンピュータを手作業で変更するよう説得する必要があります。あなたの顧客がすべて非常に筋金入りのエレクトロニクス専門家でない限り、これは成功するビジネス戦略になることはないでしょう!

もっとも重要なのは、なぜコンピュータがクロックを提供していないのかという問題です。マウスでマイクロを動かすのに十分な速さのクロックであるためには、それはかなり速くある必要があります - 数百kHzは絶対的な最小値です、そしてより普通にあなたは非常に古いマイクロのためにMHzまであります。 5717は明らかに4MHzクロックを期待していました。ここでの問題は、ケーブルの構成、信号の送信と受信、そして高速デジタル通信に関連するすべての興味深い側面に非常に注意を払わない限り、ケーブルを4MHzにしたときに作成されるのは無線送信機だということです。 USB、DVIおよびHDMIが高速でデジタルデータを送信することができます - 世界に放送することなくこれをうまくやることは絶対に可能ですが、それは決して簡単ではありません。そのため、正当な理由がない限り、人々は一般的に長いケーブルでクロックを送信しません。

それがそれ自身の水晶を持っているならば、それはCPUクロックと同期から外れることができませんでしたか?

あなたは、マウスがCPUがクロック同期で読まなければならないデータを生成するならば、マウスはCPUクロックを必要とするだろうということは絶対に正しいです。 (実際には、より遅い同期クロックを使ってもう一方の端で逓倍することができますが、今のところ、単純にするためにそのことを忘れないでください)。

システムを見ても、答えは明らかに「いいえ」です。 5717は、ユーザーがマウスを動かすと抵抗が変わります。ユーザーはそれほど速くマウスを動かすつもりはないし、ユーザーは好きなときにいつでもマウスを動かすことができるので、それがクロック同期である必要はない。最悪の場合、抵抗はそれを読むCPUの途中で変化し、CPUはより低い値かより高い値を得る。次回は抵抗値は安定したままになり、CPUは最終値を取得します。マウスはユーザーの手の速度で動いているだけなので、最終的な値に到達するために多かれ少なかれ1つのサンプルについて気にする必要はほとんどありません。

だから、逆の順序であなたの質問に答えるために:

  • CPUクロックと同期していなくてもかまいません。
  • どうしても必要な場合を除き、CPUクロックをワイヤで送信しないことには技術的な理由があります。この場合、そうではありません。
3
追加された
最近のインターフェースでも、デジタル電子機器をRF機器から遠ざけることをお勧めします。 (その場合は、USBハブとアマチュア無線トランシーバを区別してください。)
追加された 著者 Garet Claborn,