• Nenhum resultado encontrado

Seminários S2i. Barramento USB. Teoria e Projetos. Guilherme Francisco Mallmann

N/A
N/A
Protected

Academic year: 2021

Share "Seminários S2i. Barramento USB. Teoria e Projetos. Guilherme Francisco Mallmann"

Copied!
26
0
0

Texto

(1)

Seminários S

2

i

Barramento USB

Teoria e Projetos

(2)

Apanhado Geral

USB = Universal Serial Bus;

4 vias de comunicação;

Vias:

Vbus (+5V) – Vermelho;

D- – Branco;

D+ – Verde;

GND (referência) - Preto;

Plug-and-Play;

(3)

Comunicação do barramento USB

Aplicativo

API

Driver Cliente

Driver USB

Driver Controlador

Host

Controlador Host

Dispositivos USB

Software Hardware

(4)

Envio de Dados

PID

Nome

Tipo

0101

SOF

token

1101

SETUP

1001

IN

0001

OUT

0011

DATA0

data

1011

DATA1

0010

ACK

handshake

1010

NAK

1110

STALL

(5)

Envio de Dados

SOF – Start of Frame;

Sync

PID

contador de SOFS

crc5 . fim .

SETUP, IN, OUT;

8 bits 7 bits 4 bits 5 bits

Sync

PID

ADDR ENDP crc5 . fim .

DATA0, DATA1;

8 bits 0 a 1023 x 8 bits 16 bits

Sync

PID

dados de informação

crc16

. fim .

ACK, NACK, STALL;

8 bits

(6)

Envio de Dados

Transações:

Interrupt (Interrupção);

Bulk (Volumosa);

Isochronous;

Control;

(7)

Processo de Enumeração

O Processo de Enumeração é a designação

dada ao mecanismo de configuração das

funções e dispositivos conectados ao Host;

(8)

Passos do Processo de

Enumeração

1.

Dispositivo é conectado ao Host;

2.

O Host detecta eletricamente o Host;

3.

O Controlador Host requisita ao dispositivo que ele

reini-cie;

4.

O Host caracteriza um caminho de comunicação com o

dispositivo;

5.

O Host requisita o tamanho máximo do pipe (caminho

de comunicação) do dispositivo;

6.

O Host atribui um único endereço ao dispositivo;

7.

O Host requisita os descritores e carrega o device driver

apropriado;

(9)

Descritores

Descritor de

Dis-positivo:

Campo No. bytes

comprimento 1 tipo 1 versão USB 2 classe 1 subclasse 1 protocolo 1 tamanho EP0 1 ID fabricante 2 ID produto 2 versão 2 nome do fabricante 1 nome do produto 1 número serial 1 número de configurações 1

(10)

Descritores

Descritor de

Configuração:

Campo

No. bytes

comprimento

1

tipo

1

comprimento total

2

num. interfaces

1

índice de configuração

1

nome da configuração

1

atributos

1

carga máxima

1

Campo Atributos D7 D6 D5 D4 D3 D2 D1 D0

informa se o dispositivo tem alimentação própria. informa se o dispositivo necessita de alimentação fornecida pelo host

(11)

Descritores

Descritor de

Interface:

Campo

No. Bytes

comprimento

1

tipo

1

índice da interface

1

alternativo

1

endpoints

1

classe

1

subclasse

1

protocolo

1

nome da interface

1

(12)

Descritores

Descritor HID (Human Interface Devices):

Classe HID, driver com funções básicas de E/S, embutido

nos Sistemas Operacionais;

Campo No. de bytes

comprimento 1 tipo 1 versão HID 2 código do país 1 descritores restantes 1 relatório 1 tamanho relatório 2

(13)

Descritor

Descritor de Endpoint:

O Descritor de Endpoint tem por função informar o Host sobre

uma pipe (via de comunicação) específica, visto que podemos

configurar o dispositivo para possuir mais de um pipe.

Campo No. de bytes

comprimento 1 tipo 1 endereço do endpoint 1 atributos 1 tamanho máximo do pacote 2 intervalo de polling 1

(14)

Descritores

Descritor de endpoint:

D7 D6 D5

D4

D3 D2 D1 D0

reservados ENDP (1 a 15)

e iguais a 0 (0 é reservado)

0: endpoint para entrada de dados.

(15)

Descritores

Descritor de Endpoint:

D7 D6 D5 D4 D3 D2 D1 D0

reservados

e iguais a 0

Controle (control): 00

Isócrona (Isochronous): 01

Volumosa (bulk): 10

(16)
(17)

Projeto Módulo de Sinais

Requisitos:

Velocidade de comunicação entre: os sinais de entrada do

módulo para o PDA e do PDA para os sinais de Saída do

módulo;

Robustez na troca de dados;

Evitar que problemas de tensão na linha de produção afetem o

PDA;

Desenvolver uma API de fácil utilização para que os demais

módulos que a utilizarem não tenham problemas ao fazê-lo;

Identificação externa do status de funcionamento do

equipamento;

(18)

Projeto Utilizando barramento USB

