Introdução à Programação Portas de Comunicação ç Prof.: Walmor Cardoso Godoi, M.Sc. http://www.walmorgodoi.com Agenda • USB • Fireware • Porta Paralela – Introdução I t d ã – Aplicação em Controle de Display • Porta Serial Introdução • Interface é o nome dado ao circuito que controla um dispositivo de entrada ou saída,, enviando ou recebendo informações do processador ou do chipset agindo como um adaptador chipset, desse dispositivo. PORTAS As portas são caminhos por onde ppassa a informação ç entre o computador e um periférico. Cada porta tem um número e é dedicada a uma função em particular. Por exemplo, a maioria do tráfego da web passa pela porta número 80 ou 3128. Portas 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 5 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 6 USB = Universal Serial Bus • Trata-se de uma tecnologia que tornou mais simples e fácil a conexão de diversos tipos de aparelhos (câmeras digitais, drives externos, modems,, mouse,, teclado,, etc)) ao computador, evitando o uso de um tipo específico de conector para cada dispositivo. USB = Universal Serial Bus • Foi criada em 1995 em uma aliança promovida por várias empresas (como ) NEC,, Intel e Microsoft). • É necessário i que a placa-mãe l ã d da máquina e o sistema operacional sejam compatíveis com USB. Porta Serial Universal (USB) O padrão USB foi desenvolvido por um consórcio de empresas entre as quais destacamempresas, destacam-se: Microsoft Microsoft,, Apple Apple,, Hewlett--Packard, Hewlett Packard, NEC NEC,, Intel e Agere Atuação do computador como hospedeiro (h t) (host) Possibilidade de conexão de até 127 dispositivos ao hospedeiro, diretamente ou via hubs USB Comprimento p de cabos USB Individuais Ö 5m Com hubs Ö 30 m 9 USB = Universal Serial Bus • Pen drive - Dispositivo móvel que permite armazenar centenas de MBs em dados de qualquer tipo tipo. • Sua interface permite que o dispositivo conectado seja alimentado pelo cabo de dados dados. • Os cabos USB devem ter até 5 metros de comprimento. i t USB – Porta Serial Universal (USB) • Composição de cabos USB – 2 fi fios de d alimentação li Ö +5 5 V e Terra T ( é 500 mA) (até A) – 1 par trançado de fios para a transferência dos dados 12 Tipo B ou, mini-usb i i b USB Tipo A Tipo A 4 2 1 Plug Invólucro de PVC Cabo USB 3 Encaixe Malha de Cobre (65%) Capa de Alumínio (Dreno) 1 28 AWG Trançado 2 3 4 Receptáculo DD V+ 13 GND D+ Pinagem de um Cabo USB Pino Nome do Sinal Cor do Fio 1 VBUS Vermelho 2 D- Branco 3 D+ Verde 4 GND Preto http://www.interfacebus.com/Design_Connector_USB.html – Porta Serial Universal (USB) • Alimentação direta, a partir da porta, de dispositivos de baixo consumo de energia (e (e.g. g mouse, mouse celular) • Alimentação própria de dispositivos de consumo mais alto d potência de ê i (e.g. ( impressora) i ) Ö Exigência E i ê i mínima í i de d energia diretamente da porta – Alimentação própria dos hubs Ö Possibilidade de fornecimento de alimentação para os dispositivos a eles conectados 14 – Porta Serial Universal (USB) • Dispositivos USB – Possibilidade de conexão à porta e desconexão em qualquer instante – Possibilidade de indução à hibernação pelo computador h hospedeiro d i durante d t entradas t d no modo d de d baixo b i consumo de d energia (power-saving) 15 – Porta Serial Universal (USB) • Popularidade • Alta velocidade • Boa B imunidade i id d a ruídos íd o oco o complexo co p e o • Protocolo 16 USB = Universal Serial Bus • O barramento USB pode operar de 1,5 Mbps à 12 Mb Mbps. Mas, M está tá abaixo b i d de outros t ti tipos de barramento, como o SCSI e o FireWire, que alcançam l velocidades l id d d de cerca d de 80 a 160 Mbps e 400 megabits por segundo. • A maioria dos computadores com mais de uma porta USB divide o barramento entre os diversos dispositivos conectados. • Porta Firewire – Desenvolvida pela Apple Computer, nos anos 90, para substituição do bus SCSI – IInterface t f serial i l para computadores t d pessoais i e aparelhos lh digitais de áudio e vídeo que oferece comunicações de alta velocidade e serviços de dados em tempo real – Também conhecida como i.Link ((Sony), y) IEEE 1394 ou High Performance Serial Bus-HPSB 18 • Porta Firewire – Velocidade elevada – Boa imunidade a ruídos – Peer-to-peer 19 • Porta Firewire – 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) 20 Fireware Porta Serial • • • • • • Pode ser conectada com apenas 2 pinos, em uma conexão unidirecional. Em qualquer aplicação prática, é necessário utilizar circuitos que convertam níveis de tensão para os exigidos pela interface. Uso de cabos: cuidado com a atenuação. As portas seriais no PC são totalmente programáveis. Pode-se transmitir s ccaracteres c e es com co 5, 6, 7 ou 8 bits. b s. O coração da interface serial é o circuito 8250, que permite o uso de funções como CTS (clear to send) entre outras. Uma saída RS 232C inativa fica transmitindo ±12 V, controle OFF. Então a tensão pico-a-pico medida em um osciloscópio para um pulso dado nesta saída deve ser de 24 V. Porta Serial: Introdução • É preciso selecionar em qual Porta seu Modem, dispositivo, etc, está instalado ((COM1 ou 0x3F8,, COM2,, ...). ) Porta Serial: Pinos RS232/DB9 Porta Serial: Cabos • CABOS NULL-MODEM PARA COMUNICAÇÃO ENTRE 2 COMPUTADORESATRAVÉS DA PORTA SERIAL COM SUPORTE A CONTROLE DE FLUXO VIA HARDWARE Porta Serial: Introdução • LOOP-BACK PARA TESTAR A PORTA SERIAL SEM A NECESSIDADE DE SE CONECTAR DOIS EQUIPAMENTOS Porta Serial em C++ Acessando A d a porta serial i l - OPEN Inserir windows.h para utilizar este programa Porta Serial em C++ Obtenção de Parâmetros CBR 19200 p/ 19200 baud, CBR 9600 p// 9600 b baud, d CBR 57600 p/ 57600 baud, etc. EVENPARITY, NOPARITY, NOPARITY ODDPARITY. ONESTOPBIT, ONE5STOPBITS, ONE5STOPBITS TWOSTOPBITS. Porta Serial em C++ C Controle l de d tempos de d saída íd Porta Serial em C++ F h d a porta - CLOSE Fechando Porta Serial: Aplicação TRIGGER LIGA DESLIGA TRIGGER: Porta Paralela Interface de comunicação entre o computador e um periférico Intenção ç da IBM ao criar o p primeiro computador pessoal (PC) Ö Conexão com uma impressora Popularidade crescente da porta USB Ö Uso p da p porta p paralela como ainda expressivo interface para impressoras 32 Porta Paralela Utilização atual desta interface por vários periféricos para o envio e a recepção de dados I Impressoras Scanners Câmaras digitais HD Externos (HP) Drives de discos Zip (ZipDrives) Adaptadores de redes Drives de fita 33 Porta Paralela Velocidade limitada Distância razoável (8 m) Simplicidade Versatilidade Baixa imunidade a ruídos 34 E/S em C - Porta Paralela Endereços da Porta Paralela O computador nomeia as portas paralelas como LPT LPT1 1, LPT LPT2 2, LPT LPT3 3, etc Porta física padrão Ö LPT LPT1 1 Registradores g Endereço LPT1 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 35 E/S em C - Porta Paralela Conector DB DB25 25 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) computador) Centronics DB36 (conectado à impressora impressora) p ) CABO PARALELO 36 Conector DB DB25 25 Podem ser usados como E/S Ö D0-D7 Pinos de dados Pinos de controle Ö STROBE STROBE,, AUTO FEED,, INIT e SELECT IN FEED 37 E/S em C - Porta Paralela Conector DB DB25 25 25 D0 Pino 2 D1 Pino 3 Pi Pino 4 Pino 5 Pino 6 D2 Pino 7 Pino 8 D5 Pino 9 D7 14 13 DB25 (conectado ao computador) computador) 1 ~ D3 D4 D6 GND (-) Pinos 18 ~ 25 38 ENDEREÇOS DA PORTA PARALELA • O seu computador nomeia as Portas Paralelas, chamando-as h d d LPT1, de LPT1 LPT2, LPT2 LPT3 etc, mas, a Porta física padrão de seu computador é a LPT1, e seus endereços d são: ã 378h ( para enviar i um byte b d de dados pela Porta), 378+1h (para receber um valor através é da d Porta) P ) e, 378+2h 378 2h (para ( enviar i dados). d d ) Às vezes pode está disponível a LPT2, e seus endereços d são: ã 278h, 278h 278+1h 278 1h e 278+2h, 278 2h com as mesmas funções dos endereços da porta LPT1 respectivamente. ti t No C++ • outportB(ENDEREÇO, VALOR); – ENDEREÇO= LPT1 (378h, 378+2h) – VALOR VALOR= BIT DO BYTE ENVIADO • inportB(ENDEREÇO, VALOR); – ENDEREÇO= LPT1 (378+1h) – VALOR= BIT DO BYTE RECEBIDO Cuidados Atenção! AP Porta t Paralela P l l está tá ligada li d diretamente di t t à placa mãe de seu computador. Muito cuidado id d ao conectar circuitos i i eletrônicos l ô i a essa porta, pois, uma descarga elétrica ou um componente com a polaridade invertida, poderá causar danos irreparáveis ao seu computador, seja coerente. Interface Paralela • A velocidade operacional máxima de uma porta paralela é determinada por diversos fatores. A velocidade nas portas paralelas padrão (SPP) é de aproximadamente 0,15 Mbps ( (megabits bit por segundo) d ) e nas portas t ECP e EPP, cerca de 3 Mbps. A velocidade varia com a potência do microprocessador do computador. computador Mas as transferências de dados pode ser controlada por DMA (acesso direto à memória), sem intervenção do microprocessador, p geral do g melhorando assim o desempenho sistema, principalmente num ambiente multiusuário ou multitarefa. MODELOS DE PORTA PARALELA • Transmissão unidirecional – SPP (Standard Parallel Port) pode chegar a uma taxa de transmissão de dados a 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 usados 4 bits por vez. • Transmissão bidirecional – EPP ( Enhanced Parallel Port ) chega a atingir uma taxa de transferência de 2 MB/s. Para atingir essa velocidade, será 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. 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, para a transferência de dados. EXTENSÃO DO CABO PARALELO • Recomenda-se que a extensão do cabo para interligar um computador a um periférico,, seja p j de no máximo 8 m. Na prática, utiliza-se um cabo com extensão menor Quanto maior a extensão do cabo, menor. cabo maior é a interferência na transmissão dos d d Por dados. P quê? ê? ENDEREÇOS DA PORTA PARALELA • O seu computador nomeia as Portas Paralelas, chamando-as de LPT1, LPT2, LPT3 etc, mas, a 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 receber um valor através da Porta) e, 378+2h (para enviar dados). dados) Conector DB25 • • O DB25 é um conector que fica na parte de trás do gabinete do computador, e é através deste, que o cabo paralelo se conecta ao computador para poder enviar i e receber b dados. d d No DB25, um pino está em nível lógico 0 quando a tensão elétrica no mesmo está entre 0 à 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 3 1 e até 5v. 5v Modo SPP Conector DB25 Fios de interligação O CONECTOR MACHO CENTRONICS 36 PINOS • • O conector macho Centronics 36 ppinos faz pparte do cabo da impressora, p ,é através deste cabo que a impressora é conectada ao computador. Quando desenvolvemos uma projeto que utilize uma interface para conectarmos ao computador, poderemos utilizar um conector centronics 36 pinos fêmea fêmea, isso faz com que nossa interface aproveite o cabo da impressora, onde poderemos conseguir com facilidade em lojas de Informática. Envio de bytes Porta Paralela Aplicação • CONTROLANDO DISPLAYS DE 7 SEGMENTOS ATRAVÉS DA PORTA PARALELA Porta Paralela: Aplicação Porta Paralela e o Borland C++ Porta Paralela e o DevC++ Portaa Parralelaa e o DeevC+ ++ Porta Paralela e C++ Po orta P Paraalelaa e o Dev vC++ Bibliografia • http://geocities.yahoo.com.br/conexaopcpc/artigos/portas_s eriais e paralelas htm eriais_e_paralelas.htm • http://www.clubedohardware.com.br • http://bpiropo.com.br p p p • http://magnet.com.br • http://htmlstaff.org p g • http://www.openit.com.br/ • http://www.guiadohardware.net • Rogercom http://www.rogercom.com • USB http://www.usb.org FIM