26
Comunicação Paralela e Serial Conceitos

Comunicação Paralela e Serial

Embed Size (px)

DESCRIPTION

Comunicação Paralela e seria (Microcontroladores)

Citation preview

Page 1: Comunicação Paralela e Serial

Comunicação Paralela e Serial

Conceitos

Page 2: Comunicação Paralela e Serial

Comunicação

• Transmissão de dados (bits)

– Computador X Computador

– Computador X Periféricos

– Periféricos X Computador– Periféricos X Computador

Page 3: Comunicação Paralela e Serial

Comunicação

• Existem inúmeras aplicações para sistemas que utilizam comunicação:

– Serial

– Paralela. – Paralela.

• Maquinas industriais

• Periféricos de computadores

• Hardware de controle, entre outros.

Page 4: Comunicação Paralela e Serial

Diferença Paralela X Serial

• Serial:– Transmissão mais simples

– Utiliza apenas um canal de comunicação

– Menor velocidade de transmissão– Menor velocidade de transmissão

• Paralela:– Transmissão mais custosa e complexa

– Requer mais de um canal de comunicação

– Maior velocidade de transmissão

Page 5: Comunicação Paralela e Serial

Porta Paralela

• A porta paralela é uma interface de comunicação entre o computador e um periférico.

• São vários os periféricos que se utilizam desta porta para enviar e receber dados para o computadorcomputador– Scanners– Câmeras de vídeo– Unidade de disco removível – Outros

• Atualmente esta entrando em desuso devido ao surgimento da interface USB.

Page 6: Comunicação Paralela e Serial

Comunicação Paralela

• Na comunicação em paralelo, grupos de bits são transferidos simultaneamente.

• Sendo assim, a velocidade de transmissão acaba sendo muito superior a da porta serial.acaba sendo muito superior a da porta serial.

• Existem 2 tipos de transmissão em Paralela

– Transmissão unidirecional:

– Transmissão bidirecional:

Page 7: Comunicação Paralela e Serial

Comunicação Paralela Unidirecional

• Transmissão unidirecional:

– A porta paralela SPP (Standard Parallel Port) pode chegar a uma taxa de transmissão de dados a 150KB/s. 150KB/s.

– Comunica-se com a CPU utilizando um BUS de dados de 8 bits.

– Para a transmissão de dados entre periféricos são usado 4 bits por vez.

Page 8: Comunicação Paralela e Serial

Comunicação ParalelaBidirecional

• Transmissão bidirecional:– A porta avançada EPP ( Enhanced Parallel Port )

chega a atingir uma taxa de transferência de 2 MB/s.

– Para atingir essa velocidade, é necessário um cabo – Para atingir essa velocidade, é necessário um cabo especial.

– Comunica-se com a CPU utilizando um BUS de dados de 32 bits.

– Para a transmissão de dados entre periféricos são usado 8 bits por vez.

Page 9: Comunicação Paralela e Serial

Comunicação Paralela

• A porta avançada ECP (Enhanced Capabilities Port) tem as mesmas características que a EPP

• Porém, utiliza DMA (acesso direto à memória), sem a necessidade do uso do processador, sem a necessidade do uso do processador, para a transferência de dados.

• Utiliza também um buffer FIFO de 16 bytes

Page 10: Comunicação Paralela e Serial

Comunicação Paralela

• O seu computador nomeia as Portas Paralelas, chamando-as de LPT1, LPT2, LPT3 etc.,

• As Porta física padrão de seu computador é a LPT1, e seus endereços são: 378h ( para enviar um byte de dados pela Porta), 378+1h (para um byte de dados pela Porta), 378+1h (para receber um valor através da Porta) e, 378+2h (para enviar dados).

• Às vezes pode está disponível a LPT2, e seus endereços são: 278h, 278+1h e 278+2h, com as mesmas funções dos endereços da porta LPT1 respectivamente.

Page 11: Comunicação Paralela e Serial

Nome da Porta Endereço de memória Endereço da Porta Desc rição

LPT1 0000:0408 378 hexadecimal 888 decimal Endereço base

LPT2 0000:040A 278 hexadecimal 632 decimal Endereço base

Page 12: Comunicação Paralela e Serial

Concectores

• O DB25 é um conector que fica na parte de trás do gabinete do computador

• É através deste, que o cabo paralelo se conecta ao computador para poder enviar e receber dados. dados.

• No DB25, um pino está em nível lógico 0 quando a tensão elétrica no mesmo está entre 0 a 0,4v.

• Um pino se encontra em nível lógico 1 quando a tensão elétrica no mesmo está acima de 3.1 e até 5v.

Page 13: Comunicação Paralela e Serial

Conector DB25 Femea

Page 14: Comunicação Paralela e Serial

Concector DB25 Macho Paralelo

Page 15: Comunicação Paralela e Serial

Funcionamento do DB25 em modo EPP

Page 16: Comunicação Paralela e Serial

Conector Macho 36 Pinos Centronics

• O conector macho Centronics 36 pinos faz parte do cabo da impressora, é através deste cabo que a impressora é conectada ao computador.

• Quando desenvolvemos uma projeto que utilize • Quando desenvolvemos uma projeto que utilize uma interface para conectarmos ao computador poderemos utilizar um conector centronics 36 pinos fêmea

• Isso faz com que nossa interface aproveite o cabo da impressora.

Page 17: Comunicação Paralela e Serial

Conector Macho 36 Pinos Centronics

Page 18: Comunicação Paralela e Serial

Significado de cada pino do conector Centronics 36 pinos

Número do Pino Descrição

1 Strob

2 ao 9 Dados (D0...D7)

10 Ack

11 Busy

12 Paper End

13 Select Out

14 Auto Feed

15 ao 18 Não conectato

19 ao 30 GROUND

31 Init

32 Error

33 GROUND

34 a 35 Não conectato

36 Select In

Page 19: Comunicação Paralela e Serial

Lista de alguns componentes utilizados para

desenvolver os circuitos

• Cabo Paralelo

• LEDs

• Resistores

• Diodos

• Capacitores

Page 20: Comunicação Paralela e Serial

Lista de alguns componentes utilizados para

desenvolver os circuitos

• Circuitos Integrados

• Motores de Passo

• Transistores• Transistores

• Relê

Page 21: Comunicação Paralela e Serial

Lista de alguns componentes utilizados para

desenvolver os circuitos

• Foto-transistor e sensores

• Matriz de Contato

• Display• Display

• Fios- Interligação de componentes

• Ferro de Solda

Page 22: Comunicação Paralela e Serial

Windows e Porta Paralela

• Por questões de segurança as versões do windows NT/2000 e XP não permitem o acesso direto ao hardware

• É necessário um driver que "converse" com o • É necessário um driver que "converse" com o núcleo (kernel) desse sistema para ter acesso às portas físicas do computador.

• Nas versões do windows 95/Me e 98 não há restrição e o acesso pode ser direto, portanto, não há necessidade do uso de drives.

Page 23: Comunicação Paralela e Serial

Windows e Porta Paralela

• A maneira mais fácil de resolver este problema é através da DLL Inpout32.dll disponível para download na URL :– http://www.logix4u.net/inpout32.htm.

• Dentro dessa DLL já estão inclusas as rotinas: in e out para acesso as portas, e também o rotinas: in e out para acesso as portas, e também o driver que faz a comunicação com o núcleo do sistema operacional. – Está tudo em um único arquivo de 32KB.– Quando criar um programa executável baseado na DLL

Inpout32 para acessar a Porta Paralela no windowsNT/2000 ou XP, é importante que essa DLL esteja na mesma pasta do programa executável.

Page 24: Comunicação Paralela e Serial

Windows e Porta Paralela

• É necessário o usuário também ativar a porta através do aplicativo USERPORT.

• Existe 2 formas de executar este aplicativo:– Copie o arquivo UserPort.SYS para o diretório

%WINDIR%\SYSTEM32\DRIVERS e execute o arquivo %WINDIR%\SYSTEM32\DRIVERS e execute o arquivo UserPort.EXE, ou

– Execute o arquivo UserPort.exe com o drive na linha de comando, utilizando o arquivo UserPort.sys como argumento:

• C:\UserPort.EXE X:\SeuDiretorio\UserPort.SYS

– Selecione o endereço na porta correspondente e clique em Start

Page 25: Comunicação Paralela e Serial

Windows X Porta Paralela

• Driver para acessar a Porta Paralela no Windows 2000 e XP (SP1 e SP2)

http://www.rogercom.com/pparalela/DriverNT_2000_XP.zip

• Outros Downloads:http://www.rogercom.com/download/Downloads.htm

Page 26: Comunicação Paralela e Serial

#include <stdio.h> //printf() entre outras.#include <conio.h> //getch().#include <windows.h> //Necessário para: LoadLibrar y(), GetProcAddress() e HINSTANCE.//Declaração dos ponteiros para função.typedef short _stdcall (*PtrInp)(short EndPorta);typedef void _stdcall (*PtrOut)(short EndPorta, short valor);int main(void){ HINSTANCE hLib; //Instância para a DLL inpout32 .dll.

PtrInp inportb; //Instância para a função Imp32(). PtrOut outportb; //Instância para a função Out32().//Carrega a DLL na memória.hLib = LoadLibrary("inpout32.dll");if(hLib == NULL) //Verifica se houve erro.{ printf("Erro. O arquivo inpout32.dll não foi enc ontrado.\n");

getch();return -1;

}//Obtém o endereço da função Inp32 contida na DLL.inportb = (PtrInp) GetProcAddress(hLib, "Inp32");if(inportb == NULL) //Verifica se houve erro.{ printf("Erro. A função Inp32 não foi encontrada. \n");

getch();return - 1;return - 1;

}//Obtém o endereço da função Out32 contida na DLL.outportb = (PtrOut) GetProcAddress(hLib, "Out32");if(outportb == NULL) //Verifica se houve erro.{ printf("Erro. A função Out32 não foi encontrada .\n");

getch();return -1;

}//Uso das funções outportb() e inportb():printf("Pressione uma tecla para ligar o pino D0.\n ");getch();outportb(0x378,1); //Ativa o pino D0 do Registro de Dados da porta paralela.printf("Pressione uma tecla para desligar o pino D0 .\n");getch();outportb(0x378,0); //Desativa os pino do Registro d e Dados da porta paralela.FreeLibrary(hLib); //Libera memória alocada pela DL L. return(0);

}