Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 1 Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 2 USB • Voltado a periféricos conectados fora do computador, eliminando a necessidade de abrir o computador para instalar placas além de ajustes de IRQs, DMAs e endereços. • USB atende a especificação Microsoft Plug and Play (PnP), permitindo a instalação e troca de dispositivos sem longos procedimentos de instalação e reboots. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 3 USB Universal Serial Bus USBUSB Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 4 USB Basicamente a tecnologia USB pode ser subdividida em três partes: ã Host ã Hub ã Função (Function). Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 5 Rede USB 5m5m 5m5m 5m5m 5m5m 5m5m HostHost HubHub Dispositivo USBDispositivo USB (function)(function) Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 6 USB - Elemento Host Host é o ponto central para todas as conexões da tecnologia USB. Serve como o centralização da comunicação entre os componentes USB. A implementação de hardware do host é chamado USB host controller, que é implementado nas placas mães ou incluidos em soluções USB mais complexas, onde roda o software cliente. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 7 USB - Elemento Hub Hub permite que múltiplos dispositivos USB possam compartilhar uma mesma saída do Host USB. Hubs na saída dos computadores são chamados root hubs. Hubs USB externos estão disponíveis para usuários para conectar mais dispositivos USB ao computador. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 8 USB - Elemento Função Função é o dispositivo USB atual. Cada dispositivo USB provê uma função. Compondo-se dispositivos USB pode realizar múltiplas funções no barramento USB. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 9 Topologia USB Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 10 Universal Serial Bus • São possíveis duas velocidades: – Low Speed: 1.5MHz – Full Speed: 12MHz Cada dispositivo USB (função) deve informar o modo em que irá operar. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 11 Meio Físico • O barramento físico USB é composto por 4 fios: VBus, D+, D-, GND • O fio VBus fornece alimentação aos dispositivos que necessitem. O VBus é normalmente +5V. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 12 Meio Físico • Os dados são transmitidos a partir dos fios D+ e D-. O par D+ e D- é normalmente trançado. O comprimento máximo de um cabo é 5 metros. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 13 Meio Físico Par comum sem malha D- D+ R1 R1 = 15K±5% R2 = 1.5K±5% F.S./L.S. USB Transceiver (saidas 45ohm) Host ou porta de Hub Max. 3 Metros L.S. USB Transceiver (saidas 45ohm) Disposit. Low SpeedR1 R2 D+ D- A conexão USB pode variar de acordo com A conexão USB pode variar de acordo com a velocidade utilizada. a velocidade utilizada. Possui proteção contra sobre corrente.Possui proteção contra sobre corrente. Há a necessidade do uso de terminadores.Há a necessidade do uso de terminadores. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 14 Meio Físico D- D+ R1 R1 = 15K±5% R2 = 1.5K5% Par trançado c/ malha F.S./L.S. USB Transceiver (45ohm saidas) Host ou porta de Hub ZO = 90ohm±15% Max. 5 Metros F.S. USB Transceiver (45ohm saidas) Porta 0 do Hub ou Disposit. Full Speed R1 R2 D+ D- Quando não existe dispositivo (função) Quando não existe dispositivo (função) ligado ao host ou porta de ligado ao host ou porta de hubhub, os resistores , os resistores de de pull-downpull-down levam os sinais D+ e D- a um levam os sinais D+ e D- a um nível de tensão baixo.nível de tensão baixo. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 15 Meio Físico Deteção de estações:Deteção de estações: • Se tensão Nas linhas D+ e D- baixar de um limiar por Se tensão Nas linhas D+ e D- baixar de um limiar por mais que 2,5us, é considerada a desconexão do dispositivo.mais que 2,5us, é considerada a desconexão do dispositivo. • Se for levada acima deste valor por mais que 2,5us Se for levada acima deste valor por mais que 2,5us define-se a conexão de um dispositivo.define-se a conexão de um dispositivo. Dispositivo Desconectado Dispositivo Desconectado Tensão para considerar desconexão Tensão para considerar desconexão Dispositivo Detectado Dispositivo Detectado Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 16 Meio Físico • Existem dois modos de alimentação USB: – high-power – low-power. Em modo low power cada dispositivo USB não pode consumir mais do que 100mA. Já em modo high-power o consumo no barramento é limitado em 500mA. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 17 • O sinal enviado pelo barramento é codificado no padrão NZRI com recurso de bit stuffing. Codificação do Sinal Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 18 Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 19 Codificação do Sinal • Bit stuffing: – A cada seis bits 1 consecutivos no pacote de dados é inserido um bit 0. Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 20 Codificação do Sinal • A finalização de uma mensagem é dada por um período pré-definido de linha muda (EOP). Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 21 D+ D- • Estado J alto baixo • Estado K baixo alto • Estado SE0 baixo baixo Estados de sinalização D- D+ R1 R1 = 15K±5% R2 = 1.5K5% Par trançado c/ malha F.S./L.S. USB Transceiver (45ohm saidas) Host ou porta de Hub ZO = 90ohm±15% Max. 5 Metros F.S. USB Transceiver (45ohm saidas) Porta 0 do Hub ou Disposit. Full Speed R1 R2 D+ D- Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 22 Formatos Handshake/ Preâmbulo Low SpeedHandshake/ Preâmbulo Low SpeedPIDPID 8 bits8 bits DadosDadosPIDPID CRC16CRC16 16 bits16 bits DATADATA 0-1023 bytes0-1023 bytes8 bits8 bits ADDRADDRPIDPID 8 bits8 bits 7 bits7 bits ENDPENDP 4 bits4 bits CRC5CRC5 5 bits5 bits Token (Entrada/Saida)Token (Entrada/Saida) Frame NumberFrame NumberPIDPID 8 bits8 bits 11 bits11 bits CRC5CRC5 5 bits5 bits Início de pacoteInício de pacote Todos Pacotes são Precedidos de um campo de SYNC e Terminam com um EOP Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 23 – PID (Packet IDentifier): quatro primeiros bits identificam o pacote, os demais são conferência (complemento de um) – ADDR (ADDRess): endereço até 127 – ENDP (ENDPoint): número do endpoint envolvido na comunicação – CRC (Cyclic Redundancy Check): correção de erros (bits simples e duplos). – DATA: bytes de dados Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 24 Arquitetura de ComputadoresRonaldo Hüsemann - Microprocessadores II Barramento USB - Página 25 • Cabe ao controlador Host inicializar a comunicação, através do envio de um pacote especial (Token Packet), que descreve para a transmissão que segue: – Tipo – Direção – Endereço do dispositivo USB – Número do endpoint (destinatário) Protocolo HandshakeHandshakeData TransferData TransferTokenToken Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 26 • Os dados são transferidos então de ou para o host, conforme definido pelo Token (IN/OUT), ou informa que não há dados para transmitir. Protocolo HandshakeHandshakeData TransferData TransferTokenToken Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 27 • O Handshake Packet serve para confirmar transferência de dados e fluxo de controle, possibilitando o reenvio de uma mensagem caso seja necessário. Protocolo HandshakeHandshakeData TransferData TransferTokenToken Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 28 Estrutura de Funcionamento SoftwaSoftwa re re ClienteCliente InterfaceInterface Dispositivo USB Dispositivo USB HostHost EndpointsEndpoints Fluxo Fluxo dadosdados BuffersBuffers PipesPipes Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 29 Endpoints • Um endpoint para cada pipe • Endpoint zero (controles globais) • Outros Endpoints – Opcional, até 15 IN, 15 OUT para “full speed” – Opcional, até 2 adicionais para “low speed” – Determinado pelas caracteristicas próprias da implementação Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 30 Pipes • Conectam buffer de memória do host com a FIFO do endpoint • Stream – Formato não definido pelo USB – Unidirecional • Mensagem – Formato definido pelo USB – Bidirectional Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 31 Interfaces • Composto de 0 ou mais pipes • Possui um cliente próprio – Acessa pipes individuais – Compartilha pipe padrão • Mais dinamicamente configurável do que os dispositivos Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 32 • Tipos de transferência USB – Control – Bulk – Interrupt – Isochronous Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 33 • Control – Serve para configurar ou trocar configuração de um dispositivo. O Host envia um token de SETUP, em seguida envia um pacote de dados para o Endpoint de controle do dispositivo USB. Ao fim o dispositivo retorna um Handshake (ACK). Exemplo: Configuração inicial Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 34 • Control Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 35 • Bulk – Para transmissão de uma grande quantidade de dados. Para a transferência da função, o Host envia um Token IN, recebendo em seguida um pacote de dados (exceção quando a função STALL ou NACK). Ao final o Host envia ACK. No caso de envio do host, o Token é do tipo OUT. Exemplo: impressora, scanner, camera Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 36 • Bulk Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 37 • Interrupt – Para transmissão de pequena quantidade de dados. Os dados podem representar a notificação de algum evento. Exemplo: Mouse, joystick Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 38 • Interrupt Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 39 • Isochronous – Transferência de dados, enviados e recebidos continuamente em tempo real. Não há handshake para garantir as características de tempo real. Exemplo: Audio, Telefonia Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 40 • Isochronous Protocolo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 41 BULK BULK BULK BULK BULK BULK BULK BULK T x V o i c e T x L i n e I n t e r r u p t , C o n t r o l , L o w S p e e d Frame = 1ms Stereo Audio Stereo Audio Stereo Audio Stereo Audio Stereo Audio Stereo Audio Stereo Audio Stereo Audio Stereo Audio Stereo Audio R x V o i c e R x L i n e Slots S O F Low Speed Low Speed BULK BULK S c a n n e r Modelo de ciclo de mensagem USB dividido em slots no tempo Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 42 Desenvolvimento Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 43 Desenvolvimento Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 44 USB 2.0 Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 45 USB 2.0 • Três velocidades: – Low Speed (LS): 1,5Mbit/s – Full Speed (FS): 12Mbit/s – High Speed (HS): 480Mbit/s Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 46 USB 2.0 • O QUE MUDOU? – Uso em HighSpeed (480Mbit/s) requer novos transceivers/receivers – Hubs mudam para permitir compatibilidade • Devem funcionar em modos Full Speed (FS), Low Speed (LS) e High Speed (HS) • FS/LS trabalham em uma taxa de transmissão de bit equivalente ao HS Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 47 USB 2.0 • O QUE NÃO MUDOU? – Mesmo modelo host/dispositivo • Host recebe a maior carga • Dispositivos são mais simples – Mesmo protocolo básico • Token, data, handshake – Mesma interface de software • Modelo de software cliente Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 48 High-Speed EOP Data Bit Stuff Error SE0Data Bit Stuff Error SE0 Transmissão de dados HS normal com codificação NRZI e bit stuffing Primeiro bit do campo EOP é uma transição Campo EOP é uma violação de bit stuffing Após EOP, linha retorna para nivel baixo Campo EOP HS Arquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 49 System SWSystem SW Client Client DriverDriver Client Client DriverDriver USB 1.1 USB 1.1 HubHub USB USB 1.1 1.1 DeviceDevice HS HubHS Hub USB 1.1 USB 1.1 HubHub USB USB 1.1 1.1 DeviceDevice HS DeviceHS Device USB 2.0 USB 2.0 HostHost ControllerController Full/Low SpeedFull/Low Speed High Speed OnlyHigh Speed Only (2 x 12Mb/s(2 x 12Mb/s Capacity)Capacity) Topologia USB 2.0 São possíveis conexões em High-speed Full/Low speed Arquitetura de ComputadoresArquitetura de Computadores Ronaldo Hüsemann - Microprocessadores II Barramento USB - Página 50 Modelo de uma rede USB 2.0 Arquitetura de ComputadoresArquitetura de Computadores
Compartilhar