Я искал эту схему для старой (до USB) мыши:
когда я заметил, что на нем был кристалл (Y1). Мне было любопытно, зачем мыши нужен таймер? Разве он не сможет использовать часы с компьютера? Кроме того, если у него есть свой кристалл, он не может синхронизироваться с тактовой частотой процессора?
schematics
crystal
reverse-engineering
Тайлер Н
источник
источник
Ответы:
То, что MOS 5717, скорее всего, является микроконтроллером или какой-то частью, которая выполняет код. Для запуска нужны часы.
Однако просто часы для микро не требуют кристальной точности. Это, вероятно, для общения. USB требует довольно высокой точности часов.
Мышь не должна отслеживать реальное время, и нет никаких причин для синхронизации с часами процессора. Его USB-часы должны быть достаточно близки к USB-часам хоста, чтобы связь могла работать. Время о том, как быстро происходят события мыши или время между событиями мыши обрабатывается на хосте. Мышь просто посылает информацию о происходящем.
добавленной
Выше было написано в ответ на оригинальный вопрос, в котором не упоминалось, что эта мышь не USB. Поскольку почти все новые мыши были USB в течение десятилетия или более, было разумно ответить в этом контексте. Когда вы спрашиваете о чем - то необычным, это ваша ответственность , чтобы сделать это ясно.
Несмотря на отсутствие USB, эта мышь все еще имела процессор, который нужно было тактировать. Очевидно, он также использовал время для измерения положения горшков, подключенных к джойстику, но ОП не упомянул об этом. Теперь кажется, что комментарий от supercat наиболее актуален, поэтому я копирую его в ответ:
источник
MOS 5717 имеет довольно много самостоятельной работы, чтобы создать функциональность мыши из набора оптических энкодеров.
Описание из таблицы данных гласит, что лучше
До того, как АЦП можно было свободно добавлять практически к любой ИС, интерфейс SID использовал время зарядки / разрядки, созданное с помощью потенциометра и входного интегрального конденсатора, для оценки значения 'pot'. 5717 эмулирует потенциометр с цифровыми выходами, управляя синхронизацией сигнала на линиях POT.
источник
Вы можете увидеть такой генератор во многих электронных устройствах в наше время. Микроконтроллер выполняет операцию при каждом тике. Чтобы контролировать и понимать, что делает µC, вам нужны точные часы. Большинство микроконтроллеров имеет встроенные часы, но они не очень точны .
Как сказал @Olin Lathrop, эти точные часы необходимы в конечном итоге для протокола USB или для периодических измерений ...
источник
Другие ответы касались того, для чего микро-мыши внутри мыши нужны часы. Однако они не охватили наиболее важные части вопроса:
Первое, что нужно отметить, это то, что компьютер не дает ему часы. Если его нет, вы не сможете его использовать. Если, конечно, вы не хотите настраивать пользовательский соединитель, но тогда вам нужно убедить всех своих потенциальных клиентов вручную модифицировать свои компьютеры. Если ваши клиенты не являются исключительно опытными специалистами в области электроники, это не будет успешной бизнес-стратегией!
Более важным является вопрос о том, почемукомпьютер не дает ему часы. Для того, чтобы часы были достаточно быстрыми для запуска микро-мыши, они должны быть довольно быстрыми - несколько сотен кГц - это абсолютный минимум, и обычно вы работаете в МГц даже для очень старых микро. 5717, очевидно, ожидал тактовую частоту 4 МГц. Проблема здесь заключается в том, что, если вы не очень внимательно относитесь к конструкции кабеля, источнику и ослаблению сигнала и ко всем связанным с этим интересным аспектам быстрых цифровых коммуникаций, то, что вы создаете, когда кладете 4 МГц на кабель, является радиопередатчиком. Абсолютно возможно сделать это хорошо без вещания на весь мир - USB, DVI и HDMI удается отправлять цифровые данные с высокой скоростью - но это ни в коем случае не является простым. Поэтому люди обычно не посылают часы по длинным кабелям, если у них нет веских причин для этого.
Вы абсолютно правы в том, что если мышь выдает данные, которые ЦП должен читать синхронно по часам, то мыши понадобятся часы ЦП. (На самом деле вы можете обойтись с более медленными синхронными часами и умножиться на другом конце, но давайте забудем об этом на некоторое время, для простоты.) Итак, так?
Опять же, глядя на систему, ответ явно «нет». 5717 изменяет свое сопротивление, когда пользователь перемещает мышь. Пользователь не собирается перемещать мышь так быстро, и пользователь может перемещать мышь в любое время, поэтому не требуется, чтобы она была синхронизирована по часам. В худшем случае сопротивление частично меняется благодаря чтению его ЦП, и ЦП либо получает меньшее, либо большее значение. В следующий раз сопротивление остается постоянным, и процессор получает окончательное значение. Поскольку мышь движется только со скоростью руки пользователя, никто не заботится об одном образце более или менее, чтобы достичь окончательного значения.
Итак, чтобы ответить на ваши вопросы в обратном порядке:
источник