17
USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

Embed Size (px)

Citation preview

Page 1: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

USB - Universal Serial Bus

Disciplina de Programação de PeriféricosProf. Eduardo A. Bezerra

Alexandre K. SekiGlauber D. Ramos

Page 2: 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.

Page 3: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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.

Page 4: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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

Page 5: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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

Page 6: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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.

Page 7: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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

Page 8: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

USB – Físico

• O padrão USB pode conectar até 127 dispositivos usando hubs.

Page 9: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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.

Page 10: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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.

Page 11: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

USB - Funcionamento

• O pacote de dados possui um campo chamado PID que define 2 tipos diferentes de dados:– Dados 0– Dados 1

Page 12: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

USB - Funcionamento

• O pacote de ack possui 3 tipos diferentes de pacote:– ACK– NAK– STALL

Page 13: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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”.

Page 14: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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.

Page 15: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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)

Page 16: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

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

Page 17: USB - Universal Serial Bus Disciplina de Programação de Periféricos Prof. Eduardo A. Bezerra Alexandre K. Seki Glauber D. Ramos

USB - Universal Serial Bus

Disciplina de Programação de PeriféricosProf. Eduardo A. Bezerra

Alexandre K. SekiGlauber D. Ramos