Для чого миші потрібен кристал?


22

Я дивився на цю схему для старої (перед USB) миші:

введіть тут опис зображення

коли я помітив, що на ньому був кристал (Y1). Мені було цікаво, чому миші потрібен таймер? Чи не вдалося б користуватися годинником від комп'ютера? Також якщо він має власний кристал, чи не міг він вийти з синхронізації з тактовою частотою процесора?


1
Звідки ви взяли цю схему? Є деякі помилки: наприклад, полярність фотодіодів зворотна.
Сир

1
@curd схематично прийшло звідси: commodore.ca/manuals/funet/cbm/schematics/misc/index.html
Тайлер Н

7
Можливо, «кристал» насправді є лише керамічним резонатором. BTW: Чому ви очікуєте, що всередині миші немає генерації годин? Цілком ймовірно, що всередині комп'ютера є кілька підсхем, можливо навіть на материнській платі, які мають власну генерацію годинника (кристалічні генератори).
Сир

4
Як говорить відповідь @OlinLathrop, миша MCU не намагається синхронізуватися з мікропроцесором системи хоста (MCU). MCU миші просто хоче синхронізуватися з порту зв'язку, будь то USB, RS232C або що-небудь інше.
TonyM

5
З вашого посилання, здається, ця миша мала на меті підробляти джойстик. Якщо інтерфейс джойстика не був розроблений таким чином, щоб мати тактовий сигнал, то миші не доступні сигнали годинника.
The Photon

Відповіді:


25

Ця річ MOS 5717 - це, швидше за все, мікроконтролер або якась частина, яка виконує код. Для роботи йому потрібен годинник.

Однак лише годинник для мікрофотографа не потребує точності кристала. Це, мабуть, для спілкування. USB вимагає досить високої точності годинника.

Миші не потрібно відстежувати реальний час, і немає причини, щоб вона синхронізувалася з процесорним годинником. Його годинник USB повинен бути достатньо близьким до USB-годинника хоста для роботи зв'язку. Час про те, як швидко відбуваються події миші або час між подіями миші обробляється в хості. Миша просто надсилає інформацію про те, що відчуває, що відбувається.

Додано

Сказане було написано у відповідь на оригінальне запитання, в якому не згадувалося, що ця миша не була USB. Оскільки майже всі нові миші були USB на протязі десятиліття і більше, в цьому контексті було розумно відповідати. Коли ви запитуєте про щось незвичне, ви повинні це зрозуміти.

Незважаючи на відсутність USB, у цієї миші все ще був процесор, який потрібно було синхронізувати. Очевидно, він також використовував терміни для вимірювання позицій горщиків, підключених до джойстика, щось інше ОП не зазначило. Зараз здається, що коментар supercat є найбільш релевантним, тому я копіюю його у відповідь:

Commodore 64 має входи потенціометра, які вимірюють час, необхідний для заряджання нерухомих конденсаторів через змінні опори. Програмне забезпечення очікує, що миша буде читати як значення опору в діапазоні 0-255, і вона буде чітко обгортати 254, 255, 0, 1 і т.д., що означає, що миша повинна точно встановити час вихідних імпульсів у межах менше ніж 0,4 %

1
@ user2417339 Тому що годинник процесора недостатньо точний. Кристал забезпечує цю нестачу точності системі
М.Ферру

9
Справа в тому, що для USB обох кінців повинен бути досить точний годинник. Тому миші потрібен кристал, щоб змусити USB працювати. Чому б не використати годинник з хост-ПК? Коротка відповідь - USB не дає пристрою копії хост-годинника. Чому б це не так складно - багато різних речей торгували один проти одного, коли було написано специфікацію USB, і це втратилося.
Джек Б

2
Нижче, поясніть, будь ласка, що ви вважаєте неправильним.
Олін Латроп

3
@OlinLathrop: Commodore 64 має входи потенціометра, які вимірюють час, необхідний для заряджання фіксованих конденсаторів через змінні опори. Програмне забезпечення очікує, що миша буде читати як значення опору в діапазоні 0-255, і вона буде чітко загортати 254, 255, 0, 1 і т.д., що означає, що миша повинна точно вчасно виводити свої вихідні імпульси в межах менше ніж 0,4 %.
supercat

2
@ Джеррі: Більшість з них - це просто дроти, єдиною інформацією є колір ізоляції. Я подумав, що два з них - це USB D + і D-лінії, а інші - кнопки миші, можливо, світлодіодні індикатори, або що-небудь інше химерні речі, якими ця миша може займатись лише мишею.
Олін Латроп

21

MOS 5717 має досить багато самостійних робіт, щоб зробити самостійно, щоб створити функціональність миші з набору оптичних кодерів.

В описі з таблиці вказано, що це найкраще як,

5717 - це користувацький контролер миші CMOS для Commodore 64. Він розміщуватиметься в корпусі миші з двома кнопками, що дозволяє йому бути підключеним до порту 64 джойстика та забезпечувати управління мишею програмним забезпеченням GEOS тощо. Він досягає функції миші шляхом заземлення ліній POTX і POTY чіпа SID в різний час циклу SID 512uS, щоб забезпечити 64 позиційною інформацією.

Перед тим, як АЦП були вільні додавати майже до будь-якого ІС, інтерфейс SID використовував час зарядки / розряду, створений потенціометром та вхідним конденсатором інтеграції, щоб оцінити значення «горщика». 5717 емулює потенціометр з цифровими виходами, керуючи тимчасовим сигналом на лініях POT.


3
На всякий випадок покладіть аркуш у машину зворотного зв'язку. web.archive.org/web/99991232235959/http://…
Оскар

4

Такий осцилятор можна побачити в багатьох електронних пристроях. Мікроконтролер виконує операцію на кожному галочці. Щоб контролювати та розуміти, що робить µC, вам потрібен точний годинник. Більшість µC має вбудований годинник, але це не дуже точно .

Як зазначає @Olin Lathrop, цей точний годинник потрібен врешті-решт для протоколу USB або для періодичного проведення певних вимірювань ...


3

Інші відповіді висвітлювали, для чого мікросередині миші потрібен годинник. Однак вони не висвітлювали найважливіших частин питання: -

Чи не вдалося б користуватися годинником від комп'ютера?

Перше, що слід зазначити, це те, що комп'ютер не дає йому годинника. Якщо немає кому користуватися, ви не можете його використовувати. Якщо ви не хочете встановити спеціальний роз'єм, звичайно, - але тоді вам потрібно переконати всіх своїх потенційних клієнтів вручну змінити свої комп'ютери. Якщо ваші клієнти не є надзвичайно жорсткими фахівцями з електроніки, це не буде успішною бізнес-стратегією!

Однак важливіше питання те, чомукомп'ютер не дає йому годинник. Для того, щоб годинник був досить швидким для запуску мікро в миші, він повинен бути досить швидким - кілька сотень кГц - це абсолютний мінімум, і більш нормально ви перебуваєте в МГц навіть для дуже старих мікросхем. 5717, очевидно, очікував тактового частоти 4 МГц. Проблема тут полягає в тому, що якщо ви не дуже обережні щодо побудови кабелю, пошуку сигналів та занурення та всіх пов’язаних із цим цікавих аспектів швидких цифрових комунікацій, те, що ви створюєте, коли кладете кабель на 4 МГц, - це радіопередавач. Абсолютно можна зробити це добре, не передаючи світові - USB, DVI та HDMI вдається надсилати цифрові дані з високою швидкістю - але це аж ніяк не просто. Тож люди зазвичай не посилають годинники довгими кабелями, якщо у них немає вагомих причин для цього.

Також якщо він має власний кристал, чи не міг він вийти з синхронізації з тактовою частотою процесора?

Ви абсолютно праві, що якщо миша видає дані, які процесор повинен читати годинник синхронно, то миші знадобиться тактовий процесор. (Насправді можна обійтись повільнішими синхронними годинниками та множитися вгору на іншому кінці, але давайте забудемо це на даний момент для простоти.) Отже, чи так?

Знову ж таки, дивлячись на систему, відповідь чітко "ні". 5717 змінює опір, коли користувач рухається мишкою. Користувач не збирається переміщати мишу так швидко, і користувач може переміщувати мишу, коли їм заманеться, тому немає необхідності, щоб вона була синхронізованою за годинником. Найгірший випадок, опір змінюється частково через процесор, який його читає, і ЦП або отримує нижче значення, або вище значення. Наступного разу опір залишається стійким і процесор отримує остаточне значення. Оскільки миша рухається лише зі швидкістю руки користувача, ніхто не піклується про один зразок більше чи менше, щоб дійти до кінцевого значення.

Отже, щоб відповісти на ваші запитання у зворотному порядку:

  • Не має значення, чи це не синхронізовано з тактовою частотою процесора.
  • Є вагомі технічні причини, щоб не надсилати годинник процесора вниз за провідником, якщо це абсолютно не потрібно, і в цьому випадку це не так.

Навіть із сучасними інтерфейсами пропонується відсунути цифрову електроніку від радіочастотного обладнання . (У тому конкретному випадку, зберігаючи деякий поділ між концентратором USB та радіопередавачем-аматором.)
CVn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.