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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— 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: –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 Estrutura de árvore Controlador Host ponte hub embutido (hub raiz) FSB da CPU, PCI ou PCMCIA funções e/ou hubs

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 PinoSinalCor 1Vbus(+5V)Vermelho 2D+Branco 3D-Verde 4GNDPreto

6 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 estadoD+D- Jaltobaixo K alto SE0baixo

8 Comunicação Serial Codificação NRZI(Non Return to Zero Inverted) –transformação de Js e Ks para 1s e 0s –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 1s JK 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) PIDNomeTipo 0101SOF Token 1101SETUP 1001IN 0001OUT 0011DATA0Data 1011DATA1 0010ACK Handshake 1010NAK 1110STALL...RESERVED... 9

11 Tipos de Pacotes Token –SOF – Start Of Frame 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 –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 2xSE0 fim KJKJKJKK SYNC 8 bits PID 0 a 1023 x 8 bits PAYLOAD 16 bits CRC16 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: é 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): 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) DispositivoConfiguração nº bytesCamponº bytes 1comprimento 1 1tipo 1 2versão USBíndice da interface1 1classealternativo1 1subclasseendpoints1 1protocoloclasse1 1tamanho EP0subclasse1 2ID fabricanteprotocolo1 2ID produtonome da interface1 2versão 1nome fabricante 1nome do produto 1número serial 1nú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 Hardware Aluno: Frederico Ferlini Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia\Informática Seminário."

Apresentações semelhantes


Anúncios Google