Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Endpoints e Pipes no Protocolo USB: Tipos e Funcionalidades, Slides de Máquina Hidráulica

Saiba mais sobre endpoints e pipes no protocolo usb, seus tipos, funcionalidades e importância na comunicação entre dispositivos e software no host. Aprenda a diferenciar endpoints unidirecionais e bidirecionais, stream e mensagem/controle, e como eles funcionam juntos para estabelecer a comunicação usb.

Tipologia: Slides

2021

Compartilhado em 25/08/2021

maycon-c-rusher
maycon-c-rusher 🇧🇷

4 documentos

1 / 11

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
C ROGER OM Curso USB – www.rogercom.com
Aula 05Módulo-USB / Página 34
Protocolo USB
Endpoints e Pipes (interface lógica)
Endpoint (ponto final de um dispositivo) - Área de memória (Buffer) reservada no
Dispositivo para armazenar os dados que trafegam em um tubo (pipe).
Um dispositivo USB pode ter no máximo 16 Endpoins na versão 2.0 do USB. O
Endpoint 0 (zero) é reservado para o Host obter informações sobre cada dispositivo
conectado ao Bus USB. Através deste Endpoint, o Host pode enviar comandos de
controle em baixa velocidade para obter informações descritivas sobre o dispositivo,
como: número de série, fabricante, classe, subclasse, versão do Bus USB, nome do
produto, tipo do protocolo, números de Endpoints, interfaces, velocidade, tipo de
transferência, entre outras. Após a aquisição de todas estas informações sobre o
dispositivo, o Host estabelece realmente uma comunicação USB.
Figura 1 - Tipos de Endpoints
Pipe (tubo) - É uma associação entre um Endpoint no dispositivo e um software no
Host. Pipe não é algo físico, é uma via de comunicação virtual que só existe em nível
de software. Quando um dispositivo USB se conecta ao sistema, o Host cria uma
configuração para se comunicação com o dispositivo. Um Pipe pode ser descrito
também como uma via de comunicação unidirecional ou bidirecional, onde podem
existir Endpoints de entrada(In) e saída (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
padrão (Control Default) para que esse dispositivo possa fornecer acesso as
configurações, como, informações de controle e estado do mesmo.
Figura 2 - Ilustração de um Pipe entre o Host e o dispositivo
pf3
pf4
pf5
pf8
pf9
pfa

Pré-visualização parcial do texto

Baixe Endpoints e Pipes no Protocolo USB: Tipos e Funcionalidades e outras Slides em PDF para Máquina Hidráulica, somente na Docsity!

Protocolo USB

Endpoints e Pipes (interface lógica)

Endpoint (ponto final de um dispositivo) - Área de memória (Buffer) reservada no Dispositivo para armazenar os dados que trafegam em um tubo (pipe).

Um dispositivo USB pode ter no máximo 16 Endpoins na versão 2.0 do USB. O Endpoint 0 (zero) é reservado para o Host obter informações sobre cada dispositivo conectado ao Bus USB. Através deste Endpoint, o Host pode enviar comandos de controle em baixa velocidade para obter informações descritivas sobre o dispositivo, como: número de série, fabricante, classe, subclasse, versão do Bus USB, nome do produto, tipo do protocolo, números de Endpoints, interfaces, velocidade, tipo de transferência, entre outras. Após a aquisição de todas estas informações sobre o dispositivo, o Host estabelece realmente uma comunicação USB.

Figura 1 - Tipos de Endpoints

Pipe (tubo) - É uma associação entre um Endpoint no dispositivo e um software no Host. Pipe não é algo físico, é uma via de comunicação virtual que só existe em nível de software. Quando um dispositivo USB se conecta ao sistema, o Host cria uma configuração para se comunicação com o dispositivo. Um Pipe pode ser descrito também como uma via de comunicação unidirecional ou bidirecional, onde podem existir Endpoints de entrada(In) e saída (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 padrão ( Control Default ) para que esse dispositivo possa fornecer acesso as configurações, como, informações de controle e estado do mesmo.

Figura 2 - Ilustração de um Pipe entre o Host e o dispositivo

Figura 3 - Interface lógica entre o Host e os diversos dispositivos USB através dos Pipes e Endpoints

Há dois tipos de Pipes:

  • Stream (corrente de dados) - É uma via de comunicação unidirecional entre um softwares no Host e um Endpoint que pode ser dos tipos: Interrupção , Isossíncrono 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 saída(Out), e outro com Endpoint de entrada(In).

Figura 4 - Pipe Stream Out

Figura 5 -Pipe Stream In

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 botão 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 existência do sistema USB no PC

  • Descritores de Dispositivos - Informam ao Host de uma forma geral, características sobre o dispositivo. Um dispositivo USB só pode ter um Descritor de Dispositivo. Estas informações são muito importantes para o Host saber qual a versão do USB, o dispositivo suporta. Um dos descritores são: identificação do fabricante, número de série, ID do Vendedor e produto, classe e subclasse do dispositivo.

Para visualizar os descritores de um dispositivo USB, faça download do programa USB Monitor da HHD Softwares em:

http://www.hhdsoftware.com/download.html.

A Microsoft também disponibiliza um utilitário 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 não faz a atualização 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.

USB Version: 2.0 (dispositivo compatível com a versão 2.0 do USB) Vendor: 0x0500 (código do vendedor do produto ou dispositivo) Product ID: 0x2000 (identificação do produto ou dispositivo) Product Version : 0x0400 (versão 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" (número de série do produto ou dispositivo)

Figura 12 - Exibição do Descritor de Dispositivo através do software USB Monitor

No Descritor de Dispositivo mostrado na figura acima, observe os campos principais:

Os dados acima são gravados na memória opcional Flash 93C46 para personalizar o produto (dispositivo).

O campo SerialNumber é gerado automaticamente por um algoritmo, através do programa gravador de memória Flash.

São através dos campos acima que o driver USB do Sistema Operacional carrega os drivers USB do dispositivo corretamente, após a leitura de um arquivo

. INF. Em aulas futuras iremos entender todo o processo de configuração do arquivo . INF. - Descritores de Configuração - Contém informações sobre as capacidades e funcionalidades do dispositivo, como tipo de alimentação de energia (Bus- powered ou Self-powered), máxima corrente consumida pelo dispositivo, entre outras.

Veja na figura abaixo, algumas informações sobre o Descritor de configuração de um dispositivo:

Figura 13 - Exibição do Descritor de Configuração através do software USB Monitor

Veja no campo Attributes da figura acima, o tipo de alimentação do dispositivo: Bus Powered, e no campo Max Power , a corrente máxima extraída do Bus USB pelo dispositivo: 400mA.

  • Descritores de Interface - Contém informações sobre o número de Endpoint que suporta, o protocolo utilizado e, algumas strings de texto especificando o nome do produto. Veja mais detalhes na figura abaixo:
  • 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 Símbolo Classe Descrição

1 Áudio

Dispositivos de comunicação.

Dispositivos de Interfaces humanas: Mouse, Teclados, Joysticks, leitor código de barras, etc.

6 Imagem: Scanner, câmera. 7 Impressoras.

Amazenamento de massa: Floppy disk driver, CD-ROM, DVD, ATAPI, SCSI, memória flash. 9 Hub.

10 Interface de Dados.

11 Chip/Smart card.

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

Processo de enumeração

No sistema USB o processo de enumeração se refere à conexão, detecção, leitura dos descritivos dos dispositivos e desconexão. É uma atividade ininterrupta. Isso tudo é gerenciado em tempo real pelo controlador Host e o software do sistema. Do ponto de vista do usuário do computador, o processo de enumeração é transparente, desde que se tenha antes instalado no sistema operacional, os drives do fabricante do dispositivo. Após isso, o carregamento dos drives quando um dispositivo é conectado, é automático.

ROGER OM – Curso USB – www.rogercom.com C

Segue abaixo uma seqüência de passos que ocorrem no processo de enumeração:

Figura 16 - Conexão do dispositivo

Figura 17 - Conexão do dispositivo ao Host

  1. O dispositivo é conectado ao Host;
  2. O controlador Host detecta o dispositivo através de seu sinal elétrico;
  3. O Host provoca uma interrupção de Reset para que o dispositivo reinicie, limpando as variáveis e registros para que se possa iniciar a enumeração;
  4. O Host define um canal (Pipe) de comunicação com o dispositivo;
  5. O Host habilita e configura o Endpoit 0 (In/Out) para aceitar transações do tipo Setup;
  6. O Host atribui um único endereço ao Dispositivo;
  7. O Host requisita os Descritores do Dispositivo, interpreta-os, e carrega o device driver (software) apropriado que irá interagir com a aplicação do cliente.

Pronto, após todos os passos descritos acima terem sido efetuados, é estabelecida a fase de gerenciamento do dispositivo e das comunicações de dados. Após isso, o dispositivo estará apto a exercer sua função para ao qual foi criado.