Você está na página 1de 10

MC722

Projeto de Sistemas Computacionais


Rodolfo Jardim de Azevedo

Interface USB
Grupo 30: Rafael Coelho G. de Oliveira 063787,
Josadarck Tomaz Coutinho - 061781, Francisco Silva Donalisio - 060933
{ra063787, ra061781, ra060933} @students.ic.unicamp.br

Abstract. This articles intends to describe and explain how the USB(Universal Serial Bus)
interface works, technology that was conceived to bring an single way to connect
peripherals to the computer. We will pass through the history of the concieving of the
interface, it's versions, how the conection between host and client works (logical and
physical), how communication works, energy transfer and also we will show a table with
the classes of the USB devices.
Resumo. Este artigo tem por finalidade descrever e explicar o funcionamento da interface
USB (Universal Serial Bus), tecnologia que foi concebida para trazer a universalizao na
conexo de perifricos ao computador. Passaremos pela histria da concepo da interface,
bem como suas verses, funcionamento da conexo (tanto lgica quanto fsica),
funcionamento da comunicao, transferncia de energia e tambm mostraremos a tabela
de classes de dispositivos USB.

1. Introduo: uma rpida explicao


A interface USB, sigla que significa Universal Serial Bus (ou em portugus Barramento Serial
Universal), uma interface padro de conexo de perifricos aos computadores, tanto para os
desktops quanto para os notebooks, o que elimina a necessidade de um conector especfico para
cada tipo de dispositivo. A interface segue o modelo plug-and-play possibilitando a conexo e
desconexo dos dispositivos sem a necessidade de desligar a mquina a que se deseja fazer a
conexo e permite a conexo de at 127 equipamentos em cada host.
Existem diversos dispositivos que usam esta tecnologia, como por exemplo iPod's, pen
drives, cmeras digitais, celulares, mouses, teclados e outros.

2. Histria
O a primeira verso oficial do USB surgiu em 1995 desenvolvido por um consrcio de empresas
chamado de USB-IF (USB Implementers Forum), na poca formada pela Intel, Compaq, Microsoft,
Digital, IBM e Northern Telecom. Hoje a USB-IF j conta com mais de 900 empresas associadas o
que tem garantido a sobrevivncia da interface dentro do seu propsito de ser padro.
Das empresas do consrcio surgiram dois grupos que divergiam em relao a como deveria
ser a abordagem do controlador:
- UHCI (Universal Host Controller Interface)
Liderado pela Intel, esse grupo acreditava que o melhor era transferir parte do
processamento do protocolo para o software (driver) ao invs de deixar essa funo com o
hardware.
- OHCI (Open Host Controller Interface)
Liderado pela Compaq e Microsoft, esse grupo acreditava o contrrio do UHCI, pois para
ele era mais interessante simplificar o driver e passar maior parte do esforo para o
hardware.
O primeiro computador a sair com portas USB foi o iMac G3, da Apple, em 6 de Maio de
1998 e a verso era a 1.0. Em Setembro do mesmo ms saiu o USB verso 1.1 para corrigir alguns
problemas de compatibilidade e adoo que a verso 1.0 trazia.
Em Abril de 2000 foi lanada a especificao do USB 2.0, que s virou padro pela USB-IF
no fim de 2001. Essa nova verso foi desenvolvida com a ajuda de mais empresas, como HewlettPackard, Lucent, NEC e Philips e suportava backward compatibility que a possibilidade de
verses 2.0 conversarem com verses antigas, como a 1.1 ou 1.0.

3. Verses da interface
3.1. Verses no comerciais
USB 0.7
USB 0.8
USB 0.9
USB 0.99
USB 1.00 RC

Novembro de 1994
Dezembro de 1994
Abril de 1995
Agosto de 1995
Novembro de 1995

3.2. USB 1.0


