CentronicsEdit
An Wang, Robert Howard e Prentice Robinson começaram a desenvolver uma impressora de baixo custo na Centronics, uma subsidiária da Wang Laboratories que produzia terminais especiais para computadores. A impressora utilizava o princípio de impressão matricial, com uma cabeça de impressão constituída por uma linha vertical de sete pinos metálicos ligados a solenóides. Quando a energia era aplicada aos solenóides, o pino era empurrado para a frente para golpear o papel e deixar um ponto. Para fazer um glifos de caráter completo, a cabeça de impressão receberia energia para os pinos especificados 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 repetiria. Em seu desenho original, um glifo típico era impresso como uma matriz sete alto e cinco largo, enquanto os modelos “A” usavam uma cabeça de impressão com 9 pinos e formavam glifos que eram 9 por 7,
Isso deixou o problema de enviar os dados ASCII para a impressora. Enquanto uma porta serial faz isso com o mínimo de pinos e fios, ela requer que o dispositivo faça um buffer dos dados à medida que eles chegam, bit a bit, e os transforme novamente em valores multi-bit. 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 de aterramento elétrico. Wang por acaso tinha um estoque excedente de 20.000 Amphenol de conectores de fita de 36 pinos que eram originalmente usados para uma de suas primeiras calculadoras. A interface só necessitava de 21 destes pinos, os restantes estavam ligados à terra ou não estavam ligados à terra. O conector tornou-se tão estreitamente associado à Centronics que agora é popularmente conhecido como o “conector Centronics”.
A impressora Centronics Modelo 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 cima para +5V para representar um 1. Quando os dados estavam prontos, o host puxou o pino STROBE para baixo, para 0 V. A impressora respondeu puxando a linha BUSY para cima, imprimindo o caractere, e então retornando BUSY para baixo novamente. O host poderia então enviar outro caractere. Os caracteres de controle nos dados causaram outras ações, como o CR
ou EOF
. O host também poderia fazer a impressora iniciar automaticamente uma nova linha puxando a linha AUTOFEED para cima, e mantendo-a lá. O host tinha que observar cuidadosamente a linha BUSY para garantir que ela não alimentasse os dados para a impressora muito rapidamente, especialmente dadas as operações de tempo variável como uma alimentação de papel.
O lado da impressora da interface tornou-se rapidamente um padrão de fato da indústria, mas os fabricantes usaram vários conectores no lado do sistema, então uma variedade de cabos foi necessária. 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 PC IBM, 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 conector micro ribbon de 36 pinos na outra.
Em teoria, a porta Centronics podia transferir dados tão rapidamente quanto 75.000 caracteres por segundo. Isto 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 a maior parte do seu tempo ociosa. O desempenho era definido pela rapidez com que o host podia responder ao sinal BUSY da impressora pedindo mais dados. Para melhorar o desempenho, as impressoras começaram a incorporar buffers para que o host pudesse enviar os dados mais rapidamente, em rajadas. Isto não só reduziu (ou eliminou) os atrasos devido à latência à espera que o próximo personagem chegasse do host, mas também libertou o host para realizar outras operações sem causar uma perda de desempenho. O desempenho foi ainda melhorado usando o buffer para armazenar várias linhas e depois imprimir em ambos os sentidos, eliminando o atraso enquanto a cabeça de impressão voltava para o lado esquerdo da página. Tais mudanças mais do que duplicaram o desempenho de uma impressora que, de outra forma, não seria alterada, como foi o caso dos modelos Centronics como o 102 e 308.
IBMEdit
IBM lançou o Computador Pessoal IBM em 1981 e incluiu uma variante da interface Centronics – apenas impressoras com o logotipo IBM (rebranded from Epson) podiam ser usadas com o PC IBM. 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 a Centronics padrão quanto com a implementação IBM.
O adaptador original de impressora paralela IBM para o PC IBM de 1981 foi projetado para suportar uma bidirecionalidade limitada, com 8 linhas de saída de dados e 4 linhas de entrada de dados. Isto permitiu que a porta fosse utilizada para outros fins, e não apenas para a saída para uma impressora. Isto foi conseguido permitindo que as linhas de dados fossem escritas 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 mais tarde, em 1987, a IBM reintroduziu a interface bidirecional com sua série IBM PS/2, onde ela poderia ser habilitada ou desabilitada para compatibilidade com aplicações com fio não esperando que uma porta de impressora fosse bidirecional.
Bi-TronicsEdit
À medida que o mercado de impressoras se expandia, novos tipos de mecanismos de impressão apareciam. Estes suportavam frequentemente novas características e condições de erro que não podiam ser representadas nos relativamente poucos pinos de status da porta existente. Embora a solução IBM pudesse suportar isso, não era trivial implementar e não estava sendo suportada na época. Isto levou ao sistema Bi-Tronics, introduzido pela HP em sua LaserJet 4 em 1992. Isto usou quatro pinos de status existentes, ERROR, SELECT, PE e BUSY para representar uma mordidela, usando duas transferências para enviar um valor de 8 bits. O modo Bi-Tronics, agora conhecido como modo nibble, era indicado pelo host puxando a linha SELECT para cima, e os dados eram transferidos quando o host comutava 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 totalmente conduzido 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 impressora para host.
EPP e ECPEdit
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 se tornaram mais populares para estes propósitos. A porta paralela aprimorada (EPP), originalmente definida pela Zenith Electronics, é semelhante ao modo byte da IBM em conceito, mas muda os detalhes do aperto de mão para permitir até 2 MB/s. A porta de capacidade estendida (ECP) é essencialmente uma porta totalmente nova na mesma caixa física que também adiciona acesso direto à memória com base em ISA e codificação de tempo de execução para comprimir os dados, o que é especialmente útil ao transferir imagens simples como faxes ou imagens escaneadas em preto e branco. ECP oferece desempenho de até 2,5 MB/s em ambas as direções.
Todas essas melhorias são coletadas como parte do padrão IEEE 1284. O primeiro lançamento em 1994 incluiu o modo Centronics original (“modo de compatibilidade”), modos de mordiscar e byte, bem como uma mudança no aperto de mão que já era amplamente utilizado; a implementação Centronics original exigia que o BUSY levasse a alternar com cada mudança em qualquer linha de dados (ocupado por linha), enquanto o IEEE 1284 exigia que o BUSY alternasse com cada caractere recebido (ocupado por caractere). Isso reduz o número de alternâncias de BUSY 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 encadear 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 destes problemas pode causar nenhuma ou intermitente impressão, caracteres ausentes ou repetidos ou impressão de lixo. Alguns modelos de impressoras podem ter um interruptor ou configuração para definir ocupado por caracteres; outros podem requerer um adaptador de aperto de mão.
DataproductsEdit
Dataproducts introduziu uma implementação muito diferente da interface paralela para as suas impressoras. Ele usou um conector DC-37 no lado do host e um conector de 50 pinos no lado da impressora – seja um DD-50 (às vezes incorretamente referido como “DB50”) ou o conector M-50 em forma de bloco; o M-50 também foi referido como Winchester. Os produtos de dados paralelos estavam disponíveis em uma linha curta para conexões de até 15 m (50 pés) e uma versão de linha longa usando sinalização diferencial para conexões de 150 m (500 pés). A interface Dataproducts foi encontrada em muitos sistemas mainframe até os anos 90, e muitos fabricantes de impressoras ofereceram a interface Dataproducts como uma opção.
Uma grande variedade de dispositivos foram eventualmente projetados para operar em uma porta paralela. A maioria dos dispositivos eram dispositivos unidirecionais (unidirecionais), destinados apenas a responder a informações enviadas do PC. No entanto, alguns dispositivos como drives Zip eram capazes de operar em modo bidirecional. As impressoras também acabaram por assumir o sistema bi-direccional, permitindo o envio de várias informações de relatório de estado.