Estaba mirando este esquema para un mouse viejo (pre USB):
cuando noté que tenía un cristal (Y1). Tenía curiosidad por qué un ratón necesitaría un temporizador? ¿No podría usar el reloj de la computadora? Además, si tiene su propio cristal, ¿no podría estar fuera de sincronización con el reloj de la CPU?
schematics
crystal
reverse-engineering
Tyler H
fuente
fuente
Respuestas:
Es probable que esa cosa del MOS 5717 sea un microcontrolador o alguna parte que ejecute código. Necesita un reloj para funcionar.
Sin embargo, solo un reloj para un micro no necesita precisión de cristal. Eso es probablemente para la comunicación. USB requiere un reloj de bastante alta precisión.
Un mouse no necesita rastrear en tiempo real, y no hay razón para estar sincronizado con el reloj de la CPU. Su reloj USB solo debe estar lo suficientemente cerca del reloj USB del host para que la comunicación funcione. Momento sobre la rapidez con que ocurren los eventos del mouse o el tiempo entre eventos del mouse se maneja en el host. El mouse solo envía información sobre lo que siente que sucede.
Adicional
Lo anterior se escribió en respuesta a la pregunta original, que no mencionaba que este mouse no fuera USB. Dado que casi todos los nuevos ratones han sido USB durante una década o más, era razonable responder en ese contexto. Cuando preguntas sobre algo inusual, es tu responsabilidad dejarlo claro.
A pesar de no tener USB, este mouse todavía tenía un procesador que necesitaba ser sincronizado. Aparentemente, también utilizó el tiempo para medir las posiciones de las ollas conectadas a un joystick, algo más que el OP no mencionó. Parece ahora que un comentario de supercat es más relevante, así que lo estoy copiando en la respuesta:
fuente
El MOS 5717 tiene mucho trabajo independiente que hacer para crear la funcionalidad del mouse a partir de un conjunto de codificadores ópticos.
La descripción de la hoja de datos lo indica mejor como,
Antes de que los ADC fueran libres de agregar a casi cualquier IC, la interfaz SID usaba el tiempo de carga / descarga creado con el potenciómetro y un condensador de integración de entrada para estimar el valor 'pot'. El 5717 emula un potenciómetro con salidas digitales controlando la sincronización de la señal en las líneas POT.
fuente
Puede ver ese oscilador en muchos dispositivos electrónicos hoy en día. Un microcontrolador ejecuta la operación en cada tic. Para controlar y comprender lo que está haciendo el µC, necesita un reloj preciso. La mayoría de µC tiene un reloj incorporado, pero no es muy preciso .
Como dijo @Olin Lathrop, este reloj preciso se necesita eventualmente para el protocolo USB o, para realizar algunas mediciones periódicamente ...
fuente
Otras respuestas han cubierto para qué necesita el micro dentro del mouse un reloj. Sin embargo, no han cubierto las partes más importantes de la pregunta:
Lo primero a tener en cuenta es que la computadora no le está dando un reloj. Si no hay uno para usar, no puede usarlo. A menos que desee configurar un conector personalizado, por supuesto, pero luego debe persuadir a todos sus clientes potenciales para que modifiquen manualmente sus computadoras. A menos que sus clientes sean expertos en electrónica extremadamente exigentes, ¡esta no será una estrategia comercial exitosa!
Más importante aún es la pregunta de por quéla computadora no le da reloj. Para que el reloj sea lo suficientemente rápido como para ejecutar el micro en el mouse, debe ser bastante rápido: unos pocos cientos de kHz es el mínimo absoluto, y más normalmente estás en MHz incluso para micros muy antiguos. El 5717 aparentemente esperaba un reloj de 4MHz. El problema aquí es que, a menos que tenga mucho cuidado con la construcción del cable, el origen y el hundimiento de la señal, y todos los aspectos interesantes asociados de las comunicaciones digitales rápidas, lo que crea cuando coloca 4MHz en un cable es un transmisor de radio. Es absolutamente posible hacerlo bien sin transmitir al mundo: USB, DVI y HDMI logran enviar datos digitales a altas velocidades, pero de ninguna manera es sencillo. Por lo tanto, las personas generalmente no envían relojes por cables largos a menos que tengan una buena razón para hacerlo.
Tiene toda la razón en que si el mouse produce datos que la CPU debe leer sincrónicamente, entonces necesitará el reloj de la CPU. (En realidad, puedes pasar con un reloj síncrono más lento y multiplicarte en el otro extremo, pero olvidemos eso por el momento, por simplicidad). Entonces, ¿lo hace?
Una vez más, mirando el sistema, la respuesta es claramente "no". El 5717 cambia su resistencia a medida que el usuario mueve el mouse. El usuario no va a mover el mouse tan rápido, y el usuario puede mover el mouse cuando lo desee, por lo que no es necesario que esté sincronizado con el reloj. En el peor de los casos, la resistencia cambia a la mitad de la lectura de la CPU, y la CPU obtiene el valor más bajo o el más alto. La próxima vez, la resistencia se mantiene estable y la CPU obtiene el valor final. Dado que el mouse solo se mueve a la velocidad de la mano del usuario, a nadie le importa más o menos una muestra para llegar al valor final.
Entonces, para responder sus preguntas en orden inverso:
fuente