A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Universal Serial Bus USB

Apresentações semelhantes


Apresentação em tema: "Universal Serial Bus USB"— Transcrição da apresentação:

1 Universal Serial Bus USB
Hardware Aluno: Frederico Ferlini Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia\Informática Seminário de Programação de Periféricos

2 Sumário Introdução Barramento Físico Comunicação Serial
Tipos de Pacotes Codificação CRC Tipos de Transações Processo de Enumeração Descritores USBN 9603 Referências

3 Introdução Comunicação serial: USB: lenta
número de portas limitadas por máquina USB: 480Mbps(FullSpeed) v2.0 – rápido suporta conexões mais lentas (ex.:1,5Mbps) permite até 127 periféricos conectados fiação e pinagem menos complexa plug and play hubs + functions = usb (Próximo Slide)

4 Introdução Controlador Host hub embutido ponte (hub raiz)
FSB da CPU, PCI ou PCMCIA funções e/ou hubs Estrutura de árvore

5 Barramento Físico Especificações técnicas:
cabo blindado(irradiações eletromagnéticas) 4 fios(Vbus,D+,D-,GND) até 5 metros impedância diferencial de 90Ω dois tipos e tamanhos padronizados Pino Sinal Cor 1 Vbus(+5V) Vermelho 2 D+ Branco 3 D- Verde 4 GND Preto

6 Esquema Físico de Conexão do Barramento
Barramento Físico Funcionamento: diferença de tensão entre D+ e D- (cancela o possível ruído) resistores R1(pull-down) e R2(pull-up) a posição do resistor R2 indica a velocidade de operação R2  D+ (12Mbps) | R2  D- (1,5Mbps) valores típicos : R1 = 15kΩ e R2 = 1,5kΩ Esquema Físico de Conexão do Barramento

7 Comunicação Serial Estados Lógicos barramento ocioso (“idle”) = J
D+ = Vbus x R2/(R1+R2) ; R1 >> R2 D- = GND pelo “pull-down” dispositivo desconectado = SE0 D+ e D- = GND pelos resistores de “pull-down” estado D+ D- J alto baixo K SE0

8 Comunicação Serial Codificação NRZI(Non Return to Zero Inverted)
transformação de J’s e K’s para 1’s e 0’s exemplos: seqüência de sincronismo: KJKJKJKK  seqüência de PID: KJJJKKKJ  bit redundante (“stuff”): evitar a permanência do estado J bit_extra = 0; desprezado na recepção a cada 6 bits 1’s J K mudança de estado bit =0 bit =1

9 Comunicação Serial (Pacotes)
Campos (no mín. 3): SYNC : sincronismo seqüência : KJKJKJKK PID : identificação do tipo do pacote primeiros estados : KJJJJKKK KJJJ  1011 = DATA1 os seguintes são opcionais: dados... até 1024 bytes Fim do pacote dois estados SE0 consecutivos barramento ocioso se ficar 3 períodos de relógio (12MHz), ou seja, 2,5us em SE0 o periférico é considerado desconectado fisicamente

10 Tipos de Pacotes 3 tipos(token, data, handshake)
subdivididos em até 15 subtipos (tabela) PID Nome Tipo 0101 SOF Token 1101 SETUP 1001 IN 0001 OUT 0011 DATA0 Data 1011 DATA1 0010 ACK Handshake 1010 NAK 1110 STALL ... RESERVED 9

11 Tipos de Pacotes Token SOF – Start Of Frame Setup, IN e OUT KJKJKJKK
1000 pacotes/segundo (um a cada 1ms) 11bits – até 2048 frames. Setup, IN e OUT IN – indica início de um ciclo de leitura OUT e Setup – indica início de um ciclo de escrita *Setup – não pode ser rejeitado; é sempre para ENDP0 ADDR – endereço do dispositivo (7bits - até 127) END – endereço do endpoint (subdispositivo) (4bits – até 16) KJKJKJKK SYNC 8 bits PID 11 bits contador de SOFs 5 bits CRC5 2xSE0 fim KJKJKJKK SYNC 8 bits PID 7 bits ADDR 5 bits CRC5 2xSE0 fim 4 bits ENDP

