¿La comunicación entre el teclado USB o PS / 2 y la computadora es simple, dúplex o semidúplex (unidireccional o bidireccional)?

1

Tengo curiosidad por saber si la comunicación entre la computadora y los teclados es unidireccional o bidireccional.

Hasta hace unos días pensé que la comunicación es unidireccional porque solo el teclado envía datos a la computadora y la computadora interpreta estos datos.

También el artículo del cual aprendí sobre simplex, duplex y half-duplex dio como ejemplo de comunicación simplex la comunicación entre el teclado y la computadora. enlace

Sin embargo, descubrí que al usar programas de teclado virtual, como el teclado en pantalla, puede ajustar el bloqueo de mayúsculas, el bloqueo numérico o el bloqueo de desplazamiento y el indicador LED se enciende o apaga en consecuencia en el teclado. Esto tiene que significar que la computadora también envía datos al teclado. ¿Esto es correcto?

    
pregunta yoyo_fun

2 respuestas

4

Hay una diferencia en cómo funcionan los dispositivos USB y PS / 2.

Un teclado USB no envía ningún dato por sí solo a menos que el host realice una solicitud. Por lo tanto, la comunicación es definitivamente dúplex medio: el host envía una solicitud de IN en la línea de datos (diferencial), el teclado responde con los datos cuya tecla se presionó o presionó, en los mismos cables de datos. Si los datos se recibieron con éxito, el host devuelve "ACK". Si no se presionó ninguna tecla, el teclado devuelve "NAK" y no hace nada hasta la próxima consulta. Aunque es un caso de sondeo, se llama "tubo de interrupción". Dado que el host USB siempre tiene el control (excepto el despertar del estado de suspensión / suspensión), puede enviar comandos al teclado para cambiar su configuración, como configurar Numlok o Caplock.

En protocolo PS / 2 las cosas son diferentes. La comunicación es controlada por dispositivo. El dispositivo genera el reloj y un paquete de datos cada vez que ocurre un evento. Aún así, el host PS / 2 puede enviar algunos datos de control; primero alterna el reloj, luego el dispositivo se hace cargo del reloj y el host sincroniza sus datos con el reloj del dispositivo. Entonces el dispositivo toma posesión de la línea de datos, y afirma "ACK" bit.

Por lo tanto, en ambos casos el canal de datos único se comparte en ambas direcciones, por lo que la comunicación es "half-duplex".

    
respondido por el Ale..chenski
3

Sí, tanto PS / 2 como USB son semidúplex.

(Excepto por la súper velocidad de USB 3.0, que es dúplex completo).

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas