Porta Paralela - Parallel port

Porta Paralela
Impressora paralela para computador port.jpg
Um conector DB-25 geralmente usado para uma porta de impressora paralela em computadores compatíveis com IBM PC , com o ícone da impressora.
Modelo Ponto a ponto
Designer Centronics , IBM
Projetado 1970-1981
Fabricante Centronics, Dataproducts, Intel, IBM, Compaq, Nortel, etc
Substituída por USB (1996)
Comprimento 2,3 cm (0,91 pol.)
Hot pluggable Normalmente não
Externo sim
Cabo Normalmente, até 25 fios incluindo aterramento; opcionalmente blindado
Alfinetes 8 dados, 4 controle de saída, 5 controle de entrada, 8 terra
Conector DB-25 , DB25F , Amphenol de 36 pinos "Centronics" , DC-37 , outros
Sinal 0 a +5,0 volt DC
Máx. Voltagem 5 volts DC
Sinal de dados Paralelo
Largura Variável
Taxa de bits PP: 150  kB / s ,
EPP: 2 MB / s
ECP: 2,5 MB / s
Máx. dispositivos 2
Protocolo Dependente do aplicativo
25 Pin D-sub pinout.svg
Pinagem de porta paralela compatível com IBM PC
Micro ribbon fêmea de 36 pinos, como em impressoras e em alguns computadores, especialmente em equipamentos industriais e nos primeiros computadores pessoais (pré-1980).
Conector macho Mini-Centronics de 36 pinos (superior) com conector Centronics macho de 36 pinos Micro ribbon (inferior)
A porta de impressora paralela Apple II conectada à impressora por meio de um cabo de fita dobrado; uma extremidade conectada ao conector na parte superior da placa e a outra extremidade tinha um conector Centronics de 36 pinos.

Na computação , uma porta paralela era um tipo de interface encontrada em computadores ( pessoais ou não) para conectar periféricos . O nome refere-se à forma como os dados são enviados; as portas paralelas enviam vários bits de dados de uma vez ( comunicação paralela ), ao contrário da comunicação serial , na qual os bits são enviados um de cada vez. Para fazer isso, as portas paralelas requerem várias linhas de dados em seus cabos e conectores de porta e tendem a ser maiores do que as portas seriais contemporâneas , que requerem apenas uma linha de dados.

Existem muitos tipos de portas paralelas, mas o termo tornou-se mais associado à porta da impressora ou porta Centronics encontrada na maioria dos computadores pessoais dos anos 1970 até os anos 2000. Foi um padrão de fato da indústria por muitos anos e foi finalmente padronizado como IEEE 1284 no final da década de 1990, que definiu as versões bidirecionais de porta paralela aprimorada (EPP) e porta de capacidade estendida (ECP). Hoje, a interface da porta paralela é virtualmente inexistente devido ao aumento dos dispositivos Universal Serial Bus (USB), junto com a impressão em rede usando Ethernet e impressoras conectadas por Wi-Fi .

A interface da porta paralela era originalmente conhecida como Adaptador de impressora paralela em computadores compatíveis com IBM PC . Ele foi projetado principalmente para operar impressoras que usavam o conjunto de caracteres ASCII estendido de oito bits da IBM para imprimir texto, mas também poderia ser usado para adaptar outros periféricos. Impressoras gráficas, junto com uma série de outros dispositivos, foram projetadas para se comunicarem com o sistema.

História

Centronics

An Wang , Robert Howard e Prentice Robinson começaram o desenvolvimento de uma impressora de baixo custo na Centronics , uma subsidiária da Wang Laboratories que produzia terminais de computador especiais . A impressora usava o princípio de impressão matricial , com uma cabeça de impressão consistindo em uma fileira vertical de sete pinos de metal conectados a solenóides . Quando a energia foi aplicada aos solenóides, o pino foi empurrado para frente para atingir o papel e deixar um ponto. Para fazer um glifo de caractere completo , a cabeça de impressão receberia energia para pinos específicos para criar um único padrão vertical, então a cabeça de impressão se moveria para a direita por uma pequena quantidade e o processo se repetia. Em seu design original, um glifo típico era impresso como uma matriz de sete de altura e cinco de largura, enquanto os modelos "A" usavam uma cabeça de impressão com 9 pinos e glifos formados de 9 por 7.

