<<Inicio


TECLADO DE PC PARA PALM


Introducción:

La idea es construir un interface para poder usar un teclado estándar de PC en un PDA PALM.

Después de analizar varias posibilidades me he decantado por realizarlo a través del puerto de infrarrojos ya que así se puede usar el driver que la propia PALM suministra y emplear el teclado de PALM. Además no es necesario realizar ninguna conexión física con la PDA lo que elimina el riesgo de dañarla.


Protocolos:

Por una parte tenemos el del teclado del PC, que es bastante confuso pero está bien documentado. Basta con hacer una búsqueda en google para encontrar información al respecto, así que en esa parte no voy a entrar.

Por el otro lado está el protocolo IR de PALM. Como primera aproximación usé un fotodiodo IR para ver como era la señal.





De esto se deduce que se trata de 9600 bps sin paridad.

A continuación MauriTX, un compañero del foro PDAEXPERTOS desarrolló una pequeña aplicación para ver que es lo que se está transmitiendo.


Protocolo IR del teclado:

El teclado envía cadenas de seis bytes dos de los cuales son cabecera FF C0 y uno es de cierre C1

La última trama de seis bytes siempre se repite al final.


Cada tecla simple emite una trama de dos paquetes de 6 bytes mas el segundo que se repite, en total 18 bytes.


Si se pulsan dos teclas como por ejemplo shift-a o alt-b la trama queda como sigue:

Primero el primer paquete de 6 bytes de la tecla shift o ctrl, a continuación los dos paquetes de 6 bytes de la tecla correspondiente sin que se repita el segundo paquete y por últimoel segundo paquete de 6 bytes de la tecla shift repetido.


TRAMA

Explicación

Cabecera

Paquete

Cola

FF

C0

58

B5

2E

C1

Primer paquete de SHIFT

FF

C0

11

70

F1

C1

Primer paquete de A

FF

C0

91

78

75

C1

Segundo paquete de A

FF

C0

A4

B5

AA

C1

Segundo paquete de SHIFT

FF

C0

A4

B5

AA

C1

Segundo paquete de SHIFT repetido


Relaciones:

Además de las cabeceras y colas y de que el último paquete se repite, la única relación que he encontrado es que hay una correspondencia entre el primer y segundo paquete de cada tecla:

91 = 11 xor 80 , 78 = 70 xor 08 , 75 = F1 xor 84

Esta relación se repite para todas las teclas.


Siguiente>>