マウスにクリスタルが必要なのはなぜですか?


22

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

ここに画像の説明を入力してください

クリスタルが付いていることに気づいたとき(Y1)。マウスにタイマーが必要なのはなぜですか?コンピューターの時計を使用できませんか?また、独自のクリスタルを持っている場合、CPUクロックとの同期が取れませんか?


1
その回路図はどこから入手しましたか?エラーがいくつかあります。たとえば、フォトダイオードの極性が逆になっています。
カード


7
たぶん、「水晶」は実際には単なるセラミック共振器です。ところで:マウスの内部にクロックが生成されないと思われるのはなぜですか?コンピューター内部、おそらくマザーボード上にも、独自のクロック生成(水晶発振器)を備えたサブ回路がいくつかある可能性があります。
カード

4
@OlinLathropの答えが示すように、マウスMCUはホストシステムのマイクロプロセッサ(MCU)と同期しようとはしていません。マウスMCUは、USB、RS232Cなど、通信ポートと同期するだけです。
トニーM

5
リンクから、このマウスはジョイスティックのなりすましを目的としていたようです。ジョイスティックインターフェイスがクロック信号を持つように設計されていない場合、マウスが使用できるクロック信号はありません。
フォトン

回答:


25

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

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

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

追加しました

上記は、このマウスがUSBでないことについては何も言及していない元の質問に対する回答として書かれています。ほとんどすべての新しいマウスは10年以上にわたってUSBであったため、その文脈で答えることは合理的でした。何か変わったことについて尋ねるとき、それを明確にするのはあなたの責任です。

USBを搭載していませんが、このマウスにはクロックを必要とするプロセッサがまだありました。また、OPが言及しなかった、ジョイスティックに接続されたポットの位置を測定するためにタイミングを使用したようです。supercatによるコメントが最も関連性があるように思われるので、答えにコピーしています。

Commodore 64には、可変抵抗を通して固定コンデンサを充電するのに必要な時間を測定するポテンショメータ入力があります。ソフトウェアは、マウスが0〜255の範囲の抵抗値として読み取り、254、255、0、1などをきれいにラップすることを想定しています。つまり、マウスは出力パルスを正確に0.4 %

1
@ user2417339 CPUクロックの精度が十分ではないため。結晶は、システムにこの欠け精度を提供
M.Ferru

9
ポイントは、USBの場合、両端にかなり正確なクロックが必要であるということです。そのため、USBを機能させるにはマウスに水晶が必要です。ホストPCのクロックを使用しないのはなぜですか?簡単な答えは、USBはデバイスにホストクロックのコピーを与えないということです。なぜ複雑ではないのか-USB仕様が書かれたときに多くの異なるものが互いにトレードオフされていたが、それは失われた。
ジャックB

2
Downvoter、あなたが間違っていると思うことを説明してください。
オリンラスロップ

3
@OlinLathrop:Commodore 64には、可変抵抗を通して固定コンデンサを充電するのに必要な時間を測定するポテンショメータ入力があります。ソフトウェアは、マウスが0〜255の範囲の抵抗値として読み取り、254、255、0、1などをきれいにラップすることを想定しています。つまり、マウスは出力パルスを正確に0.4 %。
supercat

2
@ジェリー:それらのほとんどは、絶縁体の色である唯一の情報との単なるワイヤーです。そのうちの2つはUSB D +およびD-ラインであり、他のものはマウスボタン、LEDインジケータ、またはこのマウスが単なるマウスである以上のことをしている他の素晴らしいものになると考えました。
オリンラスロップ

21

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

データシートの説明には、次のように記載されています。

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

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


3
念のため、データシートをウェイバックマシンに入れてください。web.archive.org/web/99991232235959/http://...
オスカーSkog社

4

最近では、このような発振器を多くの電子機器で見ることができます。マイクロコントローラーは、各ティックで操作を実行します。µCの動作を制御および理解するには、正確なクロックが必要です。ほとんどのµCにはクロック組み込まれていますが、あまり正確ではありません

@Olin Lathropが言ったように、この正確なクロックは最終的にUSBプロトコルのために、または定期的に測定を行うために必要です...


3

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

コンピューターの時計を使用できませんか?

最初に注意することは、コンピューターが時計を与えていないことです。使用するものがない場合は、使用できません。もちろん、カスタムコネクタをセットアップしたい場合を除きます。ただし、潜在的なすべての顧客を説得して、コンピューターを手動で変更する必要があります。顧客がすべて非常に筋金入りの電子機器の専門家でない限り、これは成功するビジネス戦略にはなりません!

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

また、それが独自のクリスタルを持っている場合、CPUクロックとの同期が取れませんか?

マウスがCPUがクロックを同期して読み取る必要のあるデータを生成する場合、マウスにはCPUクロックが必要であることは間違いありません。(実際には、より遅い同期クロックで対応し、もう一方の端で乗算することができますが、簡単にするために、当面はそれを忘れてください)。

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

したがって、逆の順序で質問に答えるには:

  • CPUクロックと同期していなくても構いません。
  • 絶対に必要な場合を除き、CPUクロックを回線に送信しないことには技術的な理由がありますが、この場合はそうではありません。

最新のインターフェースでも、デジタル機器をRF機器から遠ざけることをお勧めします。(その特定のケースでは、USBハブとアマチュア無線トランシーバーをある程度分離します。)
CVn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.