22/08/2010 Utilizando a porta paralela para controle de dispositivos através do Windows Romildo Martins da Silva Bezerra Flávia Maristela S. Nascimento Franklin Lima Santos
2 1. Introdução A porta paralela é uma interface entre o computador e o mundo físico, trata-sbidirecional full-duplex com o de um periférico que permite uma comunicação computador. A princípio foi desenvolvida pela IBM (International Business Machine) para impressoras, mas com a universalização do padrão USB, caiu em desuso. a comunicação com Figura 01. Impressora utilizando a porta paralela Para fins didáticos a porta paralela é bastante útil, pois possibilita o controle de dispositivos, troca de dados e manipulação destes através de um PC (Personal Computer). 2. Pinagem e Endereçamento A porta paralela é representadaa pelo conector de 25 pinos, denominado DB-25 fêmea, vide Figura 02. Figura 02. Conector DB-25 (esquerda) e sua pinagem (direita).
3 Na Tabela 01 é possível verificar a pinagem do conector e suas respectivas funções. Pino Sinal Direção Descrição 1 Strobe Saída de dados Sinal de Controle 2 a 9 Dados Saída de dados Dados 10 Acknlg Entrada de dados Sinal de Controle 11 Busy Entrada de dados Sinal de Controle 12 Paper End Entrada de dados Sinal de Controle 13 Not Connected 1 - - 14 Auto Feed XT Saída de dados Sinal de Controle 15 a 17 Not Connected - - 18 a 25 GND - Sinal de Terra Tabela 01 Pinos e suas respectivas funções. Como qualquer dispositivo periférico, a porta paralela é identificada pelo computador por um endereço, trata-se de um endereço físico, que faz referência ao registrador o qual os dados serão armazenados. Nome da Porta Endereço de memória Endereço da Porta LPT1 0000:0408 378 hexadecimal 888 decimal LPT2 0000:040A 278 hexadecimal 632 decimal Tabela 02 Endereços da porta paralela. 3. Porta paralela e o Windows Em algumas versões do Windows o acesso direto à porta paralela é bloqueado por questões de segurança. Para desbloquear é necessário um utilitário chamado UserPort, que pode ser encontrado em http://www.moai.ifba.edu.br/robotica/arquivos/userport.zip Após o download do arquivo, extraia-o para um diretório conhecido; Copie o arquivo UserPort.sys para o diretório C:/Windows/system32/drivers (ou C:/winnt/system32/drivers para o Windows NT); execute o programa UserPort.exe; remova os endereços existentes selecionando-os e clicando em Remove ; adicione os endereços 0x378-0x37A, clicando em ADD ; clique em "Start". Obs.: Uma documentação complementar e técnica pode ser encontrada no diretório em que o arquivo userport.zip foi extraído. 1 Not Connected: Não Conectado, não existe função associada a este pino.
4 4. Exemplo de Hardware Controle de LED 2 Um hardware bem simples pode ser montado com 8 resistores e 8 LEDs vermelhos, como mostra a figura abaixo. Figura 03 Ligação da porta paralela com LEDs. O cálculo das resistências R (R1 R8) que limitam a corrente dos LEDs (D1 D8) pode ser feito com auxílio da Lei de Ohm: = onde: I é a corrente elétrica, V é a tensão fornecida pela porta paralela (aprox. 5 Volts) e R é a resistência que limita a corrente do LED. Então, = 5 1,8 0,007 457 Ω O valor comercial mais próximo é de 470 Ω (amarelo violeta marrom dourado) 2 LED ou Light Emitting Diode ou ainda Diodo Emissor de Luz é um semicondutor que quando polarizado diretamente emite uma luz visível. Saiba mais em <http://eletronicos.hsw.uol.com.br/led.htm>
5 5. Exemplo de Software em Linguagem C O software abaixo tem a finalidade de enviar bits para a porta paralela. Para saber qual valor enviar para a porta paralela, siga a tabela abaixo: Bit Mais D9 D8 D7 D6 D5 D4 X X X X X X D3 X Bit Menos D2 X Onde X pode assumir o valor 0 (nível baixo de tensão) ou 1 (nível alto de tensão), dependendo do BIT que se queira controlar. Exemplo: Usando o exemplo do item 4, acenda os LEDs D8 e D2 Bit Mais D9 D8 D7 D6 D5 D4 0 1 0 0 0 0 D3 Bit Menos D2 0 1 Enviaremos então para o endereço 0x378 ou 0x278 (endereço da porta paralela) o valor 01000001 (em binário) ou 0x41 (em hexadecimal) ou 65 (em decimal) ou 0101 (em octal). Obs.: Cuidado com a notaçãoo do número! Na linguagem C os números na base hexadecimal começam com 0x, em octal iniciam com 0, em decimal não é preciso inserir nada. Para compilar os programas recomendamos o compilador Dev C++ que pode http://sourceforge.net/projects/dev-cpp/ ser encontrado em 6. Considerações importantes A porta paralela também pode ser utilizada para comunicação serial, e justamente por isso, existem no mercado cabos apropriados para este tipo de conexão. A diferença básica entre os cabos é que eles podem não possuir todas as conexões entre os pinos, já que a comunicação em série só necessita de um par de fios para a transmissão e recepção do sinal e alguns outros fios para o controle.
6 Outra consideração importante a respeito do uso da porta paralela é a sua capacidade limitada de fornecer corrente elétrica. Não se pode ligar nada mais do que LEDs (ou dispositivos que consumam uma baixa potência) diretamente. Para ligar outros dispositivos, como motores, eletrodomésticos, etc. será necessário uma interface apropriada e que será discutida posteriormente. 7. Referências INTRODUÇÃO À PORTA PARALELA. Está contido em <http://www.rogercom.com/>. Acesso em 22/08/2010. Acesso à Porta Paralela nos Windows XP/NT/2000. Está contido em <http://www2.eletronica.org>. Acesso em 22/08/2010.