Mouse ps2

Anuncio
Mouse ps2
●
●
●
Al igual que el teclado, el mouse emplea comunicación
bidireccional. Aunque en el teclado no es necesaria, el mouse
requiere ser inicializado, por lo tanto envía y recibe información.
Un mouse esta diseñado para detectar el movimiento en dos
dimensiones sobre una superficie. Sus circuitos miden la distancia
relativa de movimiento y revisan el estado de los botones. Ésta
información es empaquetada en tres bytes que es enviada al host
a través del puerto ps2. En el modo stream, el mouse envía los
paquetes continuamente a una frecuencia establecida.
Cuando los datos son transmitidos al host, el contador el
inicializado a cero y reinicia el conteo. El contenido del contador es
representado por un entero con signo de 9 bits. Un número positivo
indica el movimiento a la derecha y arriba, y un número negativo
indica movimiento a la izquierda y abajo.
●
●
●
La distancia se puede medir mediante el
parámetro de resolución. El estándar es 4
cuentas por un milímetro.
Cuando el mouse se mueve continuamente
envía los paquetes a una frecuencia de 100
muestras por segundo.
Cuando el movimiento ocasiona que se
desborde el contador interno o la velocidad a la
que se mueve el mouse es mayor que la
frecuencia de envío, se presenta un sobreflujo.
Paquetes
●
●
●
●
●
●
●
x8 . . . x 0 : movimiento en el eje x, en formato de complemento a dos.
x v : sobreflujo en el movimiento del eje x.
y 8 . . . y 0 : movimiento en el eje y, en formato de complemento a dos.
y v : sobreflujo en el movimiento del eje y.
l : estado del botón izquierdo, '1' cuando es presionado.
m : estado del botón medio, '1' cuando es presionado.
r : estado del botón derecho, '1' cuando es presionado.
Inicialización del mouse
●
●
●
El mouse cuenta con diferentes modos, el más
común es el stream, el cual envía los datos de
movimiento de los ejes x y y, así como de los
botones.
Se pueden modificar parámetros del mouse,
para lo cual se envía esta información y él
responde con un comando de reconocimiento.
Para nuestros fines, solo se desea inicializar el
mouse y activar el modo stream.
Inicialización
●
●
●
●
●
Cuando un mouse se alimenta envía el comando AA, indicando
que pasó la prueba de inicio, después envía un 00 que es su
identificador.
El FPGA (host) envía el comando, F4, para habilitar el modo
stream. El mouse responde con FE indicando el reconocimiento
del comando recibido.
El mouse entra al modo stream y envía los paquetes de datos.
Cuando el mouse se conecta a la tarjeta (FPGA) envía los
comando AA 00. Considerando que estos comando son
recibidos, el trabajo consistirá en enviar el comando FA y recibir
FE para entrar a la operación normal.
Se puede reiniciar el mouse enviando el comando FF, a lo cual
el mouse respondera con FE y después enviará AA, y por último
00.
Señales ps2c y ps2d
Las señales de datos y reloj, tienen la función de enviar y
recibir, por lo tanto deben ser tratadas como señales de
tres estados.
Inicialización
1. El host aplica un '0' en la señal de reloj, por al menos 0.1 ms.
2. El host hace la señal de datos '0' y pone en alta impedancia la
señal de reloj. Envío del bit de inicio al mouse.
3. El mouse ahora es responsable de generar la señal de reloj (ps2c).
Después de detectar el '0' genera una transición de '1' a '0'.
Inicialización
4. El host una vez detectada la transición envía el primer dato por
ps2d, este valor se mantiene hasta que se detecta otra transición.
5. Repetir el paso 4 para los 7 bits de datos restantes y el bit de
paridad.
6. Después de enviar el bit de paridad el host deshabilita la línea ps2d
(alta impedancia). El mouse envía la señal ps2d a '0', indicando la
finalización de la transmisión. El host puede verificar la transición
de '1' a '0' en ps2c para confirmar la correcta transmisión del
paquete.
Descargar