Isso deixou o problema de enviar os dados ASCII para a impressora. Embora uma porta serial faça isso com o mínimo de pinos e fios, ela requer que o dispositivo armazene os dados em buffer à medida que eles chegam bit a bit e os transforme de volta em valores de vários bits. Uma porta paralela torna isso mais simples; todo o valor ASCII é apresentado nos pinos de forma completa. Além dos oito pinos de dados, o sistema também precisava de vários pinos de controle, bem como aterramentos elétricos. Acontece que Wang tinha um estoque excedente de 20.000 conectores de fita micro de 36 pinos Amphenol que foram originalmente usados ​​para uma de suas primeiras calculadoras. A interface exigia apenas 21 desses pinos, o resto estava aterrado ou não conectado. O conector tornou-se tão associado ao Centronics que agora é popularmente conhecido como "conector Centronics".

A impressora Centronics Model 101 , com este conector, foi lançada em 1970. O host enviou caracteres ASCII para a impressora usando sete dos oito pinos de dados, puxando-os para + 5V para representar um 1. Quando os dados estavam prontos, o host puxou o pino STROBE baixo, para 0 V. A impressora respondeu puxando a linha OCUPADO para cima, imprimindo o caractere e retornando OCUPADO para baixo novamente. O host pode então enviar outro personagem. Os caracteres de controle nos dados causaram outras ações, como CRou EOF. O host também pode fazer com que a impressora inicie automaticamente uma nova linha puxando a linha AUTOFEED para cima e mantendo-a lá. O host teve que observar cuidadosamente a linha OCUPADA para garantir que não alimentasse dados para a impressora muito rapidamente, especialmente dadas as operações de tempo variável, como alimentação de papel.

O lado da impressora da interface rapidamente se tornou um padrão de fato da indústria , mas os fabricantes usavam vários conectores no lado do sistema, portanto, vários cabos eram necessários. Por exemplo, a NCR usou o conector de fita micro de 36 pinos em ambas as extremidades da conexão, os primeiros sistemas VAX usaram um conector DC-37 , a Texas Instruments usou um conector de borda de cartão de 25 pinos e a Data General usou um conector de fita micro de 50 pinos . Quando a IBM implementou a interface paralela no IBM PC , eles usaram o conector DB-25F na extremidade do PC da interface, criando o agora familiar cabo paralelo com um DB25M em uma extremidade e um micro conector de fita de 36 pinos na outra .

Em teoria, a porta Centronics poderia transferir dados tão rapidamente quanto 75.000 caracteres por segundo. Isso era muito mais rápido do que a impressora, que tinha em média cerca de 160 caracteres por segundo, o que significa que a porta passava grande parte do tempo ociosa. O desempenho foi definido pela rapidez com que o host poderia responder ao sinal de OCUPADA da impressora solicitando mais dados. Para melhorar o desempenho, as impressoras começaram a incorporar buffers para que o host pudesse enviar dados mais rapidamente, em bursts. Isso não apenas reduziu (ou eliminou) os atrasos devido à latência de espera pela chegada do próximo caractere do host, mas também liberou o host para realizar outras operações sem causar perda de desempenho. O desempenho foi aprimorado ainda mais com o uso do buffer para armazenar várias linhas e, em seguida, imprimir nas duas direções, eliminando o atraso enquanto o cabeçote de impressão voltava para o lado esquerdo da página. Essas mudanças mais do que dobraram o desempenho de uma impressora inalterada, como era o caso em modelos Centronics como 102 e 308.

IBM

A IBM lançou o IBM Personal Computer em 1981 e incluiu uma variante da interface Centronics - apenas as impressoras de logotipo IBM ( rebatizadas de Epson ) podiam ser usadas com o IBM PC. A IBM padronizou o cabo paralelo com um conector DB25F no lado do PC e o conector Centronics de 36 pinos no lado da impressora. Os fornecedores logo lançaram impressoras compatíveis tanto com o Centronics padrão quanto com a implementação da IBM.

