24
USB – Universal Serial Bus

USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Embed Size (px)

Citation preview

Page 1: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

USB – Universal Serial Bus

Page 2: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

História USB 1.0

Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service

Release 2 Low-Speed (1,5 Mbps) e Full-Speed (12 Mbps) USB 1.1: lançado em setembro/1998

USB 2.0 Lançado em abril/2000 Hi-Speed (480 Mbps)

Extensões USB On-The-Go (OTG)

Conexão direta entre periféricos Certified Wireless USB (WUSB)

Conexão sem fios Tecnologia de rádio Ultra Wide Band (UWB)

Page 3: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Dispositivos

Interface Conectores série A e série B

Assegura conectividade correta Evita concatenação de cabos

Transmissão de dados em par trançado

Fios para fornecimento de energia

Page 4: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Dispositivos

Definição de classes de dispositivos Facilita o desenvolvimento e a

adaptação de drivers Quantidade e tipo de endpoints:

obrigatórios na especificação Itens de descritores padrão e modo de

utilização de dados: opcionais

Page 5: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Dispositivos

Page 6: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Topologia

USB Estrela em

Camadas (Tiered Star)

Host centro da rede: inicia todas as transmissões de dados

Page 7: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Topologia

Wireless USB Estrela

Ausência de hubs

Page 8: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Enumeração

Procedimento de inserção de um dispositivo na rede USB

Estados do dispositivo:1. Energizado2. Padrão3. Endereçado4. Configurado5. Plugado6. Suspenso

Page 9: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Enumeração

Conexão do dispositivo Detecção de presença Detecção de velocidade Endereçamento Obtenção de descritor Seleção de driver e configuração

Page 10: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Modelo de Transporte Pipe entre o host e o dispositivo

Liga um buffer de memória no host a um endpoint no dispositivo

Dois tipos de pipe Stream Pipe

Comunicação unidirecional Transmissão seqüencial

Message Pipe Comunicação bidirecional Comunicação estruturada

O empacotamento de dados não depende do pipe utilizado

Page 11: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Pacotes

Três tipos de pacotes: Pacotes “Token”

Pacotes de Dados

Pacotes “Handshake”

Page 12: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Detecção de Erros

Três mecanismos de detecção de erros: Bit Stuffing; Checagem de bits de PID; CRC’s.

Page 13: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Detecção de Erros em Pacotes

Campo Erro Ação

PID Checagem PID, Bit Stuffing Ignorar pacote

Endereço Bit Stuffing, CRC Ignorar token

Número do Quadro Bit Stuffing, CRC Ignorar campo de número do quadro

Dados Bit Stuffing, CRC Descartar dados

Page 14: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Pacotes no WUSB

Pacotes definidos na camada enlace, subcamada MAC (Media Access Control)

Quatro tipos de pacotes: Pacotes MMC (Micro-scheduled

Management Control) Pacotes de Dados Pacotes de “Handshake” Pacotes de Notificação

Page 15: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Transferências

Composta de uma ou mais transações

Cada transação contém um ou mais pacotes

Tipos de transferência: Transferência de Controle Transferência em Massa Transferência de Interrupção Transferência Isocrônica

Page 16: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Transferências Transferência de controle

Pequenos pedidos de controle enviados pelo host

2 ou 3 estágios Setup: Informações sobre o pedido Data: Dados sobre o pedido (estágio opcional) Status: Relatório de sucesso

Porção de banda reservada Comunicação bidirecional Tratamento de erro

Três tentativas em caso de erro (Não inclui NAK)

Envio de token antes do estágio Status Uso de “data toggle”

Page 17: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Transferências Transferência em massa

Transmissão de dados sem restrição de tempo Sem banda mínima assegurada Transferência rápida

Máxima eficiência da banda disponível Pouco overhead de protocolo

Comunicação unidirecional Tratamento de erro

Três tentativas em caso de erro Persistência sobre NAK – controle feito pelo

driver Uso de “data toggle”

Page 18: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Transferências Transferência de Interrupção

Transmissões imediatas, mas com pouca freqüência

Garantia de latência máxima entre tentativas de transação

Comunicação unidirecional Tratamento de erro

Três tentativas em caso de erro Persistência sobre NAK – ausência de controle Uso de “data toggle”

Page 19: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Transferências Transferência Isocrônica

Transmissões em tempo real Taxa constante Tolerância a erros

Verificação de banda disponível antes da configuração

Host recusa a configuração caso não haja banda disponível

Comunicação unidirecional Nenhum tipo de tratamento de erro

“Data toggle” ignorado Ausência de pacotes de “handshaking”

Page 20: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Transferências Transferências em WUSB

Estrutura de transferências igual à do protocolo USB

Alta taxa de erros: diferenças nas transações isocrônicas

Uso de pacotes de “handshaking” Reenvio de pacotes em casos de erro de

transmissão Envio de pacotes em rajadas

Menos pacotes de “handshaking” Rajadas com muitos pacotes: alta frequência

de erros

Page 21: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

USB vs. FireWire

Topologia em estrela em camadas

Controle do host Comunicações host-

dispositivo Implementação

simples e barata

OBJETIVO: Baixo custo e simplicidade

Topologia em árvore Controle dos

dispositivos Comunicações entre

dispositivos Implementação

complexa e cara

OBJETIVO: Máxima performance

Page 22: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Perguntas

Por que o barramento USB utiliza o sistema de dois conectores?

Quantos tipos de pacotes existem no protocolo USB? Quais são eles?

Por que as transferências em massa são o tipo de transferência mais rápida, apesar de possuírem a menor prioridade de todas?

Quais diferenças existem entre transferências isocrônicas em USB e em WUSB? Porque elas são necessárias?

Por que a especificação USB define classes de dispositivos?

Page 23: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Referências Bibliográficas

[1] AXELSON, J., USB Complete: Everything You Need to Develop Custom USB Peripherals, 3ª edição, Lakeview Research LLC, 2005, ISBN 978-1-931448-03-1;

[2] TAN, W. M., Developing USB PC Peripherals, 1ª edição, Annabooks, 1997, ISBN 0-929392-38-8;

[3] USB Implementers Forum, Inc. - www.usb.org;

[4] Everything USB... We Mean Everything! – www.everythingusb.com;

[5] DeviceForge.com: tomorrow’s device technology today - www.deviceforge.com;

Page 24: USB – Universal Serial Bus. História USB 1.0 Lançado em janeiro/1996 Disponível para PCs com Windows 95 OEM Service Release 2 Low-Speed (1,5 Mbps) e Full-Speed

Referências Bibliográficas

[6] Compaq Computer Corporation, Hewlett-Packard Company, Intel Corporation, Lucent Technologies Inc, Microsoft Corporation, NEC Corporation, Koninklijke Philips Electronics N.V., Universal Serial Bus Specification, Revisão 2.0, 27 de abril de 2000;

[7] Agere Systems, Inc., Hewlett-Packard Company, Intel Corporation, Microsoft Corporation, NEC Corporation, Koninklijke Philips Electronics N.V., Samsung Electronics Co., Ltd., Wireless Universal Serial Bus Specification, Revisão 1.0, 12 de maio de 2005;

[8] Intel Corporation, Wireless USB: The First High-Speed Personal Wireless Interconnect, 2004;