Зачем мыши нужен кристалл?


22

Я искал эту схему для старой (до USB) мыши:

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

когда я заметил, что на нем был кристалл (Y1). Мне было любопытно, зачем мыши нужен таймер? Разве он не сможет использовать часы с компьютера? Кроме того, если у него есть свой кристалл, он не может синхронизироваться с тактовой частотой процессора?


1
Откуда вы взяли эту схему? Есть некоторые ошибки: например, полярность фотодиодов обратная.
Творог

1
@curd схема пришла отсюда: commodore.ca/manuals/funet/cbm/scmatics/misc/index.html
Тайлер Х

7
Может быть, «кристалл» на самом деле просто керамический резонатор. Кстати: почему вы ожидаете, что внутри мыши нет генерации часов? Даже вероятно, что внутри компьютера есть несколько подсхем, возможно, даже на материнской плате, которые имеют свои собственные генерации часов (кварцевые генераторы).
Творог

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

5
По вашей ссылке, похоже, эта мышь была предназначена для подмены джойстика. Если интерфейс джойстика не предназначен для тактового сигнала, то для мыши нет доступного тактового сигнала.
Фотон

Ответы:


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
Downvoter, пожалуйста, объясни, что ты считаешь неправильным.
Олин Латроп

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

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

21

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

Описание из таблицы данных гласит, что лучше

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

До того, как АЦП можно было свободно добавлять практически к любой ИС, интерфейс SID использовал время зарядки / разрядки, созданное с помощью потенциометра и входного интегрального конденсатора, для оценки значения 'pot'. 5717 эмулирует потенциометр с цифровыми выходами, управляя синхронизацией сигнала на линиях POT.


3
На всякий случай положите лист данных в машину обратного хода. web.archive.org/web/99991232235959/http://…
Оскар Ског

4

Вы можете увидеть такой генератор во многих электронных устройствах в наше время. Микроконтроллер выполняет операцию при каждом тике. Чтобы контролировать и понимать, что делает µ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.