O adaptador de impressora paralela IBM original para o IBM PC de 1981 foi projetado para suportar bidirecionalidade limitada, com 8 linhas de saída de dados e 4 linhas de entrada de dados. Isso permitiu que a porta fosse usada para outros fins, não apenas para a saída para uma impressora. Isso foi conseguido permitindo que as linhas de dados fossem gravadas por dispositivos em qualquer extremidade do cabo, o que exigia que as portas no host fossem bidirecionais. Este recurso teve pouco uso e foi removido em revisões posteriores do hardware. Anos depois, em 1987, a IBM reintroduziu a interface bidirecional com sua série IBM PS / 2 , onde ela podia ser ativada ou desativada para compatibilidade com aplicativos conectados para não esperar que uma porta de impressora fosse bidirecional.

Bi-Tronics

Com a expansão do mercado de impressoras, novos tipos de mecanismos de impressão surgiram. Freqüentemente, esses novos recursos e condições de erro suportavam que não podiam ser representados nos relativamente poucos pinos de status da porta existente. Embora a solução IBM pudesse oferecer suporte a isso, não era trivial de implementar e, naquela época, não tinha suporte. Isso levou ao sistema Bi-Tronics, introduzido pela HP em seu LaserJet 4 em 1992. Ele usava quatro pinos de status existentes, ERROR, SELECT, PE e BUSY para representar um nibble , usando duas transferências para enviar um valor de 8 bits. O modo Bi-Tronics, agora conhecido como modo nibble, foi indicado pelo host puxando a linha SELECT para cima e os dados foram transferidos quando o host alternou o AUTOFEED para baixo. Outras mudanças nos protocolos de handshaking melhoraram o desempenho, atingindo 400.000 cps para a impressora e cerca de 50.000 cps de volta para o host. Uma grande vantagem do sistema Bi-Tronics é que ele pode ser operado inteiramente em software no host e usa hardware não modificado - todos os pinos usados ​​para transferência de dados de volta para o host já eram linhas de impressora para host.

EPP e ECP

A introdução de novos dispositivos, como scanners e impressoras multifuncionais, exigiu muito mais desempenho do que os backchannels estilo Bi-Tronics ou IBM poderiam suportar. Dois outros padrões tornaram-se mais populares para esses fins. A Enhanced Parallel Port (EPP), originalmente definida pela Zenith Electronics , é semelhante ao modo de byte da IBM em conceito, mas muda os detalhes do handshaking para permitir até 2 MB / s. A Extended Capability Port (ECP) é essencialmente uma porta inteiramente nova no mesmo invólucro físico que também adiciona acesso direto à memória baseado em ISA e codificação run-length para compactar os dados, o que é especialmente útil ao transferir imagens simples como fax ou preto. imagens digitalizadas em branco e preto. ECP oferece desempenho de até 2,5 MB / s em ambas as direções.

Todos esses aprimoramentos são coletados como parte do padrão IEEE 1284 . O primeiro lançamento em 1994 incluiu o modo Centronics original ("modo de compatibilidade"), modos nibble e byte, bem como uma mudança no handshaking que já era amplamente usado; a implementação original do Centronics exigia que a liderança BUSY alternasse com cada alteração em qualquer linha de dados (ocupado por linha), enquanto o IEEE 1284 chama BUSY para alternar com cada caractere recebido (ocupado por caractere). Isso reduz o número de alternâncias OCUPADO e as interrupções resultantes em ambos os lados. Uma atualização de 1997 padronizou os códigos de status da impressora. Em 2000, os modos EPP e ECP foram movidos para o padrão, assim como vários estilos de conectores e cabos e um método para encadeamento de até oito dispositivos de uma única porta.

Alguns sistemas host ou servidores de impressão podem usar um sinal estroboscópico com uma saída de tensão relativamente baixa ou uma alternância rápida. Qualquer um desses problemas pode causar nenhuma impressão ou impressão intermitente, caracteres ausentes ou repetidos ou impressão de lixo. Alguns modelos de impressora podem ter uma chave ou configuração para definir ocupado por caractere; outros podem exigir um adaptador de handshake.

Produtos de dados

