[Práctica 2 - Teclado] *Señal clock del dispositivo PS2 *Borrado FF de entrada del CLK del PS2

[Práctica 2 - Teclado] *Señal clock del dispositivo PS2 *Borrado FF de entrada del CLK del PS2

de Denis Gabriel Peña Presa -
Número de respuestas: 4

Buenas, dos consulta :

1) ¿Por qué la señal de reloj del dispositivo PS2 se pasa por un eliminador de rebote?, ¿es para que tenga el mismo retraso que la señal de datos del dispositivo PS2 y no queden desfasadas?

2)  Para borrar el flip-flop de la figura 4 de la letra de la práctica ¿La idea es seleccionar un dispositivo de un puerto de salida y con la señal de habilitación de ese puerto borrar el flip-flop? Osea la referenciación a ese puerto, por ejemplo, luego en el programa  hacer un out(dir) , A  ¿Es solo para borrar el flip-flop?

En respuesta a Denis Gabriel Peña Presa

Re: [Práctica 2 - Teclado] *Señal clock del dispositivo PS2 *Borrado FF de entrada del CLK del PS2

de Julio Perez -
Hola Denis, la respuesta corta es Sí y Sí.
Amplío un poco, empiezo por la segunda pregunta:

2) Exacto. A menudo se usa un pulso de selección de dispositivo para desencadenar alguna acción. En este caso se usa un pulso de selección de un puerto de salida para borrar el FF que detecta flancos de reloj. A diferencia de un puerto de salida normal, el contenido del acumulador en el momento de ejecutar la instrucción out no interesa porque el contenido del bus de datos es ignorado.

1) Respecto a la eliminación de rebotes, aclaro que nuestra intención fue dárselos digerido para que puedan concentrarse en los otros temas. Digo esto para aclarar que no se necesita entender los bloques eliminador de rebotes para hacer la práctica. Usando las palabras de un mítico profesor de esta facultad, esto es "para los que tengan gusto". Efectivamente, el ratón o teclado que maneje las señales PS2 deberá generar en esas señales transiciones limpias, libres de rebotes. Por ese motivo, a priori no sería necesario pasar esas señales por el bloque eliminador de rebotes. El bloque eliminador de rebotes que se usó no es exactamente un retardo, sino que más bien se captura el valor de las entradas a intervalos más largos que la duración de los rebotes. Pusimos el bloque eliminador de rebotes para que los valores de las distintas señales presentadas como entrada al bloque sistema correspondan al mismo instante de tiempo.

Espero haber aclarado,
saludos,

julio
En respuesta a Julio Perez

Re: [Práctica 2 - Teclado] *Señal clock del dispositivo PS2 *Borrado FF de entrada del CLK del PS2

de Denis Gabriel Peña Presa -
Buenísimo. Sí, se entendió claro Julio, osea que los dispositivos PS2 ya te deberían mandar la señal sin rebotes , y se los pasa por el eliminador para que cuadre temporalmente con el resto de entradas del bloque "sistema".
Una última pregunta para no molestar más ¿El eliminador de rebotes entonces es como un contador que cuenta un cierto número de ciclos de CLK, o medios ciclos, para volver a muestrear la entrada? Además se asume que los rebotes ocurren en un intervalo temporal no mayor al muestreo que hace el eliminador ¿No? Me imagino que los intervalos de muestreo de la entrada deben ser lo suficientemente largos para eliminar el rebote pero no tanto como para dañar la señal.
En respuesta a Denis Gabriel Peña Presa

Re: [Práctica 2 - Teclado] *Señal clock del dispositivo PS2 *Borrado FF de entrada del CLK del PS2

de Julio Perez -
Tal cual.
En este caso eso es posible, dado que la frecuencia de reloj es alta y los tiempos de interés en las señales son bastante mayores que la duración de los rebotes.
El eliminador de rebotes usado es básicamente como lo describís vos. En algunos casos se agrega una lógica adicional para hacer que un cambio en la salida se valide solamente después que varias muestras consecutivas tienen el mismo valor. Eso permite muestrear más rápido y responder un poco más rápido a los cambios en la entrada. No recuerdo si el bloque que usamos en el lab incluye esta mejora.