12 Tipos de Pacotes Data Handshake (sempre contrário ao fluxo dos dados)
DATA1 e DATA0 Após um token IN (upstream) ; da função para o hub Após um token OUT ou Setup (downstram); do hub para o função Handshake (sempre contrário ao fluxo dos dados) ACK, NAK e STALL ACK – último pacote do tipo data/token foi recebido com sucesso NAK – receptor ocupado/inapto STALL – erros de comunicação (ex.: endpoint inválido) KJKJKJKK SYNC 8 bits PID 0 a 1023 x 8 bits PAYLOAD 16 bits CRC16 2xSE0 fim KJKJKJKK SYNC 8 bits PID 2xSE0 fim

13 Codificação CRC CRC – Cyclic Redundancy Check
método de detecção de erro altamente eficiente implementado em HW (velocidade) fluxo: transmissor calcula o CRC dos dados e o envia receptor calcula CRC dos dados recebidos receptor compara o CRC recebido e calculado 99,9969% probabilidade de estar correto, se igual probabilidades de correção de erro: erro em um único bit: 100% dois bits errados: 100% número par de bits errados: 100% blocos de bits errados com tamanho inferior a 16bits: 100% blocos de bits errados com tamanho inferior a 17bits: 99,9969% outra condições de erros: 99,9984%

14 Tipos de Transações Transação: Tipos:
é a completa comunicação entre o host e o dispositivo, dentro de um quadro de 1ms Tipos: Interrupt(interrupção): transações rápidas e de pouca freqüência ex.: teclado, mouse... Bulk(volumosa): transações de grande volume de dados sem restrição de tempo ex.: impressoras, scanners...

15 Tipos de Transações Tipos: Isochronous(Isócrona): Control(Controle):
tolerância a erros (sem Handshake) transação mais rápida ex.: monitores, sistemas de áudio... Control(Controle): mais complexa ex.: processo de enumeração...

16 Processo de Enumeração
Designação: mecanismo de configuração que permite que host aprenda e se “adapte” as novas funções ou hubs conectados a ele Objetivo: atribuir identificadores aos dispositivos (endereços) receber as características de operação do periférico e de seu fabricante saber os tipos de transações que serão utilizados para este dispositivo

17 Processo de Enumeração
Basicamente: após o periférico ser conectada ao barramento e o hub ter informado o host temos: hub detecta a velocidade (Low/High) hub reseta o dispositivo host pede descritor (8bytes) host seta endereço host pede descritor completo (com o novo endereço) host pede o descritor de configuração host carrega o driver adequado host configura dispositivo de acordo com o driver host pede descritor da classe (HID) ...

18 Descritores (exemplo)
Dispositivo Configuração nº bytes Campo 1 comprimento tipo 2 versão USB índice da interface classe alternativo subclasse endpoints protocolo tamanho EP0 ID fabricante ID produto nome da interface versão nome fabricante nome do produto número serial número de config.

19 Descritores Outros possíveis descritores: de interface
quais e os tipos de interfaces que serão utilizados de HID (“Human Interface Descritpor”) só relacionado a protótipos específicos não é preciso desenvolver um device-driver classe embutida ao SO com funções de básicas de I/O HID de endpoint quais e como serão usados os endpoints

20 USBN 9603 Características: foi lançado em 2000
é a ponte oferecida pela National funcionamento controlado pela programação dos diversos registradores, mapeados internamente em memória acesso de forma convencional (CS, WR, RD) pode gerar interrupções ou requisições de DMA estados operacionais: operacional (configurado e pronto para uso) suspenso (sem atividade) acordado (detecção de atividade) apagado (USBN sem configuração)

21 USBN 9603 Diagrama de blocos

22 USBN 9603 Pinagem: XIN e XOUT : conexão de um cristal de 24MHz
CLKOUT: oferece um relógio de 4 a 12MHz, pode ser usado junto a um uC8051 Vcc, GND, D+ e D- : padrão USB CS, WR, RD: leitura e escrita dos registradores internos INTR, DRQ: interrupção e requisição DMA MODOx : modo do barramento (multiplex, ou não) D[7..0]: barramento de dados e/ou de endereços (multiplexado) ...

23 Referências PC: Um Guia Prático de Hardware e Interfaceamento USBN 9603 – Data Sheet Apresentação Ricardo Zelenovsky FIM Obrigado!

24 Lixo


Carregar ppt "Universal Serial Bus USB"

Apresentações semelhantes


Anúncios Google