Teclado y Mouse
Arquitectura del teclado y Mouse
2014-II
1115210055
1115220204
1115220276
111522
2014-II
1
INDICE
2.1
ASPECTOS GENERALES ................................................................................................... 3
2.1.1 TECLADO ................................................................................................................................ 3
2.1.2 CARACTERISTICAS ............................................................................................................. 5
2.1.2.1
EL TECLADO SE DIVIDE EN: .................................................................................... 5
2.1.2.2
LOS TECLADOS TAMBIEN SE DIVIDEN DEPENDE DE SU FORMA FISICA: 5
2.1.3 PUERTOS DE ENLACE DEL TECLADO ........................................................................... 7
2.1.4 FUNCIONAMIENTO DEL TECLADO .................................................................................. 7
2.1.5 CAMBIO DE MANJEADOR DE INTERRUPCIONY FIN DE INTERRUPCION ............ 8
2.1.6 PROTOCOLO ....................................................................................................................... 10
2.1.6.1
COMUNICACIN CON TECLADO PS/2 ................................................................ 10
2.1.6.2
GENERALIDADES: ....................................................... Error! Bookmark not defined.
2.1.6.3
PINES DEL TECLADO ............................................................................................... 11
2.1.6.4
ANALISIS DEL PROTOCOLO .................................................................................. 12
2.1.6.5
COMUINICACION DISPOSITIVO A HOST ............................................................ 13
2.1.7 DIAGRAMA DE FLUJO DEL CODIFICADOR .................................................................. 14
2.1.8 DRIVER .................................................................................................................................. 15
2.1.9 ENVIAR DATOS DESDE EL HOST AL DISPOSITIVO .................................................. 15
2.1.10
KEY CODES ..................................................................................................................... 16
I.
INTRODUCION
II.
MARCO TEORICO
Debajo del teclado existe una matriz con pistas conductoras que puede pensarse en
forma rectangular, siendo en realidad de formato irregular. Si no hay teclas oprimidas,
no se toca ningn conductor horizontal con otro vertical. Las teclas estn sobre los
puntos de interseccin de las lneas conductoras horizontales y verticales. Cuando se
pulsa una tecla. Se establece un contacto elctrico entre la lnea conductora vertical y
horizontal que pasan por debajo de la misma.
Teclado de funciones: (desde F1 hasta F12) son teclas cuya funcin depende
del programa en ejecucin.
Cada tecla tiene su contacto, que se encuentra debajo de ella, al oprimirla se " Cierra "
y al soltarla se " Abre ", de esta manera constituye una llave " si - no ".
La placa base
La membrana
2.1.2 CARACTERISTICAS
A) EL TECLADO SE DIVIDE EN:
Teclado flexible: Estos teclados son de plstico suave o silicona que se puede
doblar sobre s mismo. Durante su uso, estos teclados pueden adaptarse a
superficies irregulares, y son ms resistentes a los lquidos que los teclados
estndar.
# deshabilitar
interrupciones
# interrupci on hardware
del teclado
shl $2 , %bx
%ds , 2( %bx)
sti
la int . teclado
interrupciones
MAKEFILE
1
2
3
ASM = $( wildcard *. s)
6
7
all :
qemu
8
9
10
clean :
$(RM ) - rfv $( BIN ) $( OBJ ) core .* *~
11
12
13
qemu : $( BIN )
killall -q qemu - system - i386 || echo " nothing to kill "
14
15
16
%.bin :
%.o
17
co digo
de
16 bits
# secci on
de
5
6
_start :
xor
%ax , %ax
mov
%ax , %ds
# ds = 0
mov
%ax , %ss
# ss = 0
| pila en
12
# 0 xb800 --> ax |
13
mov
%ax , %es
# ax --> es
14
xor
%di , %di
# 0 --> di
10
ss:sp
11
15
16
cli
# deshabilitar
17
18
shl $2 , %bx
19
20
movw
21
sti
%ds , 2( %bx)
interrupciones
# interrupci on hardware
del teclado
interrupciones
22
23
stop :
24
hlt
# hace falta ?
25
jmp stop
# bucle vac o
26
#
27
##############################################################################
28
29
2.1.6
controlador :
PROTOCOLO
A)
GENERALIDADES:
Una de las ventajas de usar un teclado PS/2 es que son baratos y fciles de
conseguir, adems solo se necesitan 2 pines para tener comunicacin con ellos.
Algo muy interesante es que se pueden conseguir pads numricos por precios muy
razonables que son de menor tamao que los teclados convencionales y as poder
usarlos en casi cualquier proyecto que demande un teclado.
Otra opcin que escuche (me la dijo el "Grande" del NIKKO) Es usar un conversor
analgico digital y una red de teclas mediante un R2R. Se ve interesante esta opcin
pero tendras que fabricar tu propio teclado y de esa forma, y no le tendra mucha
confianza a menos que lo uses para pocas teclas. Pero esto requerira un pin de AD y
creo yo que tambin convendra poner un pin para lanzar la interrupcin cuando
cualquier tecla se presione para leer el conversor.
10
Los pines PS/2 son los mismos tanto para el teclado como para el mouse (quiza algn
da hablemos de esta otra opcin), y adems este mismo proyecto se puede realizar
con un teclado AT.
Pin 1 +DATA
Pin 3 GND
Pin 5 +CLK
11
El teclado emite un dato a la vez, mediante 11 bits. Cada vez que el clock pasa de alto
a bajo debe leerse el estado de DATA.
Primero se envia un bit de inicio y despus 8 bits de datos, los datos se envian desde
el bit menos significativo al ms significativo. Un bit de paridad y un bit de stop.
3.
4.
5.
12
El dispositivo escribe un bit en la linea de Data cuando el clock esta en alto y lee
cuando el clock esta en bajo.
Es posible inhibir los transmisin poniendo la linea de clock en bajo por 100 us. El
dispositivo cancela la transmisin y se prepara para enviar el paquete "chunk". Este
paquete contiene la informacin referida al teclado o dispositivo.
13
14
2.1.8 DRIVER
Transcribo el driver, para que no tenga que copiarlo carcter por carcter. Quiz
pueda ser distinto que el de tu teclado, pero debera ser prcticamente igual.
0x00,0x01,0x00,0x03,0x04,0x05,0x06,0x07,0x00,0x09,0x0a,0x0b,0x0c,0x0d,'`' ,0x00,
0x00,'C' ,'X' ,'D' ,'E' ,'4' ,'3' ,0x00,0x00,' ', 'V' ,'F' ,'T' ,'R' ,'5' ,0x00,
0x00,'N' ,'B' ,'H' ,'G' ,'Y' ,'6' ,0x00,0x00,0x00,'M' ,'J' ,'U' ,'7' ,'8' ,0x00,
0x00,',' ,'K' ,'I' ,'O' ,'0' ,'9' ,0x00,0x00,'.' ,'/' ,'L' ,';' ,'P' ,'-' ,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x66,0x00,0x00,0x69,0x00,0x6b,0x6c,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x77,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x83,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
Si bien esto no es muy necesario para usar el teclado, y probablemente sea muy
necesario en muy pocas oportunidades, lo voy a explicar por si alguien lo necesita.
15
11)
12)
MAKE
MAKE BREAK
A
B
C
D
E
F
G
1C
32
21
23
24
2B
34
F0,1C
F0,32
F0,21
F0,23
F0,24
F0,2B
F0,34
9
`
=
\
BKSP
SPACE
46
0E
4E
55
5D
66
29
F0,46
F0,0E
F0,4E
FO,55
F0,5D
F0,66
F0,29
54
E0,70
E0,6C
E0,7D
E0,71
E0,69
E0,7A
33
F0,33
TAB
0D
F0,0D
43
F0,43
CAPS
58
F0,58
3B
F0,3B
L SHFT 12
FO,12
42
F0,42
L CTRL 14
FO,14
L
M
N
O
P
Q
R
S
T
U
V
W
4B
3A
31
44
4D
15
2D
1B
2C
3C
2A
1D
F0,4B
F0,3A
F0,31
F0,44
F0,4D
F0,15
F0,2D
F0,1B
F0,2C
F0,3C
F0,2A
F0,1D
L GUI
L ALT
R SHFT
R CTRL
R GUI
R ALT
APPS
ENTER
ESC
F1
F2
F3
E0,F0,1F
F0,11
F0,59
E0,F0,14
E0,F0,27
E0,F0,11
E0,F0,2F
F0,5A
F0,76
F0,05
F0,06
F0,04
E0,1F
11
59
E0,14
E0,27
E0,11
E0,2F
5A
76
05
06
04
[
INSERT
HOME
PG UP
DELETE
END
PG DN
U
ARROW
L
ARROW
D
ARROW
R
ARROW
NUM
KP /
KP *
KP KP +
KP EN
KP .
KP 0
KP 1
KP 2
KP 3
KP 4
FO,54
E0,F0,70
E0,F0,6C
E0,F0,7D
E0,F0,71
E0,F0,69
E0,F0,7A
E0,75 E0,F0,75
E0,6B E0,F0,6B
E0,72 E0,F0,72
E0,74 E0,F0,74
77
E0,4A
7C
7B
79
E0,5A
71
70
69
72
7A
6B
F0,77
E0,F0,4A
F0,7C
F0,7B
F0,79
E0,F0,5A
F0,71
F0,70
F0,69
F0,72
F0,7A
F0,6B
16
X
Y
Z
0
1
2
3
4
5
22
35
1A
45
16
1E
26
25
2E
F0,22
F0,35
F0,1A
F0,45
F0,16
F0,1E
F0,26
F0,25
F0,2E
36
F0,36
F4
F5
F6
F7
F8
F9
F10
F11
F12
0C
03
0B
83
0A
01
09
78
07
PRNT
E0,12,
SCRN
F0,0C
F0,03
F0,0B
F0,83
F0,0A
F0,01
F0,09
F0,78
F0,07
E0,F0,
KP
KP
KP
KP
KP
]
;
'
,
7C,E0,
F0,12
F0,7E
E1,14,77, -NONE-
5
6
7
8
9
73
74
6C
75
7D
5B
4C
52
41
F0,73
F0,74
F0,6C
F0,75
F0,7D
F0,5B
F0,4C
F0,52
F0,41
49
F0,49
4A
F0,4A
E0,7C
3D
F0,3D
SCROLL 7E
3E
F0,3E
PAUSE E1,F0,14,
F0,77
17
BIBLIOGRAFIA:
Fuentes: Hardware:
o
http://www.seasip.info/VintagePC/ibm_1391406.html
Software: http://wiki.osdev.org/Babystep5
Lenguaje ensamblador
http://es.scribd.com/doc/31047054/40120-Evi-59-Arquitectura-Del-Teclado
http://es.slideshare.net/LuzMayerly/estructuras-internas
http://comparqui01.wordpress.com/teclado-3/
http://adcame.blogspot.com/2013/05/teclado.html
http://geneura.ugr.es/~gustavo/as/teoria/practica-03/practica-03.pdf
http://www.sebest.com.ar/?q=node/42
18