1 / 40

Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.br, rangeldequeiroz@gmail

Técnicas de Programação. E/S - Linguagem C. Uso da Porta Paralela. Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br, rangeldequeiroz@gmail.com. Carga Horária: 60 horas. E/S em C - Porta Paralela I. Motivação da Aula

kyna
Download Presentation

Prof.: José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.br, rangeldequeiroz@gmail

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Técnicas de Programação E/S - Linguagem C Uso da Porta Paralela Prof.:José Eustáquio Rangel de Queiroz rangel@dsc.ufcg.edu.br, rangeldequeiroz@gmail.com Carga Horária:60 horas

  2. E/S em C - Porta Paralela I • Motivação da Aula • Análise e teste de um programa em C para exemplicação do uso da porta paralela • Realização de alterações do programa analisado e testado visando o controle de um arranjo de 8 diodos emissores de luz (LED) • Reflexão sobre possíveis aplicações do processo estudado

  3. E/S em C - Porta Paralela II • Portas de E/S I • Conexão com diferentes dispositivos • Formas básicas de E/S em um PC típico • E/S mapeada; • E/S mapeada na memória; e • Acesso direto à memória (DMA - Direct Memory Access)

  4. E/S em C - Porta Paralela III • Portas de E/S II • E/S mapeada • Usa instruções especiais para transferir dados entre o PC e o mundo exterior • E/S mapeada na memória • Usa locais especiais da memória no espaço de endereços normal da CPU para se comunicar com dispositivos externos

  5. E/S em C - Porta Paralela IV • Portas de E/S III • DMA • Forma especial da E/S mapeada na memória • Leitura e escrita na memória pelos periféricos, sem passarem pela CPU • Cada mecanismo de E/S possui vantagens e desvantagens

  6. E/S em C - Porta Paralela V • Portas de E/S IV • Fato I • E/S em um PC típico é radicalmentediferente da E/S de uma linguagem de programação de alto nível típica • Raramente são encontradas instruções de máquina que se comportem como writeln, printf ou mesmo como as instruções Get e Put da família x86

  7. E/S em C - Porta Paralela VI • Portas de E/S V • Fato II • E/S em um PC típico é radicalmentediferente da E/S de uma linguagem de programação de alto nível típica • A maioria das instruções de E/S se comportam exatamente como a instrução mov dà família x86. • Envio de dados a um dispositivo de saída  Movimentação dos dados pela CPU para um endereço no espaço de endereços de E/S ou no espaço de endereços de memória

  8. E/S em C - Porta Paralela VII • Portas de E/S VI • Fato III • E/S em um PC típico é radicalmentediferente da E/S de uma linguagem de programação de alto nível típica • A maioria das instruções de E/S se comportam exatamente como a instrução mov do x86. • Recepção de dados de um dispositivo de entrada  Movimentação dos dados pela CPU do endereço (E/S ou memória) do dispositivo para a CPU.

  9. E/S em C - Porta Paralela VIII • Portas de E/S VII • Fato IV • E/S em um PC típico é radicalmentediferente da E/S de uma linguagem de programação de alto nível típica • Há mais estados de espera associados a dispositivos periféricos típicos do que associados à memória • Semelhança das operações de E/S às operações de leitura ou escrita na memória

  10. E/S em C - Porta Paralela IX • Portas de E/S VIII • Porta E/S I • Dispositivo similar a uma célula de memória conectada ao mundo exterior • Uso típico de um latch para implementar a célula de memória • Escrita pela CPU em um endereço associado ao latch Captura e disponibilização dos dados em um conjunto de fios externos, independentes da CPU e do sistema de memória

  11. E/S em C - Porta Paralela X Linha de controle de escrita da CPU W L a t C h Linha de decodificação de endereços A Barramento de dados da CPU D a d O s Dados para o periférico • Portas de E/S IX • Porta E/S II • Escrita

  12. E/S em C - Porta Paralela XI • Portas de E/S X • Em geral, os dispositivos periféricos usam mais de uma porta E/S • Exemplo: Interface de impressora paralela típica • Uso de 3 portas • Porta para Leitura/Escrita • Porta de Entrada • Porta de Saída

  13. E/S em C - Porta Paralela XII • Portas de E/S XI • Exemplo: Interface de impressora paralela típica • Porta para Leitura/Escrita • Porta de dados • Porta de Entrada • Retorno de sinais de controle da impressora • E.g., indicação de offline, de falta de papel, de condição de pronta para aceitar outro caractere

  14. E/S em C - Porta Paralela XIII • Portas de E/S XII • Exemplo: Interface de impressora paralela típica • Porta de Saída • Transmissão de informação de controle para a impressora • E.g., existência de dados disponíveis para impressão

  15. E/S em C - Porta Paralela XIV • Portas de E/S XIII • Relevância para o PC • Uso no processo de conexão do computador com diferentes dispositivos externos (periféricos) • Ausência de portas  Inutilidade do computador • Necessidade de diferentes portas

  16. E/S em C - Porta Paralela XV • Portas de E/S XIV • Diversidade de portas  Comunicação do PC com diferentes dispositivos • Porta Serial Modems externos • Porta Paralela Impressora • Porta do Teclado Teclado • Porta PSII Mouse ou Teclado

  17. E/S em C - Porta Paralela XVI • Portas de E/S XV • Porta Serial Universal (USB) 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

  18. E/S em C - Porta Paralela XVII • Portas 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

  19. E/S em C - Porta Paralela XVIII USB Tipo A 1 2 3 4 Plug Invólucro de PVC Encaixe 4 3 2 1 Cabo USB Malha de Cobre (65%) Capa de Alumínio (Dreno) 28 AWG Trançado Receptáculo D- GND Tipo B V+ D+ Tipo A • Portas de E/S XVII • Porta Serial Universal (USB) III http://www.interfacebus.com/Design_Connector_USB.html

  20. E/S em C - Porta Paralela XIX • Portas 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

  21. E/S em C - Porta Paralela XX • Portas 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)

  22. E/S em C - Porta Paralela XXI • Portas de E/S XX • Porta Serial Universal (USB) VI • Popularidade • Alta velocidade • Boa imunidade a ruídos • Protocolo complexo

  23. E/S em C - Porta Paralela XXII • Portas 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

  24. E/S em C - Porta Paralela XXIII • Porta 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

  25. E/S em C - Porta Paralela XXIV • Porta Firewire II • Velocidade elevada • Boa imunidade a ruídos • Peer-to-peer

  26. E/S em C - Porta Paralela XXV • Porta 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)

  27. E/S em C - Porta Paralela XXVI • Porta Paralela I • Interface de comunicação entre o computador e um periférico • Intenção da IBM ao criar o primeiro computador pessoal (PC)  Conexão com uma impressora • Popularidade crescente da porta USB  Uso ainda expressivo da porta paralela como interface para impressoras

  28. E/S em C - Porta Paralela XXVII • Porta 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.

  29. E/S em C - Porta Paralela XXVIII • Porta 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. E/S em C - Porta Paralela XXIX • Porta Paralela IV • Endereços e Interrupções

  31. E/S em C - Porta Paralela XXX • Porta Paralela V • Utilização atual desta interface por vários periféricos para o envio e a recepção de dados • Impressoras • Scanners • Câmaras digitais • HD Externos • Drives de discos Zip • Adaptadores de redes • Drives de fita

  32. E/S em C - Porta Paralela XXXI • Porta Paralela VI • Velocidade limitada • Distância razoável (8 m) • Simplicidade • Versatilidade • Baixa imunidade a ruídos

  33. E/S em C - Porta Paralela XXXII • Endereços da Porta Paralela • O computador nomeia as portas paralelas como LPT1, LPT2, LPT3, etc • Porta física padrão LPT1 • Registradores

  34. E/S em C - Porta Paralela XXXIII • Conector DB25 I • Localização  Parte posterior do computador • Possibilidade de envio e recepção de dados via conexão do cabo paralelo ao computador • Dotado de 25 pinos DB25 (conectado ao computador) Centronics DB36 (conectado à impressora) CABO PARALELO

  35. E/S em C - Porta Paralela XXXIV • Conector DB25 II • Podem ser usados como E/S • Pinos de dados  D0-D7 • Pinos de controle STROBE,AUTO FEED,INITeSELECT IN

  36. E/S em C - Porta Paralela XXXV D0 13 D1 25 Pino 2 D2 Pino 3 D3 Pino 4 Pino 5 D4 Pino 6 D5 Pino 7 Pino 8 D6 Pino 9 D7 14 GND (-) 1 Pinos 18 ~ 25 • Conector DB25 II DB25 (conectado ao computador)

  37. E/S em C - Porta Paralela XXXVI • 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

  38. E/S em C - Porta Paralela XXXVII • Cuidados com o Uso da Porta Paralela • Conexão direta com a placa-mãe do computador • Descargas elétricas ou conexões de componentes com polaridades invertidas  Danos irreparáveis ao computador

  39. E/S em C - Porta Paralela XXXVIII • Uso da Porta Paralela - Exemplo O que faz o código abaixo? #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); }

  40. José Eustáquio Rangel de Queiroz UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO rangel@dsc.ufcg.edu.br, rangeldequeiroz@gmail.com

More Related