Primeira verso oficialmente lanada e comercializada, por assim dizer, pelo consrcio USB-IF em
janeiro de 1996. Permitia uma velocidade de transmisso de apenas 1.5Mbit/s (Low-Speed) e
12Mbit/s (Full-Speed).
Devido a problemas de compatibilidade e velocidade essa verso foi utilizada por poucos
dispositivos que chegaram ao mercado.
3.3. USB 1.1
Lanada em setembro de 1998, corrigia erros relacionado a hubs e foi a primeira verso a ser
amplamente adotada pelo mercado.
As velocidades de transmisso continuavam as mesmas da verso 1.0, o que se tornou aos poucos
um fator de limitao para o USB j que dispositivos com mais carga de dados comeavam a adotar
a interface.
3.4. USB 2.0
Atual verso do USB, a verso 2.0 foi lanada em abril de 2000. a verso que sofreu o maior
nmero de modificaes no seu tempo de vida, modificaes essas que so feitas atravs de ECN
(Engineering Change Notices). Segue em detalhes algumas das principais modificaes:
a) Adota o modelo EHCI (Enhanced Host Controller Interface), que uma unio dos dois
modelos anteriores, o UHCI e o OHCI, dessa maneira qualidades dos dois modelos puderam
ser reunidas.
b) Oferece velocidades bem superiores s suas verses anteriores, chegando a um patamar de
480Mbit/s (Hi-Speed), ou seja, um aumento de desempenho num fator de 40. Essa
velocidade ultrapassava inclusive a velocidade de transmisso do padro Firewire, padro
que aberto e da Apple e na poca atingia a velocidade de 400Mbit/s.
c) Nessa nova verso tambm no houve mudana fsica, ou seja, o conector continuou o
mesmo que o conector usado anteriormente e a verso 2.0 possui um mecanismo que
permite que seja possvel a comunicao com verses antigas do USB. Caso um dispositivo
USB 2.0 converse com um host da verso 1.1 ou vice-versa a transmisso ser na maior
velocidade possvel para ambos, que no caso seria 12Mbit/s.
d) Mini-B Connector ECN (Outubro de 2000): Especificao para utilizao do plug Mini-B,
popularmente conhecido como Mini-USB. (Figura com os plugs em anexo)
e) On-The-Go Supplement 1.3 (Dezembro de 2006): Modificao que tornou possvel dois
dispositivos USB se comunicarem sem a presena de um usual host USB. Nesse modelo um
dos dispositivos vira o host na comunicao.
f) Battery Chargin Specification 1.0 (Maro de 2007): Especificao que permite a
possibilidade de carregadores para os dispositivos, seja um host atuando como carregador
ou seja um carregador dedicado. Alm disso implementa o No Dead Battery que permite
que os dispositivos suguem 100mA depois de serem conectados.

No entanto, o que realmente fez o USB virar de fato uma interface padro foi o fato de que na
verso 2.0 a obrigatoriedade de pagar royalties para a USB-IF foi abolida, fazendo com que
fabricantes de diversos perifricos comeassem a adotar o formato.
3.1. USB 3.0
Ainda um prottipo, essa verso foi anunciada em 18 setembro de 2007 pela Intel no Intel
Developer Forum. A verso dever alcanar uma velocidade 10x mais rpida que a atual utilizando
fibra tica como material de transporte e dois pares utilizados para o Superspeed. Alm disso
dever ocorrer uma diminuio no consumo de energia. Cerca de 90% da especificao da verso
3.0 estava pronta at agosto de 2008 e os primeiros produtos comerciais esto previstos para 2009
ou 2010. Como usual no padro USB, a verso 3.0 ter compatibilidade com as verses anteriores
porm com a limitao de velocidade relativa verso mais antiga dentre as conectadas.
3.2. Certified Wireless USB (WUSB)
O termo Wireless USB tem gerado dvidas no mundo da tecnologia, j que existem duas verses
dessa nova interface. A desenvolvida pelo mesmo grupo de empresas que desenvolveu o USB tem
sido chamada de Certified Wireless USB. Sua especificao inicial foi anunciada em maio de 2005
e a primeira demonstrao de funcionamento foi feita um ano depois, em junho de 2006. No meio
de 2007 comearam as vendas de dispositivos WUSB. A velocidade atingida pelo WUSB de
480MBps em distncias de 3 metros e 110MBps em at 10metros.

4. Conectores e cabos
4.1.Conectores
Existem, atualmente, seis padres de tipos de conectores USB, sendo que cada tipo de conector
compreende um plug e receptor. Inicialmente existiam apenas os conectores A e B, porm junto
com o lanamento da verso 2.0 do padro vieram tambm os conectores Mini-A e Mini-B.
Em janeiro de 2007 a USB-IF anunciou os conectores Micro-A e Micro-B que foram criados para
substiturem o uso dos conectores Mini-A e Mini-B em celulares, smartphones e PDAs, pois
possuem metade do peso dos Mini.
Alm dos conectores padro existem os de formato proprietrio como os usados no Xbox, em
celulares da HTC, da Nokia, no iPod e em diversas cmeras digitais. Portanto, alm de trazer uma
melhora de performance e segurana na instalao e remoo dos plugs, os conectores Micro
tambm vieram para trazer uma uniformidade nos plugs visando a interconectividade dos
dispositivos.