Dataproducts introduziu uma implementação muito diferente da interface paralela para suas impressoras. Ele usava um conector DC-37 no lado do host e um conector de 50 pinos no lado da impressora - um DD-50 (às vezes chamado incorretamente de "DB50") ou o conector M-50 em forma de bloco; o M-50 também era conhecido como Winchester. Dataproducts paralelo estava disponível em uma linha curta para conexões de até 50 pés (15 m) e uma versão de linha longa usando sinalização diferencial para conexões a 500 pés (150 m). A interface Dataproducts foi encontrada em muitos sistemas mainframe até a década de 1990, e muitos fabricantes de impressoras ofereceram a interface Dataproducts como uma opção.

Uma ampla variedade de dispositivos foi projetada para operar em uma porta paralela. A maioria dos dispositivos eram unidirecionais (unidirecionais), destinados apenas a responder às informações enviadas do PC. No entanto, alguns dispositivos, como unidades Zip, eram capazes de operar no modo bidirecional. As impressoras também assumiram o sistema bidirecional, permitindo que várias informações de relatório de status fossem enviadas.

Usos históricos

Gravador de CD HP C4381A Plus 7200 Series , mostrando portas paralelas para conexão entre a impressora e o computador.

Antes do advento do USB , a interface paralela foi adaptada para acessar vários dispositivos periféricos além de impressoras. Um dos primeiros usos da porta paralela era para dongles usados ​​como chaves de hardware que eram fornecidos com o software aplicativo como uma forma de proteção contra cópia do software. Outros usos incluem unidades de disco óptico , como leitores e gravadores de CD , unidades Zip , scanners , modems externos , gamepads e joysticks . Alguns dos primeiros MP3 players portáteis exigiam uma conexão de porta paralela para transferir músicas para o dispositivo. Adaptadores estavam disponíveis para executar dispositivos SCSI via paralelo. Outros dispositivos, como programadores EPROM e controladores de hardware, podem ser conectados por meio da porta paralela.

Interfaces

A maioria dos sistemas compatíveis com PC nas décadas de 1980 e 1990 tinha de uma a três portas, com interfaces de comunicação definidas da seguinte forma:

  • Porta lógica paralela 1: porta I / O 0x3BC, IRQ 7 (geralmente em adaptadores gráficos monocromáticos)
  • Porta lógica paralela 2: porta I / O 0x378, IRQ 7 (placas IO dedicadas ou usando um controlador embutido na placa-mãe)
  • Porta paralela lógica 3: porta I / O 0x278, IRQ 5 (placas IO dedicadas ou usando um controlador embutido na placa-mãe)

Se nenhuma porta de impressora estiver presente em 0x3BC, a segunda porta na linha (0x378) torna-se a porta paralela lógica 1 e 0x278 torna-se a porta paralela lógica 2 para o BIOS. Às vezes, as portas da impressora são jumpeadas para compartilhar uma interrupção, apesar de terem seus próprios endereços de E / S (ou seja, apenas um pode ser usado orientado por interrupção por vez). Em alguns casos, o BIOS também suporta uma quarta porta de impressora, mas o endereço básico para ela difere significativamente entre os fornecedores. Como a entrada reservada para uma quarta porta lógica de impressora na BIOS Data Area (BDA) é compartilhada com outros usuários em máquinas PS / 2 e com placas gráficas compatíveis com S3, normalmente requer drivers especiais na maioria dos ambientes. No DR-DOS 7.02, as atribuições da porta BIOS podem ser alteradas e substituídas usando as diretivas LPT1 , LPT2 , LPT3 (e opcionalmente LPT4 ) CONFIG.SYS .

Acesso

Os sistemas baseados em DOS tornam as portas paralelas lógicas detectadas pelo BIOS disponíveis com nomes de dispositivos como LPT1 , LPT2 ou LPT3 (correspondendo à porta paralela lógica 1, 2 e 3, respectivamente). Esses nomes derivam de termos como Terminal de impressão de linha, Terminal de impressão local ou Impressora de linha. Uma convenção de nomenclatura semelhante foi usada nos sistemas ITS , DEC , bem como no CP / M e 86-DOS ( LST ).

No DOS , as impressoras paralelas podem ser acessadas diretamente na linha de comando . Por exemplo, o comando " TYPE C: \ AUTOEXEC.BAT> LPT1: " redirecionaria o conteúdo do arquivo AUTOEXEC.BAT para a porta da impressora. Um dispositivo PRN também estava disponível como um alias para LPT1. Alguns sistemas operacionais (como o DOS multiusuário ) permitem alterar essa atribuição fixa por meios diferentes. Algumas versões do DOS usam extensões de driver residentes fornecidas pelo MODE, ou os usuários podem alterar o mapeamento internamente por meio de uma diretiva CONFIG.SYS PRN = n (como no DR-DOS 7.02 e superior). O DR-DOS 7.02 também fornece suporte embutido opcional para LPT4 se o BIOS subjacente o suportar.

PRN, junto com CON, AUX e alguns outros são nomes de arquivos e diretórios inválidos no DOS e no Windows, mesmo no Windows XP. Existe até mesmo um dispositivo MS-DOS na vulnerabilidade de nome de caminho no Windows 95 e 98, que faz com que o computador trave se o usuário digitar "C: \ CON \ CON", "C: \ PRN \ PRN" ou "C: \ AUX \ AUX "na barra de endereços do Windows Explorer. A Microsoft lançou um patch para corrigir esse bug, mas os sistemas operacionais Windows 95 e 98 recém-instalados ainda terão o bug.

Um comando especial " PRINT " também existia para obter o mesmo efeito. O Microsoft Windows ainda se refere às portas dessa maneira em muitos casos, embora isso geralmente esteja bastante oculto.

No SCO UNIX e Linux , a primeira porta paralela está disponível por meio do sistema de arquivos como / dev / lp0 . Dispositivos Linux IDE podem usar um driver paride (IDE de porta paralela).

Produtos de consumo notáveis

Adaptador ethernet de porta paralela Accton Etherpocket-SP (por volta de 1990, drivers DOS ). Suporta coaxial e 10 Base-T. A alimentação suplementar é obtida de um cabo de passagem de porta PS / 2 .

Uso atual

Para os consumidores, as redes USB e de computadores substituíram a porta paralela da impressora, para conexões com impressoras e outros dispositivos.

Muitos fabricantes de computadores pessoais e laptops consideram a porta paralela uma porta legada e não incluem mais a interface paralela. Máquinas menores têm menos espaço para conectores de porta paralela grandes. Estão disponíveis adaptadores USB para paralelo que podem fazer com que as impressoras apenas paralelas funcionem com sistemas apenas USB. Existem placas PCI (e PCI-express) que fornecem portas paralelas. Existem também alguns servidores de impressão que fornecem uma interface para portas paralelas por meio de uma rede. Os chips USB para EPP também podem permitir que outros dispositivos que não sejam da impressora continuem a funcionar em computadores modernos sem uma porta paralela.

Para entusiastas de eletrônicos, a porta paralela ainda é a maneira mais fácil de conectar a uma placa de circuito externa. É mais rápido do que a outra porta legada comum (porta serial), não requer conversor serial para paralelo e requer muito menos lógica de interface e software do que uma interface de destino USB. No entanto, os sistemas operacionais da Microsoft posteriores ao Windows 95/98 impedem que os programas do usuário gravem ou leiam diretamente no LPT sem software adicional (extensões do kernel).

As fresadoras CNC atuais também costumam usar a porta paralela para controlar diretamente os motores e acessórios da máquina.

Implementação de PC IBM

Endereços de porta

Tradicionalmente, os sistemas IBM PC alocam suas primeiras três portas paralelas de acordo com a configuração na tabela abaixo (se todas as três portas de impressora existirem).

PORTO NO Interrupção # Iniciando I / O Terminando I / O
#1 IRQ 7 0x3BC 0x3BF
#2 IRQ 7 0x378 0x37F
#3 IRQ 5 0x278 0x27F

Se houver um slot não utilizado, os endereços de porta dos outros são movidos para cima. (Por exemplo, se uma porta em 0x3BC não existir, a porta em 0x378 se tornará a primeira porta paralela lógica.) O endereço de base 0x3BC é normalmente suportado por portas de impressora em adaptadores de vídeo MDA e Hercules, enquanto portas de impressora fornecidas pelo O chipset da placa-mãe ou placas adicionais raramente permitem a configuração para este endereço base. Portanto, na ausência de um adaptador de vídeo monocromático, uma atribuição comum para a primeira porta paralela lógica (e, portanto, também para o driver de dispositivo LPT1 DOS correspondente) hoje é 0x378, embora o padrão ainda seja 0x3BC (e seria selecionado pelo BIOS se detectar uma porta de impressora neste endereço). As linhas IRQ são normalmente configuráveis ​​no hardware também. A atribuição da mesma interrupção a mais de uma porta de impressora deve ser evitada e normalmente fará com que uma das portas correspondentes funcione apenas no modo polled. Os endereços de porta atribuídos ao slot podem ser determinados lendo a BIOS Data Area (BDA) em 0000h: 0408h.

