Índice

Capa

1) Introdução sobre o Universal Serial Bus (USB)

2) USB: Informação Básica

3) USB: Funcionamento

    3.1) Funcionamento do USB conectado ao PC

4) Benefícios do USB

5) USB internamente

6) Wireless USB

    6.1) Introdução

    6.2) Características e Vantagens

    6.3) Topologia do Wireless USB

    6.4) Características do Protocolo

7) Conclusão

8) Bibliografia

 

 

 

 

Capa <topo>

 

Universidade Federal do Rio de Janeiro

Departamento de Engenharia Eletrônica

 

 

 

Trabalho sobre USB 1.1, USB 2.0 e Wireless USB.

 

 

 

 

 

Disciplina: Redes de Computadores I

Prof. Otto     Período: 2004/2

Aluno: Gabriel B. B. Medina

DRE 100119088

gbbmedina@ig.com.br

 

 

 

 

 

 

 

 

1) Introdução sobre o Universal Serial Bus (USB) <topo>

 

Universal Serial Bus (USB) ou em português, Barramento Serial Universal é um tipo de dispositivo de conexão que foi projetado para preencher algumas lacunas deixadas pelos outros barramentos seriais. Foi desenvolvido por companhias do ramo de telecomunicações e de computadores pessoais. Estas companhias são: Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, Philips. O USB , basicamente, tem como objetivo conectar periféricos externos ao computador sem que se tenha a necessidade de abrir o gabinete para instalar placas em slots e ainda permite alternar entre periféricos sem ter que desligar o PC. O USB traz ao usuário diversas vantagens como a versatilidade, a facilidade no uso e a alta velocidade.

 

O USB está cada vez mais difundido no mercado atual. Suas portas e conectores podem ser encontrados na sua maioria em sistemas Windows, iMac da Apple, G3 e G4 Power PCs rodando OS 9. Muitos produtos já saem de fábrica compatíveis com a porta USB e isso já é quase que um pré-requisito essencial para o sucesso do produto. A porta USB tem uma taxa de transferência 100 vezes mais rápida que a porta paralela de 25 pinos, a serial DB-9, DB-25 e RS-232 que são encontrados em vários computadores (quadro comparativo adiante).

 

A interface USB é mais comumente usada em conexões de periféricos de baixa à média banda, como câmeras digitais, leitores de cartões de memória Flash, joysticks, impressoras e scanners.

 

Comparando com o  padrão de conexão de periféricos IEEE-1394 FireWire, o USB tem um custo bem inferior, sendo assim, o mais usado em periféricos domésticos de baixo e médio custo. Contrariamente ao FireWire, que é usado, por exemplo, comumente em estações de trabalho, servidores de grande porte e estações multimídia de edição de imagens.

 

Outro benefício que traz o USB é o fato de que permite que o dispositivo tenha tanto alimentação elétrica própria como alimentação via barramento. Na maioria das vezes, os que utilizam alimentação via barramento, esta se dá através do gabinete, e os de alimentação própria, por uma fonte própria.

 

Com relação aos cabos e conectores, o sistema de USB, é bastante simples. De modo a simplificar, usa somente um tipo de cabo e um tipo de conector em cada extremidade. São dois tipos de conectores, o conector que é ligado ao PC é achatado e o conector que se conecta ao periférico tem um formato quadrado(vide figuras). Os cabos de USB não podem exceder o limite de 5 metros de comprimento.

 

O crescimento do uso de dispositivos USB é vertiginoso, e estima-se que de 6 milhões de computadores em 1996 chegamos à mais de 700 milhões ao final de 2003.

 

A versão atual do USB, que é a 2.0, possui uma maior taxa de transferência de dados (480 Mbits/s) e mesmo assim não deixa de ser compatível com sua versão anterior, a 1.1. A nova versão é cerca de 40 vezes mais rápida que a anterior.

 

 

 

 

2) USB: Informação Básica <topo>

 

O USB possui um conector universal para todos os tipos de conexões USB. Abaixo tem uma figura para facilitar o reconhecimento de uma porta USB e dos conectores USB.

 

 

Conector que entra na porta

 

Conector que entra no dispositivo



 

 

Para utilizar o USB não há necessidade de um software específico. Muitos dispositivos usam o software que precisam  à partir do próprio sistema operacional ou então de algum CD ou disquete de instalação que vem de fábrica com o produto. O sistema operacional se encarrega de selecionar o software adequado para o seu dispositivo, dispensando um maior conhecimento do usuário. O usuário pode se utilizar do plug-and-play, não necessitando configurar nenhum recurso de hardware como IRQs, canais de DMA e endereços de I/O.

 

Também podemos encontrar hoje em dia as portas USB em laptops. Isso permite que o usuário possa facilmente compartilhar seus periféricos do laptop.

 

