Puerto paralelo

ImprimirCitar
Interfaz de computadora
Micro cinta femenina de 36 puntas, como en impresoras y en algunas computadoras, en particular equipo industrial y computadoras personales tempranas (antes de 1980).
Mini-Centronics 36-pin conector masculino (top) con conector Micro cinta 36-pin macho Centronics (bottom)
El Apple II Parallel Printer Port conectado a la impresora a través de un cable de cinta plegable; un extremo conectado al conector en la parte superior de la tarjeta, y el otro extremo tenía un conector Centronics de 36 pines.

En informática, un puerto paralelo es un tipo de interfaz que se encuentra en las primeras computadoras (personales y de otro tipo) para conectar periféricos. El nombre hace referencia a la forma en que se envían los datos; Los puertos paralelos envían varios bits de datos a la vez (comunicación paralela), a diferencia de la comunicación en serie, en la que los bits se envían uno a la vez. Para hacer esto, los puertos paralelos requieren múltiples líneas de datos en sus cables y conectores de puerto y tienden a ser más grandes que los puertos seriales contemporáneos, que solo requieren una línea de datos.

Hay muchos tipos de puertos paralelos, pero el término se ha asociado más estrechamente con el puerto de impresora o puerto Centronics que se encuentra en la mayoría de las computadoras personales desde la década de 1970 hasta la década de 2000. Fue un estándar de facto de la industria durante muchos años y finalmente se estandarizó como IEEE 1284 a fines de la década de 1990, que definió las versiones bidireccionales de puerto paralelo mejorado (EPP) y puerto de capacidad extendida (ECP). Hoy en día, la interfaz de puerto paralelo es prácticamente inexistente en las computadoras nuevas debido al auge de los dispositivos Universal Serial Bus (USB), junto con la impresión en red utilizando impresoras conectadas a Ethernet y Wi-Fi.

La interfaz del puerto paralelo se conocía originalmente como Adaptador de impresora paralelo en computadoras compatibles con IBM PC. Fue diseñado principalmente para operar impresoras que usaban el juego de caracteres ASCII extendido de ocho bits de IBM para imprimir texto, pero también podía usarse para adaptar otros periféricos. Las impresoras gráficas, junto con una serie de otros dispositivos, han sido diseñadas para comunicarse con el sistema.

Historia

Centronics

An Wang, Robert Howard y Prentice Robinson comenzaron el desarrollo de una impresora de bajo costo en Centronics, una subsidiaria de Wang Laboratories que producía terminales de computadora especiales. La impresora utilizó el principio de impresión de matriz de puntos, con un cabezal de impresión que consiste en una fila vertical de siete clavijas de metal conectadas a solenoides. Cuando se aplicó energía a los solenoides, el pasador se empujó hacia adelante para golpear el papel y dejar un punto. Para hacer un glifo de carácter completo, el cabezal de impresión recibiría energía en los pines especificados para crear un patrón vertical único, luego el cabezal de impresión se movería hacia la derecha un poco y el proceso se repetiría. En su diseño original, se imprimió un glifo típico como una matriz de siete de alto y cinco de ancho, mientras que la "A" Los modelos utilizaron un cabezal de impresión con 9 pines y formaron glifos de 9 por 7.

Esto dejó el problema de enviar los datos ASCII a la impresora. Si bien un puerto serie lo hace con el mínimo de pines y cables, requiere que el dispositivo almacene en búfer los datos a medida que llegan, poco a poco, y los vuelva a convertir en valores de varios bits. Un puerto paralelo lo simplifica; el valor ASCII completo se presenta en los pines en forma completa. Además de los ocho pines de datos, el sistema también necesitaba varios pines de control, así como conexiones a tierra eléctricas. Wang tenía un excedente de existencias de 20 000 microconectores de cinta Amphenol de 36 pines que se usaron originalmente para una de sus primeras calculadoras. La interfaz solo requería 21 de estos pines, el resto estaban conectados a tierra o no. El conector se ha asociado tan estrechamente con Centronics que ahora se conoce popularmente como "Conector Centronics".

