Funcionamiento De Los Pines Del Puerto En Paralelo
Enviado por vannemarisol • 28 de Abril de 2013 • 1.987 Palabras (8 Páginas) • 417 Visitas
Funcionamiento de los pines del puerto en paralelo
Los ordenadores PC han estandarizado un tipo de interfaz para la comunicación con la impresora, conocida normalmente como CENTRONICS. Esta interfaz es capaz de enviar caracteres a la impresora de forma paralelo. Cada carácter está codificado en un byte, del cuál cada bit se transmite por un Terminal diferente. Existen otros terminales que conectan ordenador e impresora, que sirven para intercambiar información de control y de estado, a fin de implementar un sencillo protocolo.
Para realizar esta interfaz, los PCs disponen de unos elementos hardware específicos, denominados puertos de impresora o también puertos paralelos.
En un PC pueden instalarse varios de estos puertos que se distinguen entre sí con los nombres LPT1, LPT2 y LPT3 (en algunos casos también LPT4). Todos ellos son idénticos, salvo que tienen asignadas diferentes direcciones en el mapa de entrada/salida.
Cada uno de estos puertos ocupa tres direcciones del mapa de E/S:
• Puerto de Datos: De 8 bits, es donde la CPU escribe los datos que se envían a la impresora (caracteres).
• Puerto de Estado: Registro de 8 bits de donde la CPU puede conocer diversos aspectos del estado de la impresora (apagada, sin papel, etc). Se usan sólo 5 de los 8 bits.
• Puerto de Control: Registro de 8 bits donde la CPU puede escribir diversas señales que reconoce la impresora (validación de datos, inicialización, etc). Se usan 4 bits.
Estos tres registros ocupan posiciones consecutivas, por lo que basta con especificar la primera de ellas. El puerto de datos será el puerto base.
La ROM-BIOS de los PCs contiene programas elementales para el manejo de estos puertos. En primer lugar, durante el proceso de arranque del ordenador, se detecta su presencia y se almacenan sus direcciones base en una zona de variables situada en el segmento 0040H (zona de variables del BIOS). En esta zona se pueden encontrar los siguientes datos:
• Printer_Base: En los offsets 0008H, 000AH, 000CH y 000EH, con 2 bytes cada uno de ellos, están las direcciones de E/S en las que se encuentran los puertos base de LPT1, LPT2, LPT3 y LPT4 respectivamente.
• Lista de equipamiento: En el offset 0010H se encuentra una palabra que muestra de forma rudimentaria los dispositivos que se han encontrado en el arranque. Los bits 15 y 14 indican el número de puertos de impresora instalados.
• Print_Tim_Out: En los offsets 0078H, 0079H, 007AH y 007BH se encuentran los valores de TIME_OUT asociados a cada puerto. Se trata de valores que se van a utilizar para establecer cuánto tiempo se va a esperar para determinar que la impresora no está disponible (está apagada, no tiene papel, etc).
Las direcciones del mapa de memoria de E/S en las que se suelen colocar los puertos de impresora son:
Impresora Puerto de Datos Puerto de Estado Puerto de Control
LPT1 03BCh 03BDh 03BEh
LPT2 0378h 0379h 037Ah
LPT3 0278h 0279h 027Ah
Tabla 1
Señales de la interfaz Centronics
El puerto paralelo, utilizado en general para el control de la impresión, maneja las señales que se muestran en la tabla siguiente. De todas ellas, las que normalmente intervienen en el protocolo de comunicación entre el PC y la impresora son BUSY y STROBE#. Algunas impresoras pueden no utilizar alguna de las señales descritas en la tabla.
PUERTO NOMBRE Dir Pin DB25 DESCRIPCIÓN
DATOS D0..D7 S 2-9 8 terminales de datos. Desde D0 a D7.
ESTADO BUSY E 11 Un nivel alto indica que la impresora está ocupada y no puede recibir datos nuevos. También se pone a 1 en situaciones de error.
ACK# E 10 Un nivel bajo indica que la impresora ha recibido un dato y está disponible para recibir uno nuevo.
PE E 12 Un nivel alto indica que la impresora no tiene papel.
SLCT IN E 13 Un nivel alto indica que la impresora está on-line.
ERROR# E 15 Un nivel bajo indica que se ha producido un error en la impresora. No hay papel, mal funcionamiento, etc.
CONTROL IRQEN - -- Flag que habilita o inhibe la generación de la interrupción IRQ7 cuando se activa la señal ACK#.
SELECT# S 17 Activa a nivel bajo. Indica a la impresora que se ha seleccionado la impresora.
INIT# S 16 A nivel bajo, envía un RESET a la impresora.
AUTOFD# S 14 A nivel bajo, la impresora se encarga de hacer un salto de línea al recibir el carácter "retorno de carro".
STROBE# S 1 Validación de datos. Cuando la impresora detecta un nivel bajo, acepta el dato.
El carácter # indica que la señal es activa a nivel bajo
Tabla 2
El puerto de Datos
Generalmente es sólo de salida, pues se diseñó para enviar caracteres a la impresora. Actualmente este puerto es bidireccional. La correspondencia entre los bits del registro de datos y las señales presentes en el conector DB25 del exterior es:
BIT 7 6 5 4 3 2 1 0
FUNCIÓN D7 D6 D5 D4 D3 D2 D1 D0
Tabla 3
El puerto de Estado
Es un puerto de entrada. Está destinado a la lectura del estado de las líneas de interfaz con la impresora. La señal BUSY es invertida antes de llegar al registro. La correspondencia entre los bits del registro de estado y las señales presentes en el conector DB25 del exterior es:
BIT 7 6 5 4 3 2 1 0
FUNCIÓN BUSY
(inv.) ACK# PE SLCT
IN ERROR# -- -- --
Tabla 4
El puerto de Control
Es un puerto de salida destinado a la escritura de comandos sobre la impresora. Las señales SLCT#, AUTOFD# y STROB# son invertidas antes de llegar a los correspondientes terminales de conector externo. El bit 4 (IRQEN) no es una señal que corresponda a alguno de los terminales de la interfaz Centronics. Se trata de un flag que habilita o prohibe la generación de la interrupción IRQ7 cuando se activa la señal ACK#. Las rutinas del BIOS que se ocupan de la impresora no utilizan esta interrupción. La correspondencia entre los bits del registro de control y las señales presentes en el conector DB25 del exterior es:
BIT 7 6 5 4 3 2 1 0
FUNCIÓN -- -- -- IRQEN SELECT#
(inv.) INIT# AUTOFD#
(inv.) STROBE#
(inv.)
Tabla 5
EL PUERTO DE IMPRESORA COMO CONTROL Y ADQUISICIÓN DE DATOS
Un puerto es un mecanismo que conecta a un procesador con el mundo exterior. Por medio de un puerto, el procesador recibe una señal desde un dispositivo de entrada y envía una señal a un dispositivo de salida. Los puertos son identificados por sus direcciones en el intervalo
...