4.2.Cabos
O cabo no USB o barramento fsico utilizado para a comunicao entre o host e o hub (ou
perifrico). O cabo composto por quatro cabos menores nas verses standard do USB e por cinco
cabos nas verses Micro e Mini, j que como possvel ver nas imagens acima, os conectores Mini
e Micro contm um pino a mais que os outros conectores.

Verso standard:
Verses Mini e Micro:

1. VCC; 2. D-; 3. D+; 4.GDN


1. VCC; 2. D-; 3. D+; 4. ID; 5. GDN

VCC (Vermelho):
D- (Branco):
D+ (Verde):
GDN (Preto):
ID:

Fornece a alimentao, +5V


Troca de dados entre os dispositivos
Troca de dados entre os dispositivos
Pino de energia negativa, 0V
Possibilita a identificao do tipo do conector

Os cabos de dados, D+ e D-, so um par tranado, desse modo reduzem o rudo e interferncia
possvel entre eles. Alm disso, os sinais so codificados com a codificao NRZI (No Return to
Zero Inverted) em que possvel representar o bit 1 de duas maneiras e o bit 0 de uma maneira.
O tempo de reconhecimento de atrasos do protocolo de 1500ns no mximo, considerando todos os
atrasos excedentes (resposta do dispositivo, hubs e transferncia nos cabos), teremos um limite de
atraso equivalente a 26ns por cabo. Como a velocidade dos cabos de cobre usados para dados chega
implicar num atraso em torno 5,2ns por metro, um cabo USB pode ter no mximo 5 metros.

5. Conexo
Uma arquitetura dita USB HOST constituda de um Hospedeiro (Host) e um ou mais dispositivos
USB ligados a esse. A organizao desse sistema USB HOST composta atravs de camadas, em
vrios nveis, de Hardware e Softwares. Podemos dividir essas camadas em:

Conforme o esquema indica, para fazer acesso ao dispositivo USB o aplicativo deve,
primeiramente, chamar funes API. A API (Application Programming Interface) um conjunto de
padres e rotinas estabelicidos por um software para serem posteriormente usados sem envolver-se
com detalhes da implementao do sofwtare, apenas usar seus servios.

Logo em seguida, a API deve chamar as rotinas do Driver Cliente do perifrico USB instalado. Este
driver a interface que traduz os comandos da API para comandos USB. O Driver Cliente
geralmente parte do sistema operacional ou vem instalvel com o dispositivo USB.
Na terceira camada de Software indicada o driver USB (USBD), que torna o acessa ao
Controlador Host mais amigvel, definindo um grupo de rotinas a serem chamadas pelo Driver
Cliente.
A camada seguinte o driver do controlador HOST (HCD), que funciona a nvel de Kernel do
Sistema Operacional. O HCD prov o nvel de Software entre o Hardware do controlador HOST e o
USBD. a interface de Software que realiza os acesso I/O para a operao do dispositivo USB.
O esquema apresenta tambm duas camadas de hardware.
A primeira delas o Controlador HOST (HC), que o circuito onde sero feitas as conexes de
todos os dispositivos USB. Tal circuito executa eletronicamente os comandos programadas pelo
HCD e deixa disponvel os dados trafegados via USB. Sua operao gerenciada pelo HCD.
A ltima dessas camadas constituda pelo conjunto de dispositivos USB conectados, que so os
perifricos, propriamente ditos, que usam esse tipo de barramento.
A poderosa caracterstica do USB de conectar-se um novo dispositivo durante a execuo do
aplicativo pode ser ilustrada facilmente, como no esquema a seguir:

6. Comunicao
A Comunicao Serial entre o Host e o Perifrico feita atravs dos sinais (D+) e (D-). A
especificao define 3 estados lgicos.

Um barramento ocioso (idle) se encontra no estado J, enquanto um barramento inativo


(dispositivo desconectado) se encontra no estado SE0.
Para a transformao de J's e K's em 1's
e 0's utilizada a codificao NRZI (Non Return to Zero Invert) onde, se os estados (D+) e (D-)
estiverem invertidos transmitido um bit 0. Se, do contrrio, forem mantidos, o bit 1 que ser ento
transmitido. Essa mudana pode ser melhor entendida atravs da mquina de estados definida
abaixo:

Como exemplo, temos a sequncia de sincronismo: KJKJKJKK =>00000001