La impresora Centronics Modelo 101, con este conector, fue lanzada en 1970. El host enviaba caracteres ASCII a la impresora usando siete de ocho pines de datos, elevándolos a +5 V para representar un 1. Cuando los datos estaban listos, el host bajó el pin STROBE, a 0 V. La impresora respondió subiendo la línea BUSY, imprimiendo el carácter y luego volviendo a poner OCUPADO en bajo. El host podría entonces enviar otro carácter. Los caracteres de control en los datos provocaron otras acciones, como CR o EOF. El host también podría hacer que la impresora inicie automáticamente una nueva línea tirando de la línea AUTOFEED hacia arriba y manteniéndola allí. El anfitrión tenía que observar cuidadosamente la línea OCUPADA para asegurarse de que no alimentaba datos a la impresora demasiado rápido, especialmente dadas las operaciones de tiempo variable como la alimentación de papel.

El lado de la impresora de la interfaz se convirtió rápidamente en un estándar de facto de la industria, pero los fabricantes usaban varios conectores en el lado del sistema, por lo que se requería una variedad de cables. Por ejemplo, NCR usaba el conector de cinta micro de 36 pines en ambos extremos de la conexión, los primeros sistemas VAX usaban un conector DC-37, Texas Instruments usaba un conector de borde de tarjeta de 25 pines y Data General usaba un conector de cinta micro de 50 pines.. Cuando IBM implementó la interfaz paralela en la PC de IBM, utilizaron el conector DB-25F en el extremo de la interfaz de la PC, creando el ahora familiar cable paralelo con un DB25M en un extremo y un conector de cinta micro de 36 pines en el otro..

En teoría, el puerto Centronics podría transferir datos a una velocidad de hasta 75 000 caracteres por segundo. Esto fue mucho más rápido que la impresora, que promedió alrededor de 160 caracteres por segundo, lo que significa que el puerto pasó gran parte de su tiempo inactivo. El rendimiento se definió por la rapidez con la que el host podía responder a la señal OCUPADA de la impresora solicitando más datos. Para mejorar el rendimiento, las impresoras comenzaron a incorporar búferes para que el host pudiera enviarles datos más rápidamente, en ráfagas. Esto no solo redujo (o eliminó) los retrasos debido a la latencia de espera de que llegara el siguiente carácter del host, sino que también liberó al host para realizar otras operaciones sin causar una pérdida de rendimiento. El rendimiento se mejoró aún más al usar el búfer para almacenar varias líneas y luego imprimir en ambas direcciones, eliminando la demora mientras el cabezal de impresión regresaba al lado izquierdo de la página. Dichos cambios duplicaron con creces el rendimiento de una impresora sin cambios, como fue el caso de los modelos Centronics como el 102 y el 308.

IBM

IBM lanzó IBM Personal Computer en 1981 e incluyó una variante de la interfaz Centronics: solo las impresoras con el logotipo de IBM (rebautizadas como Epson) se podían usar con IBM PC. IBM estandarizó el cable paralelo con un conector DB25F en el lado de la PC y el conector Centronics de 36 pines en el lado de la impresora. Los proveedores pronto lanzaron impresoras compatibles tanto con Centronics estándar como con la implementación de IBM.

El adaptador de impresora paralelo original de IBM para PC de IBM de 1981 se diseñó para admitir una bidireccionalidad limitada, con 8 líneas de salida de datos y 4 líneas de entrada de datos. Esto permitió que el puerto se usara para otros fines, no solo para la salida a una impresora. Esto se logró al permitir que los dispositivos escribieran en las líneas de datos en cualquier extremo del cable, lo que requería que los puertos en el host fueran bidireccionales. Esta función tuvo poco uso y se eliminó en revisiones posteriores del hardware. Años más tarde, en 1987, IBM reintrodujo la interfaz bidireccional con su serie IBM PS/2, donde se podía habilitar o deshabilitar para compatibilidad con aplicaciones cableadas sin esperar que un puerto de impresora fuera bidireccional.

Bi-Trónica

A medida que se expandía el mercado de las impresoras, aparecieron nuevos tipos de mecanismos de impresión. Estos a menudo admitían nuevas funciones y condiciones de error que no podían representarse en los relativamente pocos pines de estado del puerto existente. Si bien la solución de IBM podía soportar esto, no era trivial de implementar y en ese momento no estaba siendo soportada. Esto condujo al sistema Bi-Tronics, introducido por HP en su LaserJet 4Si en abril de 1993. Este usaba cuatro pines de estado existentes, ERROR, SELECT, PE y BUSY para representar un nibble, usando dos transferencias para enviar un valor de 8 bits. El modo Bi-Tronics, ahora conocido como modo nibble, fue indicado por el host tirando de la línea SELECCIONAR hacia arriba, y los datos se transfirieron cuando el host cambia AUTOFEED a bajo. Otros cambios en los protocolos de negociación mejoraron el rendimiento, llegando a 400 000 cps para la impresora y alrededor de 50 000 cps para el host. Una de las principales ventajas del sistema Bi-Tronics es que puede controlarse completamente en software en el host y utiliza hardware sin modificar; todos los pines utilizados para la transferencia de datos al host ya eran líneas de impresora a host.

EPP y ECP

La introducción de nuevos dispositivos, como escáneres e impresoras multifunción, exigió mucho más rendimiento del que podían manejar los canales secundarios de estilo Bi-Tronics o IBM. Otros dos estándares se han vuelto más populares para estos fines. El puerto paralelo mejorado (EPP), definido originalmente por Zenith Electronics, es similar al modo de bytes de IBM en concepto, pero cambia los detalles del protocolo de enlace para permitir hasta 2 MB/s. El puerto de capacidad extendida (ECP) es esencialmente un puerto completamente nuevo en la misma carcasa física que también agrega acceso directo a la memoria basado en ISA y codificación de longitud de ejecución para comprimir los datos, lo que es especialmente útil cuando se transfieren imágenes simples como faxes o negro. imágenes escaneadas en blanco y negro. ECP ofrece un rendimiento de hasta 2,5 MB/s en ambas direcciones.

Todas estas mejoras se recopilan como parte del estándar IEEE 1284. El primer lanzamiento en 1994 incluía el modo Centronics original ("modo de compatibilidad"), modos nibble y byte, así como un cambio en el protocolo de enlace que ya se usaba ampliamente; la implementación original de Centronics requería que el conductor OCUPADO alternara con cada cambio en cualquier línea de datos (ocupado por línea), mientras que IEEE 1284 requiere que OCUPADO alternara con cada carácter recibido (ocupado por carácter). Esto reduce el número de alternancias OCUPADO y las interrupciones resultantes en ambos lados. Una actualización de 1997 estandarizó los códigos de estado de la impresora. En 2000, los modos EPP y ECP se trasladaron al estándar, así como varios estilos de conectores y cables, y un método para conectar en cadena hasta ocho dispositivos desde un solo puerto.

Algunos sistemas de host o servidores de impresión pueden utilizar una señal de estrobos con una salida de tensión relativamente baja o un cambio rápido. Cualquiera de estos problemas podría causar impresión no o intermitente, caracteres perdidos o repetidos o impresión de basura. Algunos modelos de impresora pueden tener un interruptor o ajuste para fijar ocupado por el carácter; otros pueden requerir un adaptador de apretón de manos.

Productos de datos

Dataproducts introdujo una implementación muy diferente de la interfaz paralela para sus impresoras. Usó un conector DC-37 en el lado del host y un conector de 50 pines en el lado de la impresora, ya sea un DD-50 (a veces denominado incorrectamente "DB50") o el conector M-50 en forma de bloque.; el M-50 también se denominó Winchester. Dataproducts paralelo estaba disponible en una línea corta para conexiones de hasta 50 pies (15 m) y una versión de línea larga con señalización diferencial para conexiones de hasta 500 pies (150 m). La interfaz de Dataproducts se encontraba en muchos sistemas mainframe hasta la década de 1990, y muchos fabricantes de impresoras ofrecían la interfaz de Dataproducts como opción.

Finalmente, se diseñó una amplia variedad de dispositivos para operar en un puerto paralelo. La mayoría de los dispositivos eran dispositivos unidireccionales (unidireccionales), solo destinados a responder a la información enviada desde la PC. Sin embargo, algunos dispositivos, como las unidades Zip, podían funcionar en modo bidireccional. Con el tiempo, las impresoras también adoptaron el sistema bidireccional, lo que permitió enviar varios informes de información de estado.

Usos históricos

HP C4381A CD-Writer Plus 7200 Series, mostrando puertos paralelos para conectar entre una impresora y el ordenador.

Antes de la llegada de USB, la interfaz paralela se adaptó para acceder a una serie de dispositivos periféricos distintos de las impresoras. Uno de los primeros usos del puerto paralelo fue para los dongles que se usaban como llaves de hardware que se suministraban con el software de la aplicación como una forma de protección contra copias de software. Otros usos incluyeron unidades de discos ópticos como lectores y grabadores de CD, unidades Zip, escáneres, módems externos, gamepads y joysticks. Algunos de los primeros reproductores de MP3 portátiles requerían una conexión de puerto paralelo para transferir canciones al dispositivo. Los adaptadores estaban disponibles para ejecutar dispositivos SCSI a través de paralelo. Otros dispositivos, como programadores de EPROM y controladores de hardware, se pueden conectar a través del puerto paralelo.

Interfaces

La mayoría de los sistemas compatibles con PC en las décadas de 1980 y 1990 tenían de uno a tres puertos, con interfaces de comunicación definidas así:

  • Puerto paralelo lógico 1: puerto I/O 0x3BC, IRQ 7 (generalmente en adaptadores gráficos monocromáticos)
  • Puerto paralelo lógico 2: puerto I/O 0x378, IRQ 7 (tarjetas IO dedicadas o utilizando un controlador incorporado en el tablero principal)
  • Puerto paralelo lógico 3: Puerto I/O 0x278, IRQ 5 (tarjetas IO dedicadas o utilizando un controlador integrado en el tablero principal)

Si no hay ningún puerto de impresora en 0x3BC, el segundo puerto de la fila (0x378) se convierte en el puerto paralelo lógico 1 y 0x278 se convierte en el puerto paralelo lógico 2 para el BIOS. A veces, los puertos de impresora se conectan en puente para compartir una interrupción a pesar de tener sus propias direcciones de E/S (es decir, solo se puede usar uno de ellos a la vez). En algunos casos, el BIOS también admite un cuarto puerto de impresora, pero la dirección base difiere significativamente entre proveedores. Dado que la entrada reservada para un cuarto puerto de impresora lógica en el área de datos del BIOS (BDA) se comparte con otros usos en máquinas PS/2 y con tarjetas gráficas compatibles con S3, generalmente requiere controladores especiales en la mayoría de los entornos. En DR-DOS 7.02, las asignaciones de puertos del BIOS se pueden cambiar y anular mediante las directivas CONFIG.SYS LPT1, LPT2, LPT3 (y opcionalmente LPT4).

Acceso

Los sistemas basados en DOS hacen que los puertos paralelos lógicos detectados por el BIOS estén disponibles bajo nombres de dispositivo como LPT1, LPT2 o LPT3 (correspondientes con puerto paralelo lógico 1, 2 y 3, respectivamente). Estos nombres derivan de términos como Terminal de impresión de línea Terminal de impresión local (ambos abreviados como LPT) o Impresora de línea. Se utilizó una convención de nomenclatura similar en los sistemas ITS, DEC, así como en CP/M y 86-DOS (LST).

En DOS, se podía acceder a las impresoras paralelas directamente en la línea de comandos. Por ejemplo, el comando "TYPE C:AUTOEXEC.BAT > LPT1:" redirigiría el contenido del archivo AUTOEXEC.BAT al puerto de la impresora. También estaba disponible un dispositivo PRN como alias para LPT1. Algunos sistemas operativos (como DOS multiusuario) permiten cambiar esta asignación fija por diferentes medios. Algunas versiones de DOS usan extensiones de controladores residentes proporcionadas por MODE, o los usuarios pueden cambiar la asignación internamente a través de una directiva CONFIG.SYS PRN=n (como en DR-DOS 7.02 y superior). DR-DOS 7.02 también proporciona compatibilidad incorporada opcional para LPT4 si el BIOS subyacente lo admite.

PRN, junto con CON, AUX y algunos otros son nombres de archivos y directorios no válidos en DOS y Windows, incluso en Windows XP. Incluso hay un dispositivo MS-DOS en la vulnerabilidad de nombre de ruta en Windows 95 y 98, que hace que la computadora se bloquee si el usuario escribe "C:CONCON", "C:PRN PRN" o "C:AUXAUX" en la barra de direcciones del Explorador de Windows. Microsoft ha lanzado un parche para corregir este error, pero los sistemas operativos Windows 95 y 98 recién instalados seguirán teniendo el error.

Un "IMPRIMIR" El comando también existía para lograr el mismo efecto. Microsoft Windows todavía se refiere a los puertos de esta manera en muchos casos, aunque a menudo está bastante oculto.

En SCO UNIX y Linux, el primer puerto paralelo está disponible a través del sistema de archivos como /dev/lp0. Los dispositivos IDE de Linux pueden usar un controlador paride (IDE de puerto paralelo).

Productos de consumo destacados

Accton Etherpocket-SP paralelo port ethernet adaptador (circa 1990, controladores DOS). Soporta tanto el coax como 10 Base-T. La potencia suplementaria se extrae de un cable de paso del puerto PS/2.
  • La unidad ZIP Iomega
  • El dispositivo de captura de vídeo SnapShot
  • MS-DOS 6.22 de INTERLNK e INTERSRV uso compartido
  • El discurso de Covox Dispositivo de audio grueso
  • Los dispositivos de audio OPL2LPT y OPL3LPT

Uso actual

Para los consumidores, las redes USB y de computadoras han reemplazado al puerto de impresora paralelo, para conexiones tanto a impresoras como a otros dispositivos.

Muchos fabricantes de computadoras personales y portátiles consideran que el puerto paralelo es un puerto heredado y ya no incluyen la interfaz paralela. Las máquinas más pequeñas tienen menos espacio para conectores de puerto paralelo grandes. Hay disponibles adaptadores de USB a paralelo que pueden hacer que las impresoras solo en paralelo funcionen con sistemas solo USB. Hay tarjetas PCI (y PCI-express) que proporcionan puertos paralelos. También existen algunos servidores de impresión que proporcionan una interfaz a puertos paralelos a través de una red. Los chips USB a EPP también pueden permitir que otros dispositivos que no sean impresoras continúen funcionando en computadoras modernas sin un puerto paralelo.

Para los aficionados a la electrónica, el puerto paralelo suele ser la forma más sencilla de conectarse a una placa de circuito externa. Es más rápido que el otro puerto heredado común (puerto serie), no requiere un convertidor de serie a paralelo y requiere mucha menos lógica de interfaz y software que una interfaz de destino USB. Sin embargo, los sistemas operativos de Microsoft posteriores a Windows 95/98 evitan que los programas de usuario escriban o lean directamente desde la LPT sin software adicional (extensiones del kernel).

Las fresadoras CNC actuales también suelen utilizar el puerto paralelo para controlar directamente los motores y los accesorios de la máquina.

Implementación de PC de IBM

Direcciones de puerto

Tradicionalmente, los sistemas de PC de IBM han asignado sus primeros tres puertos paralelos de acuerdo con la configuración de la siguiente tabla (si existen los tres puertos de impresora).

PORT NOInterruptoInicio I/OO
#1IRQ 70x3BC0x3BF
#2IRQ 70x3780x37F
#3IRQ 50x2780x27F

Si hay una ranura sin usar, las direcciones de puerto de las demás se mueven hacia arriba. (Por ejemplo, si no existe un puerto en 0x3BC, el puerto en 0x378 se convertirá en el primer puerto paralelo lógico). La dirección base 0x3BC suele ser compatible con puertos de impresora en adaptadores de pantalla MDA y Hercules, mientras que los puertos de impresora proporcionados por el El conjunto de chips de la placa base o las tarjetas complementarias rara vez permiten configurarse para esta dirección base. Por lo tanto, en ausencia de un adaptador de pantalla monocromo, una asignación común para el primer puerto paralelo lógico (y, por lo tanto, también para el controlador de dispositivo DOS LPT1 correspondiente) hoy es 0x378, aunque el valor predeterminado sigue siendo 0x3BC (y sería seleccionado por el BIOS). si detecta un puerto de impresora en esta dirección). Las líneas IRQ también suelen configurarse en el hardware. Se debe evitar asignar la misma interrupción a más de un puerto de impresora y, por lo general, hará que uno de los puertos correspondientes funcione solo en modo sondeado. Las direcciones de puerto asignadas a la ranura se pueden determinar leyendo el área de datos del BIOS (BDA) a las 0000h:0408h.

Asignación de bit a pin para el puerto paralelo estándar (SPP):

Dirección MSB LSB
Un poco:76543210
Base (Data port)Pin:98765432
Base+1 (Status port)Pin:~1110121315
Base+2 (Control port)Pin:~1716~14~1

~ indica una inversión de hardware del bit.

Interfaz del programa

En las versiones de Windows que no usaban el kernel de Windows NT (así como DOS y algunos otros sistemas operativos), los programas podían acceder al puerto paralelo con simples comandos de subrutina outportb() e inportb(). En sistemas operativos como Windows NT y Unix (NetBSD, FreeBSD, Solaris, 386BSD, etc.), el microprocesador se opera en un anillo de seguridad diferente y el acceso al puerto paralelo está prohibido, a menos que se utilice el controlador requerido. Esto mejora la seguridad y el arbitraje de la contención de dispositivos. En Linux, inb() y outb() se pueden usar cuando un proceso se ejecuta como raíz y se usa un comando ioperm() para permitir el acceso a su dirección base; alternativamente, ppdev permite el acceso compartido y se puede usar desde el espacio de usuario si se establecen los permisos apropiados.

La biblioteca multiplataforma para el acceso al puerto paralelo, libieee1284, también está disponible en muchas distribuciones de Linux y proporciona una interfaz abstracta para los puertos paralelos del sistema. El acceso se maneja en una secuencia de abrir-reclamar-liberar-cerrar, lo que permite el acceso simultáneo en el espacio de usuario.

Distribución de pines

Los puertos de impresora paralelos más antiguos tenían un bus de datos de 8 bits y cuatro pines para la salida de control (Estroboscópico, Avance de línea, Inicializar y Seleccionar entrada) y cinco más para la entrada de control (ACK, Ocupado, Seleccionar, Error y Papel). Afuera). Su velocidad de transferencia de datos es de 150 kB/s.

Los EPP (Puertos paralelos mejorados) más nuevos tienen un bus de datos de 8 bits y los mismos pines de control que el puerto de impresora paralelo normal. Los puertos más nuevos alcanzan velocidades de hasta 2 MB/s.

Los pinouts para conectores de puerto paralelo son:

Pinouts para conectores de puerto paralelos.
Pin No (DB25) Pin No (36 pin) Nombre de la señal Dirección Registro - bit Invertidos
1 1 Strobe In/Out Control-0 Sí.
2 2 Data0 Fuera Data-0 No
3 3 Datos1 Fuera Data-1 No
4 4 Data2 Fuera Data-2 No
5 5 Data3 Fuera Datos-3 No
6 6 Data4 Fuera Datos-4 No
7 7 Datos5 Fuera Datos-5 No
8 8 Data6 Fuera Datos 6 No
9 9 Data7 Fuera Data-7 No
10 10 Ack In Estado 6 No
11 11 Ocupado In Estado 7 Sí.
12 12 Paper-Out In Situación-5 No
13 13 Seleccione In Situación-4 No
14 14 Lactancia In/Out Control-1 Sí.
15 32 Error In Situación-3 No
16 31 Reset In/Out Control-2 No
17 36 Select-Printer In/Out Control-3 Sí.
18-25 19-30,33,17,16 Terreno - - -

Las líneas invertidas son verdaderas en lógica baja. Si no están invertidos, entonces la lógica alta es verdadera.

Es posible que el pin 25 del conector DB25 no esté conectado a tierra en las computadoras modernas.

Contenido relacionado

Bola de seguimiento

Sistema de freno antibloqueo

Autoedición

Más resultados...
Tamaño del texto:
Copiar