USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos
USB - Introdução Universal Serial Bus(USB) é um padrão serial. A versão 1.0 surgiu em 1995 e foi desenvolvido pelo consórcio formado pelas seguintes empresas: Intel, Compaq, Microsoft, Digital, IBM e Northern Telecom.
USB – Conectividade Dispositivos Impressora, ZIP drive - porta paralela. Maioria dos computadores vem com 1 só. Modem, câmeras digitais e algumas impressoras - porta serial. A maioria dos computadores tem no mínimo 2 e elas são quase sempre lentas. Outros dispositivos mais rápidos – cards próprios. Necessidade de instalação em slot dentro do computador.
USB - Introdução O objetivo do consórcio era desenvolver um padrão para conectar vários dispositivos. USB usa o conceito de plug and play, outra meta do consórcio, popularizar este conceito. Visava dar suporte para dados de vídeo e áudio em tempo real. Deveria ser de baixo custo e velocidade superior a 12Mbit/s
USB - Características Plug and Play Até 127 dispositivos usando hubs Velocidade de 480Mbits/s(versão 2.0) Fonte de energia de 5V Protocolo implementa controle de erros Inserção e remoção de dispositivos detectada em tempo real Fiscamente simples: 4 fios Tamanho máximo de cabo: 5 metros
USB - Físico O padrão USB trabalha com a codificação NRZI(Non return to zero inverted) Os dados são transmitidos por dois fios D+ e D- Um fio é o da fonte de energia, com voltagem de 5V. O fio preto é o fio terra.
USB - Físico 4 Fios: Pin Nome Cor Descrição 1 VCC Vermelho +5V 2 D- Branco Data - 3 D+ Verde Data + 4 GND Preto Terra
USB – Físico O padrão USB pode conectar até 127 dispositivos usando hubs.
USB - Funcionamento O padrão USB é baseado em pacotes. Todas as mensagens trocadas necessitam de 3 pacotes: Pacote Tocken: Possui endereço do dispositivo desejado e informação de controle. Possui bits CRC (Cyclic Redundacy Check) Pacote de dados: Responsável pela troca dos dados e pode ser vazio. Possui bits CRC (Cyclic Redundacy Check). Pacote ACK: Responsável por confirmar o recebimento do pacote de dados. Existe também o pacote Especial: Usado para funções adicionais.
USB - Funcionamento O pacote tocken possui um campo chamado PID que define 4 tipos diferentes de tocken: Saída: Host -> Dispositivo Inicio de frame(SOF): Ajuda na sincronização Entrada: Dispositivo -> Host Configuração: endereça um dispositivo especifico.
USB - Funcionamento O pacote de dados possui um campo chamado PID que define 2 tipos diferentes de dados: Dados 0 Dados 1
USB - Funcionamento O pacote de ack possui 3 tipos diferentes de pacote: ACK NAK STALL
USB - Controle O controle dos dispositivos é feito através de um endereço que é determinado no momento em que o dispositivo é conectado ao barramento ou no momento em que o computador liga. Esse processo de determinar o endereço é chamado “Enumeration”.
USB – Tipos de dados Durante o processo de “Enumeration” também se determina qual tipo de dado o dispositivo irá transmitir: Interrupt: Dispositivos que irão mandar poucos dados, como mouse ou teclado. Bulk: Impressoras que necessitam mandar um único grande pacote. Isochronous: Dispositivos que usem “streaming” e necessitam de conexão real-time com o computador. Exemplo: caixa de som.
USB – Versão 3.0 10x Mais rápido Compatível com versões antigas 5 Fios adicionados Transmissão bidirecional (upload and download ao mesmo tempo) Maior corrente elétrica(carrega despositivos) Dispositivos que não estão carregando e não estão sendo usados não recebem energia(Economia de energia)
USB - Referências http://www.usb.org/home http://en.wikipedia.org/wiki/USB http://www.intel.com/technology/usb/ http://www.infowester.com/usb.php http://www.inf.pucrs.br/~eduardob/disciplinas/ProgPerif/sem08.2/material.htm http://www.maximumpc.com/article/features/everything_you_need_know_about_usb_30_plus_first_spliced_cable_photos http://computer.howstuffworks.com/usb.htm http://www.interfacebus.com/usb-cable-diagram.html http://www.beyondlogic.org/usbnutshell/usb1.htm
USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos