
Existen dos puerto físico PS/2, el conector DIN de 5 pines o el mini conector de pines. Ambos son completamente compatibles eléctricamente, la única diferencia práctica es el arreglo de pines. Esto significa que los dos tipos de conectores se pueden cambiar simplemente usando un conector o adaptador. El DIN estándar fue creado por la Organización Alemana de Estándares www.din.de
MACHO HEMBRA
![]()
Distribución de Pines:
1 - Clock
2 - Datos
3 - NC
4 - Gnd
5 - VCC (+5V)
MACHO HEMBRA
Distribución de Pines:
1 - Datos
2 - NC
3 - GND
4 - VCC (+5V)
5 - Clock
6 - NC
A partir de este momento, se
usará el término HOST y se entenderá referido hacia el computador, o cualquier
aparato al cual está conectado el ps2, y la palabra DEVICE se refiere al mouse o
al teclado.
Vcc / Gnd le entrega la fuente de energía (+ 5V) , y la corriente máxima es
100 mA.
Las líneas de Datos y Clock son ambas open colector con resistencias de pull
up a +5V. Open Colector tiene dos posibles estados los cuales son baja o alta
impedancia. Cuando está en bajo el transistor pone la línea en bajo , en el
estado de alta impedancia la interfaz actúa como un circuito abierto y no
lleva la línea a bajo o alto. Esta resistencia no tiene un valor exacto se
puede colocar desde 1 hasta 10k Ohm. Esto significa que si tiene un valor
grande consume menos corriente y una resistencia pequeña consume mas corriente.
DESCRIPCIÓN GENERAL DE LA CONEXIÓN
PS/2.
El protocolo PS/2 es
implementado en un protocolo serial bidireccional sincrónico. El bus IDLE
cuando ambas señales están en alto (open colector). Este es el único estado
donde es permitido empezar la transmision de datos. El HOST tiene el control
del bus y puede en cualquier momento no permitir la comunicación colocando la
línea de Clock en bajo.
El dispositivo siempre genera la señal de Clock, si el host quiere enviar datos,
este debe bloquear la comunicación primero desde el dispositivo colocando la
linea de Clock en Bajo. El host entonces coloca los datos y suelta el Clock.
Esta es un estado "Petición de Envió" y las señales del dispositivo generan los
pulsos de Clock.
Estados del BUS:
Datos=Alto, Clock= Alto , Estado Idle
Datos=Alto, Clock= Bajo , Comunicacion bloqueada
Datos=lBajo, Clock= Alto , Host hace peticion de envio
Todos los datos son
transmitidos un byte al tiempo y cada byte es enviado en un frame que consiste
de 11 o 12 bits, Estos bits son :
* 1 bit de Start. Este es siempre es 0
* 8 datos de bits, mandando el bit menos significativo de primero.
* 1 bit de paridad
* 1 bit de Stop. Este es siempre 1
* 1 bit de reconocimiento (únicamente host a decice)
El bit de paridad esta en 1 si es un número par de unos en el bit de datos y el
reset es 0 si es un número impar de bits de unos en el bit de datos . El número
de unos en el bits de datos mas el de paridad siempre será un numero impar o
sea una paridad impar. Esto es usado para la detección de errores. El
dispositivo debe revisar este bit y si es incorrecto este debe responder si ha
recibido un comando invalido
Los datos enviados desde el
dispositivo es leído en el flanco de bajada de la señal de Clock, los datos
enviados desde el Host hacia el dispositivo es leído en el flanco de subida. La
frecuencia de Clock debe estar en el rango de 10 a 16.7KHz. Esto significa
que el Clock debe estar en alto de 30 a 50 micro segundos.
El tiempo es un punto muy importante, debe ser muy preciso y estable.
Comunicación: Dispotivo - Host.
Las Líneas de Datos y Clock deben estar ambas en Open Colector. Cuando el dispositivo quiere enviar información, este primero revisa las líneas de Clock para asegurarse que esten en un valor alto loógico. Si no esta así, el host bloquea la comunicación y el dispositivo debe buferear todo para poder enviar los datos hasta que el host suelte el Clock. Las líneas de Clock deben estar continuamente en alto alrededor de 50 micro segundos antes que el dispositivo pueda empezar a transmitir los datos.
En resumen tenemos:
* 1 bit de star. Este siempre esta en 0
* 8 bits de datos
*1 bit de paridad
*1 bit de stop