Mapeamento bit-a-pino para a porta paralela padrão (SPP):

Endereço MSB LSB
Pedaço: 7 6 5 4 3 2 1 0
Base (Data port) Alfinete: 9 8 7 6 5 4 3 2
Base+1 (Status port) Alfinete: ~ 11 10 12 13 15
Base+2 (Control port) Alfinete: ~ 17 16 ~ 14 ~ 1

~ indica uma inversão de hardware do bit.

Interface do programa

Em versões do Windows que não usavam o kernel do Windows NT (bem como DOS e alguns outros sistemas operacionais), os programas podiam acessar a porta paralela com comandos de sub-rotina outportb () e inportb () simples. Em sistemas operacionais como Windows NT e Unix ( NetBSD , FreeBSD , Solaris , 386BSD , etc.), o microprocessador é operado em um anel de segurança diferente e o acesso à porta paralela é proibido, a menos que seja usado o driver necessário. Isso melhora a segurança e a arbitragem da contenção do dispositivo. No Linux, inb () e outb () podem ser usados ​​quando um processo é executado como root e um comando ioperm () é usado para permitir o acesso ao seu endereço de base ; como alternativa, o ppdev permite acesso compartilhado e pode ser usado a partir do espaço do usuário se as permissões apropriadas forem definidas.

A biblioteca de plataforma cruzada para acesso à porta paralela, libieee1284, também está disponível em muitas distribuições Linux e fornece uma interface abstrata para as portas paralelas do sistema. O acesso é manipulado em uma sequência de abrir reivindicação-liberação-fechamento, que permite acesso simultâneo no espaço do usuário.

Pinouts

As portas paralelas de impressora mais antigas tinham um barramento de dados de 8 bits e quatro pinos para saída de controle (Strobe, Linefeed, Initialize e Select In) e mais cinco para entrada de controle (ACK, Busy, Select, Error e Paper Out). Sua velocidade de transferência de dados é de 150 kB / s.

As EPPs (portas paralelas aprimoradas) mais recentes têm um barramento de dados de 8 bits e os mesmos pinos de controle da porta paralela normal da impressora. As portas mais novas alcançam velocidades de até 2 MB / s.

Pinouts para conectores de porta paralela são:

Pinagem para conectores de porta paralela.
Pin No (DB25) Pin No (36 pin) Nome do sinal Direção Registro - bit Invertido
1 1 Strobe Dentro / Fora Control-0 sim
2 2 Data0 Fora Data-0 Não
3 3 Data1 Fora Data-1 Não
4 4 Data2 Fora Data-2 Não
5 5 Data3 Fora Data-3 Não
6 6 Data4 Fora Data-4 Não
7 7 Data5 Fora Data-5 Não
8 8 Data6 Fora Data-6 Não
9 9 Data7 Fora Data-7 Não
10 10 Ack No Status-6 Não
11 11 Ocupado No Status-7 sim
12 12 Paper-Out No Status-5 Não
13 13 Selecione No Status-4 Não
14 14 Linefeed Dentro / Fora Control-1 sim
15 32 Erro No Status-3 Não
16 31 Redefinir Dentro / Fora Control-2 Não
17 36 Select-Printer Dentro / Fora Control-3 sim
18-25 19-30,33,17,16 Chão - - -

As linhas invertidas são verdadeiras em baixo lógico. Se eles não estiverem invertidos, então a lógica alta é verdadeira.

O pino 25 no conector DB25 pode não ser conectado ao aterramento em computadores modernos.

Veja também

Chips de hardware IC:

  • Para computador host, consulte Super I / O
  • Para o lado periférico, chips de interface de porta paralela: PPC34C60 (SMSC) e W91284PIC (Warp Nine)
  • Para fins de impressora USB, por exemplo, chips USB: PL-2305 (Prolific) e CH341 (QinHeng)

Referências

links externos