Existem muitos tipos de periféricos compatíveis com USB, vou citar alguns dos mais freqüentemente utilizados: câmeras digitais, modems, telefones, teclados, mouses, joysticks, drives de cd-rom, drives de disquete, drives de fita, scanners, impressoras, produtos que transmitem vídeo e muitos outros.

Uma área que promete em termos de crescimento futuro é o da integração entre telefone e computador, e o papel do USB é de grande importância para fornecer uma interface para os PABXs digitais e ISDN (Integrated Services Digital Network).

 

            Em termos de custo, a existência do USB pouco afeta o preço final dos computadores de hoje em dia. Olhando por outro lado, pode-se dizer que até barateia os custos, devido ao fato de que o USB elimina a necessidade de placas adicionais e fontes elétricas extras nos PCs. Inclusive a capacidade de compartilhar periféricos reduz ainda mais o custo final para o usuário.

 

            Existem muitas dúvidas referentes à quantidade de dispositivos USB que pode-se conectar de uma vez em um mesmo PC. Considerando que alguns dispositivos demandam alguma banda, o limite prático fica menor que o teórico que é de 127, isso mesmo, cento e vinte e sete dispositivos individuais simultaneamente! Existe ainda a possibilidade de se utilizar placas de PCI-USB que fornecem portas USBs adicionais, permitindo que ainda mais periféricos sejam conectados.

 

3) USB: Funcionamento <topo>

 

            A mais recente versão, o USB 2.0, chamada de "High Speed USB" possui uma velocidade de transferência de 480 Mbits/s que é 40 vezes mais rápida que o USB 1.1. O termo "High Speed USB" é usado somente para a velocidade de 480Mb/s que é uma parte do USB 2.0. Diferente de usarmos o termo USB 2.0 que inclui tanto o "High Speed USB" quanto as demais taxas inferiores à essa(12 Mbits/s e 1,5 Mbits/s).

 

            Abaixo, um quadro comparativo das taxas de transferência de dados de diversos dispositivos. A partir dessas taxas, dá pra termos uma noção de quão veloz é a nova versão da tecnologia USB.

 

Dispositivo

Taxa (MBytes/s)

Serial Port

0,014

Standard Parallel Port

0,115

Original USB

1,5

ECP/EPP Parallel Port

3

IDE

3,3 - 16,7

SCSI-1

5

SCSI-2 (Fast SCSI, Fast Narrow SCSI)

10

Fast Wide SCSI (Wide SCSI)

20

Ultra SCSI (SCSI-3, Fast-20, Ultra Narrow)

20

UltraIDE

33

Wide Ultra SCSI (Fast Wide 20)

40

Ultra2 SCSI

40

IEEE-1394 FireWire

12,5 – 50

Hi-Speed USB

60

Wide Ultra2 SCSI

80

Ultra3 SCSI

80

Wide Ultra3 SCSI

160

FC-AL Fiber Channel

100 – 400

 

3.1) Funcionamento do USB conectado ao PC <topo>

 

Abaixo, podemos ver como interagem as camadas de software e hardware que constituem o funcionamento da conexão do USB com um computador.

 

 

 

O acesso à periféricos comuns funciona da mesma forma que o acesso à um periférico USB. Ambos chamam funções da API.

 

O próximo passo será a comunicação da API com o driver do periférico conectado na porta USB. Esse driver, ao receber as informações da API, as traduz para USB. Tal driver, fica armazenado no próprio sistema operacional ou vem juntamente com o CD de instalação do dispositivo USB.

 

Depois disso, temos a camada do Driver USB, que torna o sistema operacional compatível com o USB.

 

O quarto passo, inclui a camada de software chamada Driver do Controlador Host. Este driver, funciona à nível de Kernel do sistema operacional e é ele que realiza os acessos de I/O mediante à recepção das chamadas vindas do Driver USB. Essas chamadas são organizadas por este driver, para serem acessadas pelo Controlador Host.

 

Na primeira camada da parte de hardware, temos o Controlador Host. Este controlador, é um circuito eletrônico que interpreta as rotinas enviadas pelo Driver do Controlador Host e ao mesmo tempo conecta todos os periféricos USB.

 

A última camada da figura, é constituída pelos dispositivos USB propriamente ditos.

Uma das grandes vantagens já citadas do USB, é o fato de podermos conectar um periférico ao computador mesmo estando ele ligado. Isso ocorre em uma seqüência de eventos que serão mostrados na Figura 2 abaixo. Essa seqüência ocorre no sentido oposto ao descrito nos parágrafos acima. Quando conecta-se um periférico na porta USB, o Controlador Host detecta esta conexão e avisa ao Driver do Controlador Host que por sua vez avisa ao Driver USB. O Driver USB faz com que o Driver Cliente seja iniciado tornando possível a utilização do periférico recém-conectado.

 

 

 

 

 

 

