古い(USB以前の)マウスのこの回路図を見ていました。
クリスタルが付いていることに気づいたとき(Y1)。マウスにタイマーが必要なのはなぜですか?コンピューターの時計を使用できませんか?また、独自のクリスタルを持っている場合、CPUクロックとの同期が取れませんか?
古い(USB以前の)マウスのこの回路図を見ていました。
クリスタルが付いていることに気づいたとき(Y1)。マウスにタイマーが必要なのはなぜですか?コンピューターの時計を使用できませんか?また、独自のクリスタルを持っている場合、CPUクロックとの同期が取れませんか?
回答:
そのMOS 5717のものは、ほとんどの場合、マイクロコントローラーまたはコードを実行する一部です。実行するには時計が必要です。
ただし、マイクロ用の時計だけでは水晶の精度は必要ありません。それはおそらくコミュニケーションのためです。USBには、かなり高精度のクロックが必要です。
マウスはリアルタイムを追跡する必要がなく、CPUクロックと同期する必要はありません。そのUSBクロックは、通信が機能するためにホストのUSBクロックに十分に近い必要があります。マウスイベントの発生速度またはマウスイベント間の時間に関するタイミングは、ホストで処理されます。マウスは、何が起きているのかについての情報を送信するだけです。
上記は、このマウスがUSBでないことについては何も言及していない元の質問に対する回答として書かれています。ほとんどすべての新しいマウスは10年以上にわたってUSBであったため、その文脈で答えることは合理的でした。何か変わったことについて尋ねるとき、それを明確にするのはあなたの責任です。
USBを搭載していませんが、このマウスにはクロックを必要とするプロセッサがまだありました。また、OPが言及しなかった、ジョイスティックに接続されたポットの位置を測定するためにタイミングを使用したようです。supercatによるコメントが最も関連性があるように思われるので、答えにコピーしています。
Commodore 64には、可変抵抗を通して固定コンデンサを充電するのに必要な時間を測定するポテンショメータ入力があります。ソフトウェアは、マウスが0〜255の範囲の抵抗値として読み取り、254、255、0、1などをきれいにラップすることを想定しています。つまり、マウスは出力パルスを正確に0.4 %
MOS 5717には、光学エンコーダーのセットからマウス機能を作成するために、独自に行うべき独立した作業がかなりあります。
データシートの説明には、次のように記載されています。
5717はCommodore 64用のカスタムCMOSマウスコントローラーです。2ボタンマウスの本体に収容され、64ジョイスティックポートに接続してGEOSソフトウェアなどのマウス制御を可能にします。SID 512uSサイクルのさまざまな時点でSIDチップのPOTXおよびPOTYラインを接地して、64に位置情報を提供することにより、マウス機能を実現します。
ADCがほぼすべてのICに自由に追加できるようになる前は、SIDインターフェイスはポテンショメータと入力積分コンデンサで作成された充電/放電時間を使用して「ポット」値を推定していました。5717は、POTラインの信号タイミングを制御することにより、デジタル出力を備えたポテンショメータをエミュレートします。
他の答えは、マウス内部のマイクロがクロックを必要とするものをカバーしています。しかし、彼らは質問の最も重要な部分をカバーしていません:
コンピューターの時計を使用できませんか?
最初に注意することは、コンピューターが時計を与えていないことです。使用するものがない場合は、使用できません。もちろん、カスタムコネクタをセットアップしたい場合を除きます。ただし、潜在的なすべての顧客を説得して、コンピューターを手動で変更する必要があります。顧客がすべて非常に筋金入りの電子機器の専門家でない限り、これは成功するビジネス戦略にはなりません!
さらに重要なのは、なぜかという質問ですコンピューターは時計を与えていません。クロックがマウスでマイクロを実行するのに十分な速さであるためには、非常に高速である必要があります-数百kHzが絶対最小値であり、より一般的には非常に古いマイクロでもMHzになります。5717は明らかに4MHzのクロックを期待していました。ここでの問題は、ケーブルの構造、信号のソースとシンク、および高速デジタル通信の関連するすべての興味深い側面に細心の注意を払わない限り、ケーブルに4MHzを置いたときに作成するのは無線送信機であるということです。世界中にブロードキャストせずにこれを行うことは絶対に可能です-USB、DVI、およびHDMIはデジタルデータを高速で送信できますが、決して簡単ではありません。したがって、一般的に人々は、そうする正当な理由がない限り、長いケーブルでクロックを送信しません。
また、それが独自のクリスタルを持っている場合、CPUクロックとの同期が取れませんか?
マウスがCPUがクロックを同期して読み取る必要のあるデータを生成する場合、マウスにはCPUクロックが必要であることは間違いありません。(実際には、より遅い同期クロックで対応し、もう一方の端で乗算することができますが、簡単にするために、当面はそれを忘れてください)。
繰り返しますが、システムを見ると、答えは明らかに「いいえ」です。5717は、ユーザーがマウスを動かすと抵抗が変化します。ユーザーはマウスをそれほど速く動かさず、好きなときにいつでもマウスを動かすことができるため、クロック同期である必要はありません。最悪の場合、抵抗値はCPUがそれを読み取る途中で変化し、CPUは低い値または高い値を取得します。次回、抵抗は安定したままで、CPUは最終値を取得します。マウスはユーザーの手の速度でしか移動しないため、最終値に到達するために1つのサンプルを多かれ少なかれ気にする人はいません。
したがって、逆の順序で質問に答えるには: