Story Transcript
Tema 9 Periféricos de Entrada
Periféricos e Interfaces Tema 9/1
Contenido TECLADOS DISPOSITIVOS APUNTADORES DIGITALIZADORES Teclados Tecnología y Tipos Estructura Funcionalidad Interfaz al computador: Controlador Manejador de Interrupciones: Control de la interfaz entre teclado y computador Programación Tema 9/2
Dónde están el teclado y el ratón
Teclado
Tema 9/3
Ratón
Estructura Interna Teclado Computador
PPI, 60h)
Interfaz síncrona serie de 11 bits: 1+8+1+1 (PS/2) Tema 9/4
Controlador del Teclado
Decodificador X
IRQ1 (INT 9h) Controlador de Interfaz Datos(7:0) de Teclado: (Port B de 8255 8741/8742
Decodificador Y
Matriz de Teclas
Tipos de Teclados: Teclado Matricial Vcc
Puerto A (OUT)
D0 D1 D2 D3
3
2
1
0
7
6
5
4
B
A
9
8
CARACTERÍSTICAS TÉCNICAS 51 x 68 x 7 mm
F
E
D
C
Matriz de 3 x 4 teclas Corriente de contacto a 20ºC: 5 mA Rebote del contacto: 5 msec max
D3 D2 D1 D0 Puerto B (IN)
Resistencia contacto: 200 ohms max Vida media: 1 millón de pulsamientos Fuerza de actuación: 90 +/- 25 gramos Precio: 6 Euros
Tema 9/5
Tipos de Teclas de Contacto
Cabeza Muelle Pulsador Contactos PCB Tema 9/6
Teclas Capacitivas
Tema 9/7
Tipo de Teclados QWERTY PC/XT: 83 teclas
AT: 101(USA)/102(UK) teclas 104 teclas (Windows) Tema 9/8
Teclados QWERTY 101/102 teclas 101 teclas (USA)
102 teclas (UK)
Tema 9/9
Interior de un teclado
Tema 9/10
Códigos • Código SCAN (estático) – identifica la tecla “pulsada” – 1 byte
• Código MAKE (dinámico) – se envía al controlador cuando es pulsada, incluso shift, ctrl, etc. – es igual al código scan
• Código BRAKE (dinámico) – se envía al controlador cuando se deja de pulsar una tecla, incluso shift, ctrl, etc. – es igual al código scan + 128 (bit 7=1) Tema 9/11
Estado del Teclado QWERTY 13 teclas 17 teclas
71/72 teclas
D0: SHIFT DCHA pulsado D1: SHIFT IZQ pulsado
Primer byte de estado del teclado: 0040:0017 (datos BIOS)
D2: CTRL pulsado D3: ATL pulsado D4: Bloq Desp activado D5: Bloq Num activado D6: Mayúsculas D7: Insert activado
Tema 9/12
Segundo byte de estado del teclado: 0040:0018 (datos BIOS)
Controladores de Teclado y Ratón Vcc= 5v.
Puerto de Datos: 60H
Datos Reloj
Teclado
Puerto de Control: 64H
Controlador de teclado/ratón 8741/8742
Bus del Sistema
Registro de Salida
IRQ12
Registro de Entrada
IRQ1
GND Vcc= 5v. Datos Reloj
Ratón GND
Tema 9/13
Conectores de Teclado
Din 5 pines:
PS/2:
1.- Reloj teclado (bidir)
1.- Reloj teclado (bidir)
2.- Dato teclado (bidir)
2.- Tierra
3.- No conectado
3.- Dato teclado (bidir)
4.- Tierra
4.- No conectado
5.- +5v.
5.- +5v. 6.- No conectado
Tema 9/14
Conectores de interfaz a teclados y ratones
Tema 9/15
Protocolos de comunicaciones síncrono PS/2 Teclado a PC
PC a teclado
Tema 9/16
Manejador Software Generalizado Aplicación Driver del Ratón Servicio de Interrupciones Controlador del Ratón
Tema 9/17
INT 09h
Tema 9/18
LIBRE
LIBRE 40:3c
Tabla ASCII Código ASCII al Buffer de Teclado
LIBRE
40:1a 40:1b 40:1c 40:1d 40:1e
Código SCAN desde controlador
LIBRE ASCII Scan ASCII Scan ASCII Scan ASCII Scan ASCII Scan ASCII Scan ASCII Scan ASCII Scan
LIBRE
LIBRE
Puntero Lectura Puntero Escritu
Manejador de Teclado Memoria Principal
Buffer de Teclado
Zona de Datos de la BIOS
INT 09h - IRQ 1 • 1.- El teclado envía el código SCAN al controlador de teclado, y éste activa la interrupción IRQ 1 (INT 09H) • 2.- La rutina de servicio de interrupciones correspondiente lee el puerto 60H (port B) que es donde se almacena el código de scan • 3.- Se convierte a ASCII y este código y el de scan se almacenan en el buffer de teclado en la placa base (situado en memoria principal) • 4.- Se activan los bits correspondientes de los bytes de estado del teclado en la Zona de Datos de la BIOS Tema 9/19
Programación usando la función BIOS INT 16h • AH=0: lee un carácter desde el buffer de teclado, AH= código scan, AL= ASCII. Si no existe carácter espera a que se pulse uno. • AH=02: devuelve en AL el primer byte de estado del teclado • AH=10H: lee un carácter del teclado extendido
Tema 9/20
Contenido Dispositivos Apuntadores Tecnologías y Tipos Organización Interna Funcionamiento Interfaz y Controlador Programación
"A Mouse! What A Great Idea!!" W. Disney
Tema 9/21
Tipos TrackPoint TouchPad
Trackball
Scroller
IntelliMouse (Microsoft) Tema 9/22
Ratón Optico Scroll 2 botones laterales
No existe bola Sensor óptico para múltiples superficies Tema 9/23
Joystick
Tema 9/24
Elementos del Sistema de Control del Ratón en un Computador • • • •
Sensores (sistema opto-mecánico) Controlador del ratón Enlace físico de comunicación (DB9, 10 mA) Protocolo de datos (PS/2, 1200bps, 7/8 bits, 1 stop) • Interfaz de datos con procesador • Driver • Aplicación Tema 9/25
Mecanismo Opto-Mecánico
Tema 9/26
Codificación de la posición Fotodetector
Fotoemisor
Led-1 105º Led-2 Rueda
60º
Luz: pasa / no pasa Led-2 Led-1 Diagrama de señales cuando Tema 9/27 las ruedas se mueven así
Características • Resolución/Sensibilidad (CPI, counts per inch) – 100 CPI: menor sensibilidad, cursor en pantalla se mueve más rápidamente – 400 CPI: mayor sensibilidad, cursor en pantalla se mueve más lentamente
• Escalado – 1:1, 2:1 (valores de X e Y son duplicados)
• Muestreo (número de envíos de datos al controlador por unidad de tiempo) – 10 ... 200 muestras/segundo Tema 9/28
Controladores de Teclado y Ratón Vcc= 5v.
Puerto de datos entrada(R)/salida(W): 60H
Controlador de teclado/ratón 8741/8742
Bus del Sistema
Registro de Entrada
IRQ12
Teclado
Puerto de control(W)/estado(R): 64H
Registro de Salida
IRQ1
Datos Reloj
GND Vcc= 5v. Datos Ratón Reloj GND
Tema 9/29
Paquetes PS/2 para Ratones
Tema 9/30
Funcionamiento • Modos de Funcionamiento utilizando registros PS/2: – Remoto: envía datos cada vez que se le pide por un comando de lectura (por encuestas) – Ráfagas: envía datos cada cierto tiempo (por interrupciones)
Tema 9/31
Funcionamiento por Ráfagas • Mover o apretar tecla • El dispositivo envía un paquete • Se activa una interrupción hardware (INT 9h) • Se activa el driver del dispositivo • El driver lee el paquete (INT 33h) • El driver actualiza las variables de estado del ratón en memoria principal (INT 33h) • El driver actualiza el estado del cursor sobre la pantalla (INT 33h) Tema 9/32
Driver del Ratón INT 33h
INT 9h
Controlador del Ratón Registro de Salida Registro de Entrada
Programación utilizando la BIOS • INT 33h – – – – – –
AX=0000h, salida: AX=estado, BX=num botones AX=0001h, muestra cursor AX=0002h, esconder cursor AX=0003h, lee posición y estado del ratón AX=0009h, define tipo de cursor en modo gráfico AX=000ah, define tipo de cursor en modo texto
• Vía puertos de E/S de tipo PS/2 – Escribe comando d4h al puerto 64h del controlador PS/2 (indica “escribir en el dispositivo auxiliar”) – Escribir dato/comando en 60h para enviar a ratón Tema 9/33
Ejercicio • Un dispositivo apuntador de tipo Opto-Mecánico está configurado con un muestreo de 40 envíos por segundo. ¿Qué desplazamiento máximo puede indicar el dispositivo para sensibilidades de 100 y 400 CPI? 40 transmisiones/seg x 255 cuentas/trans.= 10200 cuentas/seg. – 100 CPI: 102 pulgadas/seg. – 400 CPI: 25.5 pulgadas/seg. Tema 9/34
Scanners • Tecnología • Tipos – Lineales: Flatbed, Manual – 2D: Vídeo (sensor 2D)
• Características • Interfaz
Tema 9/35
Cámaras Digitales • Sensores – Tipos: CCD, CMOS – Características
• Lentes • Interfaces
Tema 9/36