Prof.: José Eustáquio Rangel de Queiroz [email protected], rangeldequeiroz@gmail
description
Transcript of Prof.: José Eustáquio Rangel de Queiroz [email protected], rangeldequeiroz@gmail
DSC/CCT/UFCG
{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
Carga Horária: 60 horas
Prof.: José Eustáquio Rangel de Queiroz
2{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
E/S em C - E/S em C - Porta Porta Paralela IParalela I
Motivação da AulaMotivação da Aula Análise e teste de um programa em Análise e teste de um programa em CC
para exemplicação do uso da para exemplicação do uso da porta porta paralelaparalela
Realização de alterações do programa Realização de alterações do programa analisado e testado visando o controle analisado e testado visando o controle de um arranjo de 8 diodos emissores de de um arranjo de 8 diodos emissores de luz (luz (LEDLED))
Reflexão sobre possíveis aplicações do Reflexão sobre possíveis aplicações do processo estudadoprocesso estudado
3{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S IPortas de E/S I Conexão com diferentes Conexão com diferentes
dispositivosdispositivos Formas básicas de E/S em um PC Formas básicas de E/S em um PC
típicotípico E/S mapeada;E/S mapeada; E/S mapeada na memória; eE/S mapeada na memória; e Acesso direto à memória (Acesso direto à memória (DMADMA - -
Direct Memory AccessDirect Memory Access))
E/S em C - E/S em C - Porta Porta Paralela IIParalela II
4{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S IIPortas de E/S II E/S mapeadaE/S mapeada
Usa instruções especiais para Usa instruções especiais para transferir dados entre o PC e o transferir dados entre o PC e o mundo exteriormundo exterior
E/S mapeada na memóriaE/S mapeada na memória Usa locais especiais da memória no Usa locais especiais da memória no
espaço de endereços normal da espaço de endereços normal da CPU para se comunicar com CPU para se comunicar com dispositivos externosdispositivos externos
E/S em C - E/S em C - Porta Porta Paralela IIIParalela III
5{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S IIIPortas de E/S III DMADMA
Forma especial da E/S mapeada na Forma especial da E/S mapeada na memóriamemória Leitura e escrita na memória pelos Leitura e escrita na memória pelos
periféricos, sem passarem pela CPUperiféricos, sem passarem pela CPU Cada mecanismo de E/S possui Cada mecanismo de E/S possui
vantagens e desvantagensvantagens e desvantagens
E/S em C - E/S em C - Porta Porta Paralela IVParalela IV
6{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S IVPortas de E/S IV Fato IFato I
E/S em um PC típico é E/S em um PC típico é radicalmenteradicalmente diferentediferente da E/S de uma linguagem da E/S de uma linguagem de programação de alto nível típicade programação de alto nível típica Raramente são encontradas Raramente são encontradas
instruções de máquina que se instruções de máquina que se comportem como comportem como writelnwriteln, , printfprintf ou ou mesmo como as instruções mesmo como as instruções GetGet e e PutPut da família x86da família x86
E/S em C - E/S em C - Porta Porta Paralela VParalela V
7{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S VPortas de E/S V Fato IIFato II
E/S em um PC típico é E/S em um PC típico é radicalmenteradicalmente diferentediferente da E/S de uma linguagem da E/S de uma linguagem de programação de alto nível típicade programação de alto nível típica A maioria das instruções de E/S se A maioria das instruções de E/S se
comportam exatamente como a comportam exatamente como a instrução instrução movmov dà família x86. dà família x86. Envio de dados a um dispositivo de Envio de dados a um dispositivo de
saída saída Movimentação dos dados Movimentação dos dados pela CPU para um endereço no pela CPU para um endereço no espaço de endereços de E/S ou no espaço de endereços de E/S ou no espaço de endereços de memóriaespaço de endereços de memória
E/S em C - E/S em C - Porta Porta Paralela VIParalela VI
8{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S VIPortas de E/S VI Fato IIIFato III
E/S em um PC típico é E/S em um PC típico é radicalmenteradicalmente diferentediferente da E/S de uma linguagem da E/S de uma linguagem de programação de alto nível típicade programação de alto nível típica A maioria das instruções de E/S se A maioria das instruções de E/S se
comportam exatamente como a comportam exatamente como a instrução instrução movmov do x86. do x86. Recepção de dados de um dispositivo Recepção de dados de um dispositivo
de entrada de entrada Movimentação dos Movimentação dos dados pela CPU do endereço (E/S ou dados pela CPU do endereço (E/S ou memória) do dispositivo para a CPU. memória) do dispositivo para a CPU.
E/S em C - E/S em C - Porta Porta Paralela VIIParalela VII
9{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S VIIPortas de E/S VII Fato IVFato IV
E/S em um PC típico é E/S em um PC típico é radicalmenteradicalmente diferentediferente da E/S de uma linguagem da E/S de uma linguagem de programação de alto nível típicade programação de alto nível típica Há mais estados de espera Há mais estados de espera
associados a dispositivos periféricos associados a dispositivos periféricos típicos do que associados à memóriatípicos do que associados à memória Semelhança das operações de E/S às Semelhança das operações de E/S às
operações de leitura ou escrita na operações de leitura ou escrita na memóriamemória
E/S em C - E/S em C - Porta Porta Paralela VIIIParalela VIII
10{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S VIIIPortas de E/S VIII Porta E/S IPorta E/S I
Dispositivo similar a uma célula de Dispositivo similar a uma célula de memória conectada ao mundo memória conectada ao mundo exteriorexterior
Uso típico de um Uso típico de um latch latch para para implementar a célula de memóriaimplementar a célula de memória
Escrita pela CPU em um endereço Escrita pela CPU em um endereço associado ao associado ao latchlatch Captura e Captura e disponibilização dos dados em um disponibilização dos dados em um conjunto de fios externos, conjunto de fios externos, independentes da CPU e do sistema independentes da CPU e do sistema de memóriade memória
E/S em C - E/S em C - Porta Porta Paralela IXParalela IX
11{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S IXPortas de E/S IX Porta E/S IIPorta E/S II
EscritaEscrita
E/S em C - E/S em C - Porta Porta Paralela XParalela X
Barramento de dados da CPU
Linha de controle de escrita da CPU
Linha de decodificação de endereços
W
A
D
a
d
O
s
L
a
t
C
hDados para o periférico
12{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XPortas de E/S X Em geral, os dispositivos periféricos Em geral, os dispositivos periféricos
usam mais de uma porta E/Susam mais de uma porta E/S Exemplo: Interface de impressora Exemplo: Interface de impressora
paralela típicaparalela típica Uso de 3 portasUso de 3 portas
Porta para Leitura/EscritaPorta para Leitura/Escrita Porta de EntradaPorta de Entrada Porta de SaídaPorta de Saída
E/S em C - E/S em C - Porta Porta Paralela XIParalela XI
13{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XIPortas de E/S XI Exemplo: Interface de impressora Exemplo: Interface de impressora
paralela típicaparalela típica Porta para Leitura/EscritaPorta para Leitura/Escrita
Porta de dadosPorta de dados Porta de EntradaPorta de Entrada
Retorno de sinais de controle da Retorno de sinais de controle da impressoraimpressora
E.g., indicação de offline, de falta E.g., indicação de offline, de falta de papel, de condição de pronta de papel, de condição de pronta para aceitar outro caracterepara aceitar outro caractere
E/S em C - E/S em C - Porta Porta Paralela XIIParalela XII
14{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XIIPortas de E/S XII Exemplo: Interface de impressora Exemplo: Interface de impressora
paralela típicaparalela típica Porta de SaídaPorta de Saída
Transmissão de informação de Transmissão de informação de controle para a impressoracontrole para a impressora
E.g., existência de dados E.g., existência de dados disponíveis para impressãodisponíveis para impressão
E/S em C - E/S em C - Porta Porta Paralela XIIIParalela XIII
15{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XIIIPortas de E/S XIII Relevância para o PCRelevância para o PC
Uso no processo de conexão do Uso no processo de conexão do computador com diferentes computador com diferentes dispositivos externos (periféricos)dispositivos externos (periféricos)
Ausência de portas Ausência de portas Inutilidade do Inutilidade do computadorcomputador
Necessidade de diferentes portasNecessidade de diferentes portas
E/S em C - E/S em C - Porta Porta Paralela XIVParalela XIV
16{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XIVPortas de E/S XIV Diversidade de portas Diversidade de portas Comunicação Comunicação
do PC com diferentes dispositivosdo PC com diferentes dispositivos Porta Porta SerialSerial Modems Modems
externosexternos Porta Porta ParalelaParalela
ImpressoraImpressora Porta do Porta do TecladoTeclado TecladoTeclado Porta Porta PSIIPSII MouseMouse ou ou
Teclado Teclado
E/S em C - E/S em C - Porta Porta Paralela XVParalela XV
17{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XVPortas de E/S XV Porta Serial Universal (Porta Serial Universal (USBUSB) I) I
Atuação do computador como hospedeiro
Possibilidade de conexão de até 127 dispositivos ao hospedeiro, diretamente ou via hubs USB
Comprimento de cabos USB Individuais 5 m Com hubs 30 m
E/S em C - E/S em C - Porta Porta Paralela XVIParalela XVI
18{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XVIPortas de E/S XVI Porta Serial Universal (USB) II
Composição de cabos USB 2 fios de alimentação +5 V e
terra (até 500 mA) 1 par trançado de fios para a
transferência dos dados
E/S em C - E/S em C - Porta Porta Paralela XVIIParalela XVII
19{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Tipo ATipo A
Tipo BTipo B
Portas de E/S XVIIPortas de E/S XVII Porta Serial Universal (USB) III
E/S em C - E/S em C - Porta Porta Paralela XVIIIParalela XVIII
Pinagem de um Cabo USBPinagem de um Cabo USBPinoPino Nome do SinalNome do Sinal Cor do FioCor do Fio
11 VBUSVBUS VermelhoVermelho
22 D-D- BrancoBranco
33 D+D+ VerdeVerde
44 GNDGND PretoPreto
D-D-
D+D+
GNDGND
V+V+
28 AWG Trançado28 AWG TrançadoCapa de Alumínio (Dreno)Capa de Alumínio (Dreno)Malha de Cobre (65%)Malha de Cobre (65%)Invólucro de PVCInvólucro de PVC
Cabo USBCabo USB
1 2 3 4
ReceptáculoReceptáculo
EncaixeEncaixe
4 3 2 1
PlugPlug
USB Tipo AUSB Tipo A
http://www.interfacebus.com/Design_Connector_USB.html
20{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XVIIIPortas de E/S XVIII Porta Serial Universal (USB) IV
Alimentação direta, a partir da porta, de dispositivos de baixo consumo de energia (e.g. mouse)
Alimentação própria de dispositivos de consumo mais alto de potência (e.g. impressora) Exigência mínima de energia diretamente da porta
Alimentação própria dos hubs Possibilidade de fornecimento de alimentação para os dispositivos a eles conectados
E/S em C - E/S em C - Porta Porta Paralela XIXParalela XIX
21{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XIXPortas de E/S XIX Porta Serial Universal (USB) V
Dispositivos USB Hot-swappable Possibilidade de conexão à porta e
desconexão em qualquer instante
Possibilidade de indução à hibernação pelo computador hospedeiro durante entradas no modo de baixo consumo de energia (power-saving)
E/S em C - E/S em C - Porta Porta Paralela XXParalela XX
22{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XXPortas de E/S XX Porta Serial Universal (USB) VI
Popularidade Alta velocidade Boa imunidade a ruídos Protocolo complexo
E/S em C - E/S em C - Porta Porta Paralela XXIParalela XXI
23{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Portas de E/S XXIPortas de E/S XXI Porta Serial Universal (USB) VII
USB 1.1 Baixa velocidade 1,5 Mb/s e 3 m Velocidade máxima 12 Mb/s e 5 m
USB 2.0 Compatível com USB 1.1 Alta velocidade 460 Mb/s
E/S em C - E/S em C - Porta Porta Paralela XXIIParalela XXII
24{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Porta Firewire IPorta Firewire I Desenvolvida pela Apple Computer, nos
anos 90, para substituição do bus SCSI Interface serial para computadores
pessoais e aparelhos digitais de áudio e vídeo que oferece comunicações de alta velocidade e serviços de dados em tempo real
Também conhecido como i.Link, IEEE 1394 ou High Performance Serial Bus/HPSB
E/S em C - E/S em C - Porta Porta Paralela XXIIIParalela XXIII
25{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Porta Firewire IIPorta Firewire II Velocidade elevada Boa imunidade a ruídos Peer-to-peer
E/S em C - E/S em C - Porta Porta Paralela XXIVParalela XXIV
26{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Porta Firewire IIIPorta Firewire III IEEE 1394
Velocidade 100, 200 e 400 Mb/s
Distância 4,5 m IEEE 1394b
Velocidade 800 Mb/s Especificação completa 3,2 Gb/s
e 100 m (conexão óptica)
E/S em C - E/S em C - Porta Porta Paralela XXVParalela XXV
27{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Porta Paralela IPorta Paralela I Interface de comunicação entre o Interface de comunicação entre o
computador e um periféricocomputador e um periférico Intenção da IBM ao criar o primeiro Intenção da IBM ao criar o primeiro
computador pessoal (PC) computador pessoal (PC) C Conexão com onexão com uma impressorauma impressora
Popularidade crescente da porta USB Popularidade crescente da porta USB Uso Uso aindaainda expressivo da porta paralela expressivo da porta paralela como interface para impressoras como interface para impressoras
E/S em C - E/S em C - Porta Paralela Porta Paralela XXVIXXVI
28{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Porta Paralela IIPorta Paralela II Refere-se ao fato de conduzir sinais via
oito fios separados – um para cada bit de um Byte de dados - e em um único cabo
Além dos fios de sinais, há fios adicionais para aterramento e sinais de controle.
E/S em C - E/S em C - Porta Paralela Porta Paralela XXVIIXXVII
29{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
E/S em C - E/S em C - Porta Paralela Porta Paralela XXVIIIXXVIII
Porta Paralela IIIPorta Paralela III Velocidade operacional máxima
Porta paralela padrão (SPP) 0,15 Mbps
Portas ECP e EPP Cerca de 3 Mbps
Velocidade Função da velocidade do microprocessador do PC
Transferências de dados via DMA (sem intervenção do processador) Melhoramento do desempenho geral do sistema
30{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Porta Paralela IVPorta Paralela IV Endereços e Interrupções
Denominação da Porta
Endereço Interrupção
LPT1 03BC IRQ7LPT2 0378 IRQ5LPT3 0278 IRQ5 ou 7
E/S em C - E/S em C - Porta Paralela Porta Paralela XXIXXXIX
31{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Porta Paralela VPorta Paralela V Utilização atual desta interface por Utilização atual desta interface por
vários periféricos para o envio e a vários periféricos para o envio e a recepção de dadosrecepção de dados ImpressorasImpressoras ScannersScanners Câmaras digitaisCâmaras digitais HD Externos HD Externos DrivesDrives de discos Zip de discos Zip Adaptadores de redesAdaptadores de redes Drives de fita Drives de fita
E/S em C - E/S em C - Porta Porta Paralela XXXParalela XXX
32{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Porta Paralela VIPorta Paralela VI Velocidade limitadaVelocidade limitada Distância razoável (Distância razoável (8 m8 m)) SimplicidadeSimplicidade VersatilidadeVersatilidade Baixa imunidade a ruídosBaixa imunidade a ruídos
E/S em C - E/S em C - Porta Porta Paralela XXXIParalela XXXI
33{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Endereço LPT1LPT1
Descrição Denominação
378h Envia byte p/ a impressora Registro de dados
379h Lê status da impressora Registro de status
37Ah Envia dados de controle p/ a impressora
Registro de controle
E/S em C - E/S em C - Porta Porta Paralela XXXIIParalela XXXII
Endereços da Endereços da Porta ParalelaPorta Paralela O computador nomeia as portas O computador nomeia as portas
paralelas como paralelas como LPT1LPT1, , LPT2LPT2, , LPT3LPT3, , etcetc
Porta física padrão Porta física padrão LPT1LPT1 RegistradoresRegistradores
34{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Conector Conector DB25 DB25 II Localização Localização Parte posterior do Parte posterior do
computadorcomputador Possibilidade de envio e recepção de dados Possibilidade de envio e recepção de dados
via conexão do cabo paralelo ao computadorvia conexão do cabo paralelo ao computador Dotado de Dotado de 25 pinos25 pinos
E/S em C - E/S em C - Porta Paralela Porta Paralela XXXIIIXXXIII
DB25DB25((conectado ao computadorconectado ao computador))
Centronics DB36Centronics DB36((conectado à impressoraconectado à impressora)) CABO PARALELOCABO PARALELO
35{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
E/S em C - E/S em C - Porta Paralela Porta Paralela XXXIVXXXIV
Conector Conector DB25 DB25 IIII Podem ser usados como E/SPodem ser usados como E/S
Pinos de dados Pinos de dados D0-D7D0-D7 Pinos de controle Pinos de controle STROBESTROBE,, AUTO AUTO
FEEDFEED,, INITINIT ee SELECT INSELECT IN
36{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Conector Conector DB25 DB25 IIII
DB25DB25((conectado ao computadorconectado ao computador))
Pino 2Pino 2Pino 3Pino 3Pino 4Pino 4Pino 5Pino 5Pino 6Pino 6Pino 7Pino 7Pino 8Pino 8Pino 9Pino 9
Pinos 18 ~ 25Pinos 18 ~ 25
DD00
DD11
DD22
DD33
DD44
DD55
DD66
DD77
GND (-)GND (-)111313
14142525
E/S em C - E/S em C - Porta Porta Paralela XXXVParalela XXXV
37{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Pontos negativos Uso limitado à simplicidade Possibilidade de interferência de
sinais espúrios nos sinais de dados Desempenho insatisfatório a
distâncias superiores a cerca de 3 metros
E/S em C - E/S em C - Porta Paralela Porta Paralela XXXVIXXXVI
38{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
Cuidados com o Uso da Cuidados com o Uso da Porta Porta ParalelaParalela Conexão direta com a placa-mãe do computadorConexão direta com a placa-mãe do computador Descargas elétricas ou conexões de Descargas elétricas ou conexões de
componentes com polaridades invertidas componentes com polaridades invertidas Danos irreparáveis ao computadorDanos irreparáveis ao computador
E/S em C - E/S em C - Porta Paralela Porta Paralela XXXVIIXXXVII
39{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
DSC/CCT/UFCG
#include <dos.h>#define PORTA 0x378 /* Definicao do endereco de LPT1 */void main(void){ int i, cont=0, shift; outportb(PORTA,0xFF); delay(2000); do{ shift=0x01; for(i=0;i<8;i++){ outportb(PORTA,shift); delay(1000); shift<<=1;} outportb(PORTA,0x00); cont++;}while(cont<3);}
E/S em C - E/S em C - Porta Paralela Porta Paralela XXXVIIIXXXVIII
Uso da Uso da Porta Paralela Porta Paralela - Exemplo - Exemplo O que faz o código abaixo?O que faz o código abaixo?
DSC/CCT/UFCG
{jose
ana,
rang
el}@
dsc.
ufcg
.edu
.br
[email protected], [email protected]
José Eustáquio Rangel de Queiroz
DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO
UNIVERSIDADE FEDERAL DE CAMPINA GRANDECENTRO DE CIÊNCIAS E TECNOLOGIA