4) Benefícios do USB <topo>

 

Já podem-se observar inúmeros benefícios que o USB traz para os usuários de PCs nos dias de hoje. Mais especificamente, em jogos, em que no meio de uma partida em andamento, novos jogadores podem se conectar ao mesmo ambiente sem que haja uma pausa na fluidez do jogo.

 

            Nota-se grande vantagem também em conexões de rede e Internet. Com a possibilidade de conectarmos modems externos de alta velocidade sem a necessidade de placas de rede internas. Essa solução é muito utilizada hoje em dia em conexões ADSL como Velox e Speedy. Inclusive, a implementação de redes fica mais versátil, pois ao invés de reiniciarmos cada computador à fim de incluí-lo ou substituí-lo na rede, simplesmente conectamos / desconectamos o cabo USB.

           

Cabe ressaltar a importância da porta USB no compartilhamento de periféricos entre computadores, como telefones, equipamentos de segurança, monitores e etc. Com essa sintonia entre telefones e computadores, podemos criar verdadeiras centrais telefônicas à partir de um simples desktop doméstico. Isso possibilita a gravação de ligações telefônicas de voz para dados, a seleção de chamadas, a criação de um banco de dados para armazenar conversas um sem número de outras aplicações.

 

5) USB internamente <topo>

 

O cabo do barramento do USB é composto por quatro fios,  +Vcc, +D, -D e o Ground.

 

O +Vcc fornece alimentação ao dispositivo USB que não tenha fonte própria. Num sistema USB, existem hubs  e dispositivos que necessitam do +Vcc e outros que possuem alimentação própria. A voltagem nominal do +Vcc é de +5V.

 

O fios +D e –D, como utilizam uma alta taxa de transmissão, são entrelaçados entre si, e é por eles que os dados trafegam.

 

O Ground como o nome já diz é o fio terra.

 

Na fotografia abaixo podemos ver bem definidos os fios conectados diretamente à uma placa-mãe.

 

               

No esquema abaixo, pode-se ver como é o funcionamento interno dessas conexões.

 

 

 

 

 

 

 

 

 

 

Os resistores de pull-up mudam de posição de modo a definir se o dispositivo é de baixa ou alta velocidade. Quando não temos um dispositivo conectado à porta, os resistores de pull-down baixam +D e –D abaixo de um limiar de tensão para a detecção de um dispositivo conectado à porta. Caso este estado persista por um tempo maior que 2,5 µs reconhece-se como se o dispositivo foi desconectado. No caso inverso, se uma das duas tensões de +D ou –D for maior que o limiar de tensão, e isso se estender por mais de 2,5 µs reconhece-se como se um dispositivo foi conectado.

 

O USB funciona sob um protocolo de transferência. Sua transferência de dados se dá através de pacotes e começa quando o Controlador Host envia um pacote inicial(Token Packet) indicando a direção, o tipo de transmissão, o endereço do dispositivo USB e o referido número de endpoint. O sentido da transmissão dos dados pode ser tanto do dispositivo para o host com do host para o dispositivo. Assim, o dispositivo USB decodifica o campo de endereço, verificando se o pacote lhe é destinado. Depois, vem o pacote de dados(Data Packet) ou o sinal de que não há pacotes a serem transmitidos,  e em seguida o destinatário responde com um pacote de Handshake(Handshake Packet) avisando que o pacote foi recebido com êxito.

 

 

 

 

 

 

 

 

 

 

 

 

Na figura acima, temos os campos que compõem o Token Packet.

 

O PID é a sigla para Packet Identifier e possui 8 bits. Os 4 bits mais significativos identificam o formato, o tipo e o tipo de detecção de erro utilizado no pacote e os outros 4 desses bits são bits que servem para checar a integridade dos dados.

 

No campo ADDR(Address), que possui 7 bits, encontramos o endereço do dispositivo USB que está trocando informações e portanto, limita o número de dispositivos USB para até 127.

 

Em ENDP(Endpoint) temos 4 bits e com ele permite-se um endereçamento mais flexível das funções em que mais de um Endpoint é necessário. No caso de um dispositivo ser um Hub com outros dispositivos conectados.

 

O campo de bits CRC(Cyclic Redundancy Checks) possui 5 bits. Este campo tem a função de informar ao destinatário se ocorreram erros durante o tráfego dos dados. Ele atua somente sobre os bits de ADDR e de ENDP visto que os bits de PID já possuem detecção de erros própria.

 

 

 

 

 

 

 

 

Acima, temos o esquema de um Pacote de Dados(Data Packet).

 

Os 8 bits de PID já foram descritos para o Token Packet e têm a mesma função.

 

Os 16 bits de CRC também tem a mesma função já citada, exceto pelo fato de que este CRC atua exclusivamente sobre os bits de dados(DATA)

 

