A interface paralela Centronics é uma interface de E/S padrão mais antiga e ainda muito utilizada para conectar impressoras e alguns outros dispositivos a computadores. A interface normalmente inclui um cabo um pouco pesado e um conector macho e fêmea de 36 pinos na impressora ou outro dispositivo. O cabo é conectado a uma porta paralela de 25 pinos no computador. Os dados fluem em apenas uma direção, do computador para a impressora ou para outro dispositivo. Além de oito linhas de dados paralelas, outras linhas são usadas para ler informações de status e enviar sinais de controle. Centronics Corporation projetou a interface paralela original Centronics para impressoras matriciais de pontos. Em 1981, a IBM utilizou esta interface como alternativa à interface serial mais lenta de um bit por vez.
Quando a interface paralela Centronics foi desenvolvida pela primeira vez, o periférico principal era a impressora. Desde então, drives de disco portáteis, drives de backup de fita e reprodutores de CD-ROM estão entre os dispositivos que adotaram a interface paralela. Estes novos usos levaram os fabricantes a procurar novas formas de melhorar a interface paralela Centronics. Em 1991, a Lexmark, a IBM, a Texas Instruments e outras empresas reuniram-se para discutir um padrão que oferecesse mais velocidade e comunicação bidireccional. O seu esforço e o patrocínio do IEEE resultou no comité do IEEE 1284. O padrão IEEE 1284 foi aprovado para lançamento em março de 1994.
O padrão IEEE 1284 especifica cinco modos de operação, cada modo fornecendo transferência de dados na direção direta (computador para periférico), direção para trás (periférico para computador), ou bidirecional (uma direção de cada vez).
- modo de compatibilidade é a interface paralela original da Centronics e destinada para uso com impressoras matriciais de pontos e impressoras a laser mais antigas. O modo compatibilidade pode ser combinado com o modo nibble para transferência de dados bidireccional.
- Nibble mode permite a transferência de dados de volta para o computador. O modo nibble usa as linhas de status para enviar 2 nibble s (4-bit unidades) de dados para o computador em dois ciclos de transferência de dados. Este modo é melhor usado com impressoras.
- b>Byte mode usa drivers de software para desactivar os drivers que controlam as linhas de dados para que os dados sejam enviados da impressora para o computador. Os dados são enviados à mesma velocidade que quando os dados são enviados do computador para a impressora. Um byte de dados é transferido em vez dos dois ciclos de dados exigidos pelo modo nibble.
- b> modo ECP (Enhanced Capability Port mode) é um modo bi-direcional avançado para uso com impressoras e scanners s. Ele permite a compressão de dados para imagens s, FIFO (first in, first out) para itens em fila s, e comunicação bi-direcional de alta velocidade. A transferência de dados ocorre de dois a quatro megabytes por segundo. Uma característica avançada do ECP é o endereçamento de canais . Isto é usado para dispositivos multifuncionais, tais como dispositivos de impressora/fax/modem. Por exemplo, se um dispositivo de impressora/fax/modem precisa imprimir e enviar dados através do modem ao mesmo tempo, o driver do software de endereço de canal do modo ECP atribui um novo canal ao modem para que ambos os dispositivos possam trabalhar simultaneamente.
- b> modoEPP (Enhanced Parallel Port mode) foi projetado pela Intel, Xircom e Zenith Data Systems para fornecer uma interface paralela de alto desempenho que também poderia ser usada com a interface padrão. O modo EPP foi adotado como parte do padrão IEEE 1284. O modo EPP utiliza ciclos de dados que transferem dados entre o computador e o periférico e ciclos de endereços que atribuem informações de endereço, canal ou comando. Isto permite velocidades de transferência de dados de 500 kilobytes a 2 megabytes por segundo, dependendo da velocidade da interface mais lenta. O modo EPP é bidireccional. Ele é adequado para adaptadores de rede, aquisição de dados, discos rígidos portáteis e outros dispositivos que precisam de velocidade.
O computador deve determinar quais são as capacidades do periférico conectado e qual o modo a utilizar. O conceito desenvolvido para determinar esses fatores é chamado de negociação. Negociação é uma seqüência de eventos na interface de porta paralela que determina quais modos IEEE 1284 o dispositivo pode lidar. Um dispositivo mais antigo não responderá à seqüência de negociação e o modo de compatibilidade é selecionado para operar esse dispositivo. Um dispositivo mais novo responderá à seqüência de negociação e um modo mais avançado pode ser definido.