Você está na página 1de 0

C ROGER OM Curso USB www.rogercom.

com

Aula 05 Mdulo-USB / Pgina 34

Protocolo USB
Endpoints e Pipes (interface lgica)

Endpoint (ponto final de um dispositivo) - rea de memria (Buffer) reservada no
Dispositivo para armazenar os dados que trafegam em um tubo (pipe).
Um dispositivo USB pode ter no mximo 16 Endpoins na verso 2.0 do USB. O
Endpoint 0 (zero) reservado para o Host obter informaes sobre cada dispositivo
conectado ao Bus USB. Atravs deste Endpoint, o Host pode enviar comandos de
controle em baixa velocidade para obter informaes descritivas sobre o dispositivo,
como: nmero de srie, fabricante, classe, subclasse, verso do Bus USB, nome do
produto, tipo do protocolo, nmeros de Endpoints, interfaces, velocidade, tipo de
transferncia, entre outras. Aps a aquisio de todas estas informaes sobre o
dispositivo, o Host estabelece realmente uma comunicao USB.
Figura 1 - Tipos de Endpoints

Pipe (tubo) - uma associao entre um Endpoint no dispositivo e um software no
Host. Pipe no algo fsico, uma via de comunicao virtual que s existe em nvel
de software. Quando um dispositivo USB se conecta ao sistema, o Host cria uma
configurao para se comunicao com o dispositivo. Um Pipe pode ser descrito
tambm como uma via de comunicao unidirecional ou bidirecional, onde podem
existir Endpoints de entrada(In) e sada (Out). Os Pipes passam a existir quando um
dispositivo configurado pelo Host. Enquanto um dispositivo estiver sendo
alimentado e conectado ao controlador Host, sempre existir um Pipe de controle
padro (Control Default) para que esse dispositivo possa fornecer acesso as
configuraes, como, informaes de controle e estado do mesmo.

Figura 2 - Ilustrao de um Pipe entre o Host e o dispositivo

C ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 35
Figura 3 - Interface lgica entre o Host e os diversos dispositivos USB
atravs dos Pipes e Endpoints



H dois tipos de Pipes:
Stream (corrente de dados) - uma via de comunicao unidirecional entre
um softwares no Host e um Endpoint que pode ser dos tipos: Interrupo,
Isossncrono ou Bulk. Se um dispositivo precisar transferir de forma
bidirecional um dos tipos de Endpoint citados acima, o sistema deve
estabelecer dois Pipes: um definido com Endipoint de sada(Out), e outro com
Endpoint de entrada(In).
Figura 4 - Pipe Stream Out

Figura 5 -Pipe Stream In

C ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 36
Mensagem ou controle - uma via de comunicao bidirecional entre um
softwares no Host e dois Endpoints de Controle (control) em um dispositivo
USB. Ou seja, um tubo com dois Endipoints: um de entrada (In) e outro de
sada (Out) que tem uma estrutura de dados bem definida. atravs de um
Pipe deste que o Host usa o Endpoint 0, para obter os descritivos dos
dispositivos para configur-los no sistema USB.
Figura 6 - Pepe de Mensagem ou Controle


Descritores
Todos os dispositivos USB tm uma hierarquia de descritores que informam ao
Host o que o dispositivo , ou seja, sua "personalidade", suas caractersticas de
funcionamento, como; nmero de srie do produto, identificao do fabricante, tipo
do dispositivo (impressora, scanner, modem, mouse, etc.), nmero de configuraes,
nmero de Endpoint, tipo de transferncia, tipo de interface, etc.
Animao - Envio dos descritores pelo dispositivo


C ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 37
Figura 7 - Janela do Gerenciador de Dispositivos do Windows

No windows, para executar o Gerenciador de Dispositivos, acesse o Painel de
Controle; d duplo clique no cone Sistema; Clique na guia Hardware e depois no
boto Gerenciador de Dispositivos.
O programa Usbready.exe (de uso livre) criado pela Intel para testar se um
computador oferece suporte USB; pode-se fazer seu download clicando aqui.
Figura 8 - Janela do programa USBready para checar a existncia do sistema USB no PC


C ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 38
Descritores de Dispositivos - Informam ao Host de uma forma geral,
caractersticas sobre o dispositivo. Um dispositivo USB s pode ter um
Descritor de Dispositivo. Estas informaes so muito importantes para o
Host saber qual a verso do USB, o dispositivo suporta. Um dos descritores
so: identificao do fabricante, nmero de srie, ID do Vendedor e produto,
classe e subclasse do dispositivo.

Para visualizar os descritores de um dispositivo USB, faa download do
programa USB Monitor da HHD Softwares em:
http://www.hhdsoftware.com/download.html.
A Microsoft tambm disponibiliza um utilitrio free (de uso livre), chamado
Usbview.exe para visualizar os descritores. Clique aqui para fazer download.
Figura 9 - Tela inicial do programa USB Monitor

Um dos inconvenientes do programa USB Monitor, que ele no faz a
atualizao dos dados automaticamente. Se for conectar um novo dispositivo,
preciso fechar o programa e execut-lo novamente, para que os novos dados sejam
exibidos na janela.
C ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 39
Figura 10 - Tela inicial do programa USBview da Microsoft

Para que o programa USBview exiba todos os descritores dos dispositivos
conectados ao Bus USB, clique no Menu Options, e marque todos os itens,
conforme mostra a figura abaixo:
Figura 11 - Menu Options do USBview

ROGERC


USB Version: 2.0 (dispositivo compatvel com a verso 2.0 do USB)


Vendor: 0x0500 (cdigo do vendedor do produto ou dispositivo)


Product ID: 0x2000 (identificao do produto ou dispositivo)


Product Version : 0x0400 (verso do produto ou dispositivo)


Manufacturer: 0x0409 "ROGERCOM" (fabricante do produto ou dispositivo)


Product: 0x0409 "Sensor de Temperatura" (nome do produto ou dispositivo)


SerialNumber: 0x0409 "RCNPMGL5" (nmero de srie do produto ou dispositivo)
OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 40
Figura 12 - Exibio do Descritor de Dispositivo atravs do software USB Monitor

No Descritor de Dispositivo mostrado na figura acima, observe os campos
principais:
Os dados acima so gravados na memria opcional Flash 93C46 para
personalizar o produto (dispositivo).
O campo SerialNumber gerado automaticamente por um algoritmo, atravs do
programa gravador de memria Flash.
So atravs dos campos acima que o driver USB do Sistema Operacional
carrega os drivers USB do dispositivo corretamente, aps a leitura de um arquivo
C ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 41
.INF. Em aulas futuras iremos entender todo o processo de configurao do arquivo
.INF.
Descritores de Configurao - Contm informaes sobre as capacidades e
funcionalidades do dispositivo, como tipo de alimentao de energia (Bus-
powered ou Self-powered), mxima corrente consumida pelo dispositivo, entre
outras.

Veja na figura abaixo, algumas informaes sobre o Descritor de
configurao de um dispositivo:

Figura 13 - Exibio do Descritor de Configurao atravs do software USB Monitor

Veja no campo Attributes da figura acima, o tipo de alimentao do
dispositivo: Bus Powered, e no campo Max Power, a corrente mxima
extrada do Bus USB pelo dispositivo: 400mA.
Descritores de Interface - Contm informaes sobre o nmero de Endpoint
que suporta, o protocolo utilizado e, algumas strings de texto especificando o
nome do produto. Veja mais detalhes na figura abaixo:
C ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 42
Figura 14 - Exibio do Descritor de Interface atravs do software USB Monitor

Descritores de Endpoint - O sistema sempre assume que o Endpoint 0
(zero) um endpoint de controle e, configurado antes de qualquer descritor.
Fora o Endpoint 0, cada endpoint deve ser configurado e consiste no nmero
do Endpoint, direo da comunicao (In, Out) e tamanho do pacote de dados
a transmitir.
A figura abaixo mostra um descritivo de 2 Endpoint: um de entrada (Input) e
outro de sada (Output), do tipo Bulk (alto volume de dados).

Figura 15 - Exibio do Descritor de Endpoint atravs do software USB Monitor


Veja na figura acima os endereos de Endpoint In/Out, o tipo de transferncia e
o tamanho mximo do pacote de dados. Esses descritores so de um dispositivo
que trabalha no modo Full-speed.
C ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 43
Descritores de Classe - Determinam a classe do dispositivo. No sistema
USB cada dispositivo identificado como sendo de uma classe. Veja abaixo
na Tabela 1:
Tabela 1 - Classe de dispositivos USB
Smbolo Classe Descrio

1 udio

2
Dispositivos de
comunicao.

3
Dispositivos de Interfaces
humanas: Mouse,
Teclados, Joysticks, leitor
cdigo de barras, etc.

6
Imagem: Scanner,
cmera.

7 Impressoras.


8
Amazenamento de
massa: Floppy disk
driver, CD-ROM, DVD,
ATAPI, SCSI, memria
flash.

9 Hub.

10 Interface de Dados.

11 Chip/Smart card.

255
Vendor-Specific:
dispositivos que no
entram em qualquer outra
classe.
Interface Serial RS232,
Rede ponto-a-ponto, etc.

Processo de enumerao
No sistema USB o processo de enumerao se refere conexo, deteco,
leitura dos descritivos dos dispositivos e desconexo. uma atividade ininterrupta.
Isso tudo gerenciado em tempo real pelo controlador Host e o software do sistema.
Do ponto de vista do usurio do computador, o processo de enumerao
transparente, desde que se tenha antes instalado no sistema operacional, os drives
do fabricante do dispositivo. Aps isso, o carregamento dos drives quando um
dispositivo conectado, automtico.
ROGER OM Curso USB www.rogercom.com

Aula 05 Mdulo-USB / Pgina 44
C
Segue abaixo uma seqncia de passos que ocorrem no processo de
enumerao:
Figura 16 - Conexo do dispositivo

Figura 17 - Conexo do dispositivo ao Host

1. O dispositivo conectado ao Host;
2. O controlador Host detecta o dispositivo atravs de seu sinal eltrico;
3. O Host provoca uma interrupo de Reset para que o dispositivo reinicie,
limpando as variveis e registros para que se possa iniciar a enumerao;
4. O Host define um canal (Pipe) de comunicao com o dispositivo;
5. O Host habilita e configura o Endpoit 0 (In/Out) para aceitar transaes do tipo
Setup;
6. O Host atribui um nico endereo ao Dispositivo;
7. O Host requisita os Descritores do Dispositivo, interpreta-os, e carrega o
device driver (software) apropriado que ir interagir com a aplicao do
cliente.
Pronto, aps todos os passos descritos acima terem sido efetuados,
estabelecida a fase de gerenciamento do dispositivo e das comunicaes de dados.
Aps isso, o dispositivo estar apto a exercer sua funo para ao qual foi criado.

Você também pode gostar