Definir tipo de transação a ser utilizada;

Número de bytes enviados por transação;

Número de vias a serem utilizadas;

Entradas, Saídas, etc.

Versão da USB a ser utilizada (Velocidade);

Escolha do Chip que fará o controle USB;

Possibilidades:

Microcontroladores com o controlador embutido;

Controladores USB (Conversores);

(19)

Microcontrolador – PIC 16C765

Microntrolador com controlador USB

interno;

24 Mhz clock;

Instruções lentas;

Porta B e D (8 pinos);

Porta C (5 pinos), E (3 pinos), A (6 pinos);

Programas Exemplo ╔> mouse, etc.

(20)

Troca de Dados

Posição Função

byte 0 Estado dos 8 pinos de entrada

byte 1 Número de comandos recebidos do computador

byte 2 Número de mudanças dos pinos de entrada não processados pelo computados

byte 3 Estado do módulo de sinais Pacote de dados enviado ao computador

Posição Função

byte 0 Comando

byte 1 Parâmetro 1

byte 2 Parâmetro 2

byte 3 Parâmetro 3

(21)

API Módulo de Sinais

PxSigModulePing: esta função envia ao módulo de sinais um pacote

contendo o comando PING, que indica ao módulo de sinais que o software que o controla está em perfeito funcionamento;

PxSigModuleConfirmPortDChange: esta função envia ao módulo de sinais

um comando de confirmação de recebimento a respeito do último evento ou mudança ocorrida nos pinos de entrada de sinal da linha de produção;

PxSigModuleGetSinalModuleInformation: esta função retorna, através de

seus parâmetros, informações de configuração que estão contidas no módulo de sinais;

PxSigModuleSetMaxNumberOfCyclesWithoutCommands: esta função

configura no módulo de sinais o período máximo em que este deve receber os sinais PING provenientes do computador antes que este seja considerado sem comunicação;

(22)

API Módulo de Sinais

PxSigModuleInitializeSigModuleDevice: esta função lista quais são os

dispositivos USB conectados ao computador e verifica se algum deles é o módulo de sinais. Se encontrá-lo, este obtém do sistema operacional uma permissão para utilizá-lo. As demais funções desta biblioteca só podem ser executadas depois que o módulo de sinais for iniciado

PxSigModuleResetSigModuleDevice: esta função envia um comando ao módulo

de sinais ordenando que este tenha suas variáveis de controle zeradas;

PxSigModuleGetPortLevels: função utilizada para obter um byte completo

contento o estado da porta de entrada de sinais da linha de produção;

PxSigModuleGetPinLevel: esta função é usada para saber qual o estado de

qualquer pino das entradas do módulo de sinais separadamente;

PxSigModuleSetPinLevel: esta função é utilizada para definir qual o estado de

(23)

Resultados

Protótipo testado e aprovado;

API para Win 2000 testada e aprovada;

API para Win CE 3.0 em implementação

(fase final);

Teste com uma linha de produção (ainda

(24)

Agradecimentos

Finep/CNPq;

Pollux;

Lista de discussão USB.org;

UFSC / CTC / DAS;

(25)

Ponteiros Importantes

www.alanmacek.com

Alan Macek, site com exemplo de um projeto desenvolvido.

www.usb.org

Desenvolvedores USB

www.lvr.com

Jan Axelson, escritor do livro “USB Complete”, exemplo de

desenvolvimento de Driver para dispositivos USB.

http://www.rennes.supelec.fr/ren/fi/elec/docs/usb/travail.html

projeto desenvolvido utilizando USB em Rennes – França, com

enfase na construção do descritor de HID (Human Interface

Devices).

www.microchip.com

site do fabricante do pic 16C765 utilizado no projeto, contendo

(26)

Contato

gmall@das.ufsc.br

xirueel@hotmail.com

Referências

Documentos relacionados

da equipe gestora com os PDT e os professores dos cursos técnicos. Planejamento da área Linguagens e Códigos. Planejamento da área Ciências Humanas. Planejamento da área

O fortalecimento da escola pública requer a criação de uma cultura de participação para todos os seus segmentos, e a melhoria das condições efetivas para

[r]

O objetivo desse trabalho ´e a construc¸ ˜ao de um dispositivo embarcado que pode ser acoplado entre a fonte de alimentac¸ ˜ao e a carga de teste (monof ´asica) capaz de calcular

Oncag, Tuncer & Tosun (2005) Coca-Cola ® Sprite ® Saliva artificial Compósito não é referido no estudo 3 meses 3 vezes por dia durante 5 minutos Avaliar o efeito de

Essa revista é organizada pela Sociedade Brasileira de Planejamento Energético (SBPE) e por isso foram selecionados trabalhos que tinham como objetivo tratar a

Portanto, conclui-se que o princípio do centro da gravidade deve ser interpretado com cautela nas relações de trabalho marítimo, considerando a regra basilar de

The aim of this study was to determine the association between polymorphisms in the TNFA, IFNGR1, IL8, IL1B, MIF and IL1RN genes and risk of development of CD in a