1 / 24

Universal Serial Bus USB

Universal Serial Bus USB. Hardware Aluno: Frederico Ferlini Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de EngenhariaInformática Seminário de Programação de Periféricos. Sumário. Introdução Barramento Físico Comunicação Serial Tipos de Pacotes Codificação CRC

Download Presentation

Universal Serial Bus USB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universal Serial BusUSB 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 Controlador Host hub embutido (hub raiz) ponte • Estrutura de árvore 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

  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”

  8. Comunicação Serial J mudança de estado bit =0 K bit =1 bit =1 • 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  10000001 • seqüência de PID: KJJJKKKJ  10110110 • bit redundante (“stuff”): • evitar a permanência do estado J • bit_extra = 0; desprezado na recepção • a cada 6 bits 1’s

  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) 9

  11. Tipos de Pacotes KJKJKJKK SYNC 8 bits PID 11 bits contador de SOFs 5 bits CRC5 2xSE0 fim KJKJKJKK SYNC 8 bits PID 7 bits ADDR 4 bits ENDP 5 bits CRC5 2xSE0 fim • 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)

  12. Tipos de Pacotes KJKJKJKK SYNC 8 bits PID 2xSE0 fim KJKJKJKK SYNC 8 bits PID 0 a 1023 x 8 bits PAYLOAD 16 bits CRC16 2xSE0 fim • 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)

  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)

  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 • www.usb.org • Apresentação Ricardo Zelenovsky • http://www.bpiropo.com.br/tt20060706.htm • http://www.infowester.com/usb20.php FIM Obrigado!

  24. Lixo

More Related