Para evitar que o barramento no permanea no estado J por muito tempo foi criado na
especificao USB o bit redundante. A cada seis bits 1's transmitido um bit zero de forma
redundante
(tambm
conhecido
como
bit
tolo
ou
stuff).
A comunicao USB feita mediante a transao de pacotes entre os terminais conectados,
tendo no mnimo trs campos: sincronismo (SYNC), identificador (PID) e fim do pacote. Cada
pacote se inicia com uma sequncia de sincronizao de 8 bits (SYNC), que corresponde
sequncia de estados KJKJKJKK (00000001 ). Antes da transmisso desse pacote, o cabo e a
interface
esto
no
estado
idle
(estado-J).
Em seguida feita a trasmisso do PID, tambm de 8 bits. Os 4 primeiro bits definem o tipo
do pacote. Logo aps existe um campo opcional, usado na transmisso de determinados tipos de
pacote. Caso sejam transmitidos dois estados SE0 consecutivos, o barramento considerado ocioso.
Se o host mantiver trs estados SE0 consecutivos, ento o perifrico ser considerado
desconectado.
in c io d a c o m u n ic a o (S O P - S ta rt O f P a c k a g e )

c o m u n ic a o e m a tiv id a d e

D+

D-

...
J

SY N C
U SB
o c io s o

J
P ID

K
o p c io n a l

SE0

f im
U SB
o c io s o

6.1.Tipos de pacote
Identificadores definem a finalidade, e portanto o formato e contedos dos pacotes, que so
agrupados em 3 categorias: Token, Data e Handshake.
- Tipo Token (In, Out , Setup): Esses pacotes tem a finalidade de decidir quais sero os
dispositivos alvos da prxima transao. O Token In informa o USB que o Host deseja ler
informaes. O Token Out informa que o Host que enviar informaes. J o Token Setup utilizado
para iniciar trasferncias de controle.

- Tipo Data (DATA0, DATA1): Esses pacotes so os responsveis por carregar a informao
propriamente dita, respeitando para isso o fluxo de dados definido pelo ltimo Token.
- Tipo Handshake (ACK, NAK, STALL): Os pacotes desse tipo so os mais simples, possuindo
apenas os campos obrigatrios de um pacote de transmisso USB (SYNC, PID e fim). Seu fluxo
sempre o inverso do fluxo definido pelo ltimo Token, pois os pacotes Handshake tem a finalidade
de avisar a quem enviou os dados sobre a situao do recebimento. O pacote ACK informa que o
pacote foi recebido com sucesso. O pacote NAK informa que o dispositivo est temporariamente
indisponvel para enviar ou receber dados. Um pacote STALL ocorre quando o receptor detecta
erros de comunicao.
- SOF (Start of Frame): Esse pacote transmitido pela raiz a uma taxa de 1000 pacotes/segundo,
tendo como finalidade manter atividade no barramento USB.

6.2.Tipos de transao
O USB possui trs modos de operao: Interrupt (Interrupo), Bulk (Grandes Volumes) e
Isochronous (Isocrnico).
O Interrupt um modo de alta prioridade, na qual reservado parte da banda
disponvel para dispositivos de entrada, como teclados e mouses, mantendo assim, sempre um canal
descongestionado.
O modo Isochronous destinado a transmitir uma quantidade relativamente pequena de dados que
necessitam de certa prioridade. Caixas de som com conexo USB so um bom exemplo de
utilizao desse modo.
No modo Bulk so trafegados grandes pacotes de dados e com baixa prioridade.
Um exemplo de utilizao so os discos rgidos externo. A banda disponvel para esse modo a
banda restante dos canais dos outros dois modos, pois os anteriores tem preferncia.

7. Energia pelo USB


