Saya melihat skema ini untuk mouse (pra USB) lama:
ketika saya perhatikan ada kristal di atasnya (Y1). Saya ingin tahu mengapa mouse perlu timer? Bukankah itu bisa menggunakan jam dari komputer? Juga jika ia memiliki kristal sendiri tidak dapat keluar dari sinkronisasi dengan jam CPU?
schematics
crystal
reverse-engineering
Tyler H
sumber
sumber
Jawaban:
Itu MOS 5717 hal kemungkinan besar mikrokontroler atau bagian yang mengeksekusi kode. Perlu jam untuk berjalan.
Namun, hanya sebuah jam untuk mikro tidak membutuhkan akurasi kristal. Itu mungkin untuk komunikasi. USB membutuhkan jam dengan akurasi yang cukup tinggi.
Mouse tidak perlu melacak waktu nyata, dan tidak ada alasan untuk menyelaraskan dengan jam CPU. Jam USB-nya harus cukup dekat dengan jam USB host agar komunikasi berfungsi. Waktu tentang seberapa cepat peristiwa mouse terjadi atau waktu antara peristiwa mouse ditangani di host. Mouse hanya mengirim info tentang apa yang dirasakannya.
Ditambahkan
Tulisan di atas ditulis untuk menjawab pertanyaan awal, yang tidak menyebutkan bahwa mouse ini bukan USB. Karena hampir semua tikus baru telah USB selama satu dekade atau lebih, masuk akal untuk menjawab dalam konteks itu. Ketika Anda bertanya tentang sesuatu yang tidak biasa, Anda bertanggung jawab untuk menjelaskannya.
Meskipun tidak memiliki USB, mouse ini masih memiliki prosesor yang harus di-clock. Ini juga tampaknya menggunakan waktu untuk mengukur posisi pot yang terhubung ke joystick, sesuatu yang gagal disebutkan OP. Tampaknya sekarang komentar dari supercat paling relevan, jadi saya menyalinnya ke dalam jawabannya:
sumber
MOS 5717 memiliki cukup banyak pekerjaan independen yang harus dilakukan sendiri untuk membuat fungsionalitas mouse dari serangkaian enkoder optik.
Deskripsi dari datasheet menyatakan yang terbaik,
Sebelum ADC bebas menambahkan ke sembarang IC, antarmuka SID menggunakan waktu pengisian / pengosongan yang dibuat dengan potensiometer dan kapasitor integrasi input untuk memperkirakan nilai 'pot'. The 5717 mengemulasi potensiometer dengan output digital dengan mengontrol waktu sinyal pada garis POT.
sumber
Anda dapat melihat osilator seperti itu di banyak perangkat elektronik saat ini. Seorang mikrokontroler menjalankan operasi pada setiap centang. Untuk mengontrol dan memahami apa yang dilakukan μC, Anda memerlukan jam yang akurat. Kebanyakan μC memiliki build in clock tetapi tidak terlalu akurat .
Seperti yang dikatakan @Olin Lathrop, jam akurat ini diperlukan pada akhirnya untuk protokol USB atau, untuk melakukan beberapa pengukuran secara berkala ...
sumber
Jawaban lain telah mencakup untuk apa mikro di dalam mouse memerlukan jam. Namun mereka belum membahas bagian terpenting dari pertanyaan: -
Hal pertama yang perlu diperhatikan adalah komputer tidak memberikan jam. Jika tidak ada yang digunakan, Anda tidak bisa menggunakannya. Kecuali jika Anda ingin memasang konektor khusus, tentu saja - tetapi kemudian Anda perlu meyakinkan semua pelanggan potensial Anda untuk memodifikasi komputer mereka secara manual. Kecuali jika pelanggan Anda semuanya ahli elektronik yang sangat hardcore, ini tidak akan menjadi strategi bisnis yang sukses!
Yang lebih penting adalah pertanyaan mengapakomputer tidak memberinya jam. Agar jam cukup cepat untuk menjalankan mikro di mouse, itu harus cukup cepat - beberapa ratus kHz adalah minimum absolut, dan lebih normal Anda naik ke MHz bahkan untuk mik yang sangat tua. 5717 rupanya mengharapkan jam 4MHz. Masalahnya di sini adalah bahwa kecuali Anda sangat berhati-hati tentang konstruksi kabel, sumber sinyal dan tenggelam, dan semua aspek menarik terkait comm digital cepat, apa yang Anda buat ketika Anda meletakkan 4MHz ke bawah kabel adalah pemancar radio. Sangat mungkin untuk melakukan ini dengan baik tanpa penyiaran ke dunia - USB, DVI dan HDMI dapat mengirim data digital dengan kecepatan tinggi - tetapi itu tidak berarti langsung. Jadi orang umumnya tidak mengirim kabel jam panjang kecuali mereka punya alasan bagus untuk melakukannya.
Anda sepenuhnya benar bahwa jika mouse menghasilkan data yang harus dibaca CPU secara serempak, maka mouse akan membutuhkan jam CPU. (Sebenarnya Anda bisa bertahan dengan jam sinkron yang lebih lambat dan berkembang biak di ujung yang lain, tapi mari kita lupakan itu untuk saat ini, untuk kesederhanaan.) Jadi, bukan?
Sekali lagi, melihat sistem, jawabannya jelas "tidak". 5717 mengubah resistansi saat pengguna menggerakkan mouse. Pengguna tidak akan menggerakkan mouse secepat itu, dan pengguna dapat menggerakkan mouse kapan pun mereka mau, jadi tidak ada persyaratan untuk itu harus sinkron-jam. Kasus terburuk, resistensi berubah sebagian melalui CPU membacanya, dan CPU mendapatkan nilai yang lebih rendah atau nilai yang lebih tinggi. Lain kali, resistensi tetap stabil dan CPU mendapatkan nilai akhir. Karena mouse hanya bergerak dengan kecepatan tangan pengguna, tidak ada yang terlalu peduli dengan satu sampel lebih atau kurang untuk mencapai nilai akhir.
Jadi, untuk menjawab pertanyaan Anda dalam urutan terbalik:
sumber