O campo de dados(DATA) possui o tamanho de 0 à 8192 bits, variando de acordo com a quantidade de dados à serem transmitidos. Como estes pacotes só transportam números inteiros de bytes, falarei em quantidade de bytes e não mais de bits para o campo DATA. O tamanho máximo do pacote de dados para dispositivos de baixa velocidade é de 8 bytes, e para os de alta velocidade é de 1024 bytes.

 

 

 

           

 

Esta figura acima mostra a estrutura de um pacote de aperto-de-mão(Handshake Packet) e possui somente um campo, o PID de 8 bits. Este campo, nesse pacote específico, se restringe às seguintes informações: ACK, NAK, STALL basicamente. Para tráfego de alta velocidade temos ainda NYET e ERR.

           

O ACK é enviado ao emissor quando um pacote de dados sem erros chega ao receptor.

 

            O NAK é enviado quando o receptor não pode aceitar pacotes de dados ou quando o emissor não pode enviar pacotes de dados.

           

O STALL ocorre quando o Endpoint está parado.

 

6) Wireless USB <topo>

 

6.1) Introdução <topo>

 

O Wireless USB surge num momento em que o Wired USB já se consolidou, portanto um momento bastante oportuno. Ele oferece todas as vantagens do USB com fio e mais toda comodidade de usar um dispositivo sem fio.

 


6.2) Características e Vantagens <topo>

 

            De fácil instalação e montagem assim como o USB com fio, compatível com o USB com fio, e um baixo custo de implementação.

           

O dispositivo é seguro, pois possui uma autenticação associada à um determinado usuário. Os dados que são transmitidos são criptografados pelo aplicativo e um baixo overhead, o que minimiza a perda de desempenho. A criptografia utilizada é a AES-128 CCM. Esta criptografia tem como mecanismo fundamental o IP-Free 128 bit block cipher com proteção da integridade dos dados.

           

Com relação a bateria, que é uma questão fundamental para qualquer dispositivo wireless existe um mecanismo de redução de consumo. Este mecanismo se baseia no modo de “sleep” em que o dispositivo fica num estado de baixo consumo enquanto o usuário não utiliza diretamente o periférico Wireless USB. Durante esse estado, o dispositivo fica em “listen” esperando algum sinal para que o modo “wake” seja acionado fazendo com que o periférico volte ao estado normal de consumo e funcionamento.

           

O desempenho do Wireless USB no que condiz à taxa de transferência, é de 480Mbits/s assim como a última versão Wired USB 2.0 na máxima velocidade. Essa taxa se mantém até uma distância menor ou igual a 3 metros do receptor wireless(porta USB do computador com o adaptador wireless). Sendo que esta taxa não é um limite físico , pois esta arquitetura e estrutura de protocolo é escalonável para taxas superiores à 1Gbit/s!

 

 

 

6.3) Topologia do Wireless USB <topo>

 

 

 

 

 

 

 

 

Essa figura acima mostra que o Wireless USB também suporta vários dispositivos assim como o Wired USB. Essas conexões são feitas cada uma ponto à ponto do Dispositivo Wireless USB para o Wireless HOST.

 

 

 

6.4) Características do Protocolo <topo>

 

            Como dito anteriormente, ele tem um baixo consumo de energia. É também, escalonável caso a conexão aumente a taxa de transferência. Sendo assim, o protocolo não age como um degradador de desempenho do sistema como um todo. Outra característica que cabe ressaltar, é o fato do Wireless USB ser análogo ao Wired USB no que condiz à comandos sinalizadores como suspend, resume, connect, disconnect e etc...

           

A transmissão dos dados no ar é feita utilizando-se o TDMA como forma de modulação.

 

 

 

 

 

Abaixo, temos uma figura que mostra os dois tipos de adaptadores de Wireless USB para diferentes situações e necessidades:

 

 

 

 

 

 

 

7) Conclusão <topo>

 

 

Tanto o USB com fio quanto o sem fio tem um futuro bastante promissor. Suas vantagens com relação ao custo, à facilidade no manuseio, à comodidade fazem com que essas tecnologias tenham tudo pra dominar de vez o mercado de dispositivos eletrônicos.

 

Seu sucesso atual é incontestável, e com a escalabilidade de sua arquitetura, o USB se manterá assim mesmo com o aumento da demanda por banda de transmissão.

 

Portanto, veremos daqui para frente um aumento vertiginoso dos mais variados equipamentos eletrônicos acompanhados de plugs USB, assim como já acontece com telefones celulares vendidos em qualquer loja hoje em dia.

 

 

 

8) Bibliografia <topo>

 

(1) “Universal Serial Bus Specification” Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, Philips, Revision 2.0, 27 de Abril de 2000.

 

(2) http://www.baboohardware.com.br

 

(3) http://www.clubedohardware.com.br

 

(4) http://www.usb.org

 

(5) http://www.intel.com