Uma caracterstica importante e interessante do USB, que sua interface permite que o dispositivo
conectado seja alimentado pelo cabo de dados, ou seja, no necessrio ter um outro cabo para
ligar o aparelho tomada. Mas, isso s possvel com equipamentos que consomem pouca energia.
O USB fornece 5V para o aparelho conectado. Os valores variam entre 5,25V e 4,75V, ou seja, 5V
5%. Inicialmente o dispositivo tem at 100mA, porm pode aumentar a corrente at 500mA.
Com os novos usos do padro USB, como conexo entre dois dispositivos sem computador,
e recarga de baterias, surgiram novas especificaes de tenses, que permitem correntes de at 1,5A
ou at mesmo 1,8A para carregadores de baterias.
Vrios dispositivos USB requerem mais energia do que o permitido pelas especificaes. Isso
muito comum em discos rgidos externos. Esses dispositivos podem usar uma fonte de energia
externa, ou usar dois cabos USB, um cabo para dados e energia, e outro apenas para energia.
Quando utilizado apenas como fonte de energia, o USB pode aumentar significativamente a
corrente fornecida, porm como no segue a especificao do padro, podendo danificar o
computador.
Para esses dispositivos que necessitam de mais energia h tambm o Powered USB, que
permite maior fornecimento de energia que o padro USB normal, permitindo assim que esses
dispositivos no necessitem de fontes externas. Powered USB usa um tipo diferente de conector do
USB padro, mas mantm a interface USB para dados adicionando um segundo conector para

energia. O padro permite 3 diferentes tenses: 5V (30W), 12V (72W), e 24V (144W). As trs
tenses podem operar em at 6A.
Com a popularizao do USB, surgiram muitos dispositivos que usam conectores USB somente
para energia, como ventiladores, abajures e os mais diversos aparelhos, que so conhecidos como
decorao USB.

8. Tabela de classe dos dispositivos


Tabela1.Classedosdispositivos
Classe

Uso

Descrio

Alguns exemplos

00h

Dispositivo

Sem especificao

(Descritor do dispositivo)

01h

Interface

udio

Caixa de som, microfone

02h

Ambos

Comunicao e Controle CDC

Modem, Placa de rede

03h

Interface

Dispositivo de Interface Humana (HID)

Teclado, Mouse, Joystick

05h

Interface

Dispositivo de Interface Fsica (PID)

Force feedback joystick

06h

Interface

Imagem

Cmera digital

07h

Interface

Impressora

Impressora laser

08h

Interface

Armazenamento em massa

Pen Drive, MP3 player, Celular

09h

Dispositivo

Hub USB

Hi-speed hub

0Ah

Interface

Dados CDC

(Conjunto com a classe 02h)

0Bh

Interface

Smart Card

Leitor Smart Card

0Dh

Interface

Segurana de contedo

0Eh

Interface

Vdeo

Webcam

0Fh

Interface

Cuidados pessoais e sade

DCh

Ambos

Servio de diagnstico

E0h

Interface

Controlador Sem-fio

Adaptador wi-fi ou bluetooth

EFh

Ambos

Outros

Dispositivo ActiveSync

FEh

Interface

Especfico da aplicao

Bridge IrDA

FFh

Ambos

Especfico do fabricante

(Driver especfico do fabricante)

9. Concluso
Como se costuma popularmente dizer, o USB realmente veio para ficar. Aps se popularizar
rapidamente, graas ao seu extenso suporte por parte das grandes empresas que o idealizaram (o que
acelerou seu barateamento e penetrao no mercado) e sua excelente especificao. Mesmo sendo
uma tecnologia relativamente nova, o USB j usado em larga escala e vem sendo aprimorado
constantemente para novos suportes de transmisso de dados. Verstil, flexvel, simples de usar e
completamente transparente ao usurio, o USB uma tecnologia que agrada e facilita cada vez mais
a usurios domstivos e empresariais.

10. Referncias
[1] http://www.usb.org (USB.org) (19/10/08)
[2] http://informatica.hsw.uol.com.br/portas-usb1.htm (How Stuff Works Brasil) (22/10/08)

[3] http://www.pads.ufrj.br/~rapoport/usb/ (Rapoport, Eduardo; Moraes, Igor; Bicudo,


Marco; Tavares, Pedro Um estudo de alunos da UFRJ) (22/10/08)
[4] http://www.infowester.com/usb20.php (InfoWester USB 2.0) (23/10/08)
[5] http://en.wikipedia.org/wiki/USB (Artigo da Wikipedia sobre USB) (23/10/08)
[6] http://commons.wikimedia.org/wiki/Category:USB_diagrams (Wikimedia Imagens dos
conectores) (30/10/08)
[7] http://en.wikipedia.org/wiki/Wireless_USB (Artigo da Wikipedia sobre WUSB) (30/10/08)
[8] http://www.clubedohardware.com.br/printpage/869 (USB Estrutura de Software)
(01/11/08)
[9] Ricardo Zelenovsky, Alexandre Mendonca. PC: Um guia prtico de Hardware e
Interfaceamento, MZ Editora, (2002).
[10] Peacock, Craig - USB in a NutShell, BeyondLogic, 2006.

Você também pode gostar