Interfaces e Periféricos CAPÍTULO 4 USB Introdução Todo computador comprado atualmente possui uma ou mais portas (conectores) USB. Estas portas USB permitem que se conecte desde mouses até impressoras em seu computador. O sistema operacional também suporta a interface USB, assim a instalação do driver do dispositivo é rápida e fácil. Em comparação a outras formas de conexão de dispositivos (incluindo-se portas paralelas, portas seriais e placas especiais instaladas dentro do gabinete da máquina) os dispositivos USB são incrivelmente simples. Qualquer pessoa envolvida com computadores nos últimos anos conhece os problemas que o Universal Serial Bus (USB) está tentando solucionar. No passado, a conexão de dispositivos a um computador costumava ser uma dor de cabeça, você utilizou mouses e modems seriais? As impressoras eram conectadas às portas paralelas e a maioria dos computadores continha apenas uma porta. Dispositivos como Zip drives externos, que necessitavam de uma conexão de alta velocidade no computador, podiam utilizar a porta paralela da mesma forma, geralmente com pouco sucesso e baixa velocidade. Os modems utilizavam a porta serial, da mesma forma que muitas impressoras e uma variedade de dispositivos, tais como os computadores portáteis (Palms e Pockets PCs) e câmeras digitais. A maioria dos computadores possuíam, no máximo, duas portas seriais, e quase sempre eram muito lentas. Os dispositivos que antes necessitavam de conexões mais rápidas possuíam suas próprias placas, que se encaixam em slots de expansão dentro do gabinete do computador. Infelizmente o número de slots de expansão é limitado e, em alguns casos, é necessário um técnico experiente para instalar o software. O objetivo do USB é acabar com todas essas dificuldades. O Universal Serial Bus fornece uma forma única, padronizada e fácil para conectar até 127 dispositivos em um computador. Atualmente, quase todos os periféricos estão disponíveis em uma versão para USB. Exemplos de dispositivos USB que podem ser adquiridos hoje incluem: Impressoras Scanners Mouses Joysticks Consoles para simuladores de voo Prof. André Sarmento Barbosa http://www.andresarmento.com 21 Interfaces e Periféricos Câmeras digitais Webcams Dispositivos para aquisição de dados científicos Modems Caixas de som Telefones VoIP Vídeo fones Dispositivos de armazenamento A conexão de um dispositivo USB a um computador é simples: é só encontrar a porta USB, que geralmente está localizada na parte de trás de sua máquina (a maioria dos gabinetes modernos também possuem portas na frente), e conectá-lo. Um conector USB típico, conhecido como conector "A" Em caso de um dispositivo novo, o sistema operacional o auto detecta e solicita o disco do drive. Caso o dispositivo já tenha sido instalado, o computador o ativará e dará início à comunicação com o mesmo. Os dispositivos USB poderão ser conectados e desconectados a qualquer momento. Muitos dispositivos USB já vêm acompanhados de cabo próprio e este cabo possui uma conexão USB do tipo "A". Caso contrário, o dispositivo possui um soquete acoplado que aceita um conector USB do tipo "B". Uma conexão típica do tipo "B" O padrão USB utiliza conectores "A" e "B" para evitar possíveis erros: "A" - ponta do conector "upstream" para conectar no computador. "B" - ponta do conector "downstream" para conectar no dispositivo. Prof. André Sarmento Barbosa http://www.andresarmento.com 22 Interfaces e Periféricos Por meio da utilização de conectores diferentes nas extremidades do cabo é impossível se enganar ao conectar o conector "B" de qualquer cabo USB a um dispositivo. O mesmo é válido para o conector “A”. É importante observar que temos hoje vários outros tipos de conectores USB (mini USB, micro USB), normalmente utilizados com dispositivos menores (celulares, máquina fotográficas, etc). Conectores USB, A, B mini USB e micro USB Hubs USB Computadores novos dispõem de duas ou mais portas USB. E, com tantos dispositivos USB no mercado, geralmente não há portas suficientes. Suponhamos que em um computador existe uma impressora, um scanner, uma câmera e um dispositivo USB/wi-fi, todos com padrão USB. Se o computador possui apenas duas conexões, então a questão óbvia é: Como conectar todos esses dispositivos? A solução mais fácil para o problema é comprar um Hub USB. O padrão USB suporta até 127 dispositivos, sendo o Hub USB parte deste padrão. Um hub possui tipicamente quatro portas, mas não está limitado a isso. Você conecta o hub ao computador e então liga os dispositivos (ou outros hubs) a ele. Encadeando diversos hubs é possível ter muitas portas USB disponíveis em um único computador. Há hubs que funcionam com energia (com fonte) ou sem energia (sem fonte). O padrão USB permite aos dispositivos que obtenham energia elétrica a partir da própria conexão USB. Obviamente, um dispositivo de alta-potência, como uma impressora ou scanner terá a sua própria fonte de alimentação. No entanto, dispositivos de baixa potência, como o mouse e as câmeras digitais, obtêm a energia a partir da porta USB, de forma a simplificá-los. A energia elétrica (corente de até 500 milliampères e tensão de 5 volts) é gerada pelo computador. Caso o usuário possua muitos dispositivos com energia própria (como impressoras e scanners), então o hub não necessita ser alimentado (não precisa ter fonte). Caso o usuário tenha vários dispositivos que não possuem energia própria, como mouse e câmeras, então será necessário um hub com alimentação de energia. Neste caso, o hub possui uma fonte própria que fornece energia ao barramento, de forma que os dispositivos não sobrecarreguem o fornecimento de energia do computador. O processo USB Quando o computador (host USB) é iniciado, ele interroga todos os dispositivos conectados ao barramento e designa um endereço (composto de 7 bits) para cada um. Esse processo é chamado de enumeração. Os dispositivos são também enumerados ao se conectarem ao barramento. O host também encontra, a partir de cada dispositivo, o tipo de transferência de dados que o mesmo deseja realizar: Prof. André Sarmento Barbosa http://www.andresarmento.com 23 Interfaces e Periféricos Interrupção - usado em dispositivos como o mouse ou teclado, que enviarão pouquíssimos dados. Bulk - um dispositivo como uma impressora ou HD externo, que recebe dados em grandes pacotes, utiliza esse modo de transferência. Isócrono - um dispositivo de transmissão contínua (como uma câmera) utiliza esse modo. Os dados fluem entre o dispositivo e o host em tempo real e não há correção de erros. O host também poderá enviar comandos ou verificar parâmetros através de pacotes de controle. Conforme os dispositivos são enumerados, o host manterá um registro da largura de banda total que todos os dispositivos isócronos e os dispositivos de interrupção exigem. Eles podem consumir até 90% dos 480 Mbps da largura de banda disponível. Após 90% de uso, o host nega acesso a qualquer outro dispositivo isócrono ou de interrupção. As transferências de grandes pacotes de dados e de controle utilizam qualquer largura de banda restante (pelo menos 10%). O Universal Serial Bus possui as seguintes características: O computador atua como um host tendo comunicação do tipo half-duplex com os dispositivos. Podem ser conectados ao host até 127 dispositivos, diretamente ou através de hubs USB. Cabos individuais USB podem ter até 5 metros; Taxa máxima de transferência de dados de 12 Mbps (USB 1.1) e 480 Mbps (USB 2.0). Um cabo USB possui dois condutores para energia (positivo e negativo) e um par trançado para a condução dos dados. Nos cabos de energia, o computador poderá fornecer uma corrente de até 500mA e tensão de 5V. Os dispositivos de baixa-potência (como o mouse) poderão obter a energia diretamente do barramento. Os dispositivos de alta-potência (como impressoras) possuem fonte própria de alimentação e exigem mínima energia do barramento. Os hubs podem ter suas próprias fontes de energia para fornecer energia aos dispositivos conectados a ele. Os dispositivos USB são hot-swappable (conectáveis "a quente"), ou seja, podem ser conectados e desconectados a qualquer momento. Os diversos dispositivos USB podem ser colocados no modo sleep (hibernar) pelo computador host, quando o computador entrar no modo de economia de energia. Interior de um cabo USB: Dois fios para a energia, +5 volts (vermelho) e o fio terra (preto) e um par trançado (verde e branco) para a condução dos dados. O cabo é blindado. Prof. André Sarmento Barbosa http://www.andresarmento.com 24 Interfaces e Periféricos USB 2.0 O padrão para o USB 2.0 foi lançado em abril de 2000, e fornece uma largura de banda adicional para as aplicações de multimídia e de armazenamento, possuindo uma transmissão de dados 40 vezes mais rápida do que a do USB 1.1 (12 Mbps para USB 1.1 e 480 Mbps para USB 2.0). Para possibilitar uma transição suave, tanto aos consumidores quanto aos fabricantes o USB 2.0 possui plena compatibilidade com os dispositivos USB 1.1, além de funcionar com os mesmos cabos e conectores fabricados para a UBS 1.1. O USB 2.0 suporta três velocidades (1.5, 12 e 480 megabits por segundo), suporta também dispositivos com baixa largura de banda, tais como teclados e mouses, bem como os dispositivos de largura de banda alta, como: Webcams, scanners, impressoras e sistemas de armazenamento de alta capacidade. O desenvolvimento da interface USB 2.0 permitiu que os fabricantes, líderes da indústria de PCs, planejassem muito rapidamente ao desenvolverem uma nova geração de periféricos para complementar os PCs de alto desempenho já existentes. A velocidade de transmissão do USB 2.0 também facilitou o desenvolvimento de novos PCs e seus aplicativos. Além do aumento da funcionalidade e do estímulo à inovação o USB 2.0 aumenta a produtividade das aplicações de usuário e permite ao mesmo trabalhar com múltiplos aplicativos para PCs de uma única vez ou diversos periféricos de alto desempenho de modo simultâneo. USB 3.0 O padrão USB precisou evoluir para atender novas necessidades dos usuários, principalmente no que se refere a velocidade. A principal característica é a taxa de transmissão que pode chegar até 4,8 Gbps, que corresponde a cerca de 600MB por segundo, dez vezes mais que a velocidade do USB 2.0. Símbolo para dispositivos USB 3.0 O USB 3.0 também se destaca pelo fator alimentação elétrica: o USB 2.0 fornece até 500mA enquanto que o novo padrão pode suportar 900mA. Isso significa que as portas USB 3.0 podem alimentar dispositivos que consomem mais energia. O USB 3.0 manteve as características que fizeram as versões anteriores tão bem aceitas, como Plug and Play (plugar e usar), possibilidade de conexão de mais de um dispositivo na mesma porta, hot-swappable (capacidade de conectar e desconectar dispositivos sem a necessidade de desligá-los) e compatibilidade com dispositivos nos padrões anteriores. Conectores USB 3.0 Conectores USB 3.0 tipo A: Outro aspecto no qual o padrão USB 3.0 difere do USB 2.0 diz respeito ao conector. Os conectores de ambos são parecidos, mas naverdade não são iguais. Prof. André Sarmento Barbosa http://www.andresarmento.com 25 Interfaces e Periféricos Os cabos da tecnologia USB 3.0 são compostos por nove condutores, enquanto que os cabos USB 2.0 utilizam apenas quatro. Isso acontece para que o padrão novo possa suportar maiores taxas de transmissão de dados. Assim, os conectores do USB 3.0 possuem contatos para esses condutores adicionais na parte traseira. Caso um dispositivo USB 2.0 seja utilizado, este usará apenas os contatos da parte frontal do conector. As figuras a seguir mostram um conector USB 3.0 do tipo A: Estrutura interna de um conector USB 3.0 Conector USB 3.0 tipo A É possível conectar dispositivos USB 2.0 ou 1.1 em portas USB 3.0. Este último é compatível com as versões anteriores. Fabricantes também podem fazer dispositivos USB 3.0 compatíveis com o padrão 2.0, mas neste caso a velocidade será obviamente a do USB 2.0. Conector USB 3.0 B tipo B: Tal como aconteceu na versão anterior, o USB 3.0 também conta com conectores diferenciados para se adequar a determinados dispositivos. Um deles é o conector do tipo B, utilizado em aparelhos de porte maior, como impressoras ou scanners, por exemplo. Em relação ao tipo B do padrão USB 2.0, a porta USB 3.0 possui uma área de contatos adicional na parte superior. Isso significa que nela podem ser conectados tantos dispositivos USB 2.0 (que aproveitam só a parte inferior) quanto USB 3.0. No entanto, dispositivos 3.0 não poderão ser conectados em portas B 2.0: Prof. André Sarmento Barbosa http://www.andresarmento.com 26 Interfaces e Periféricos Conector USB 3.0 tipo B Sobre o funcionamento do USB 3.0 Como você já sabe, cabos USB 3.0 trabalham com 9 fios, enquanto que o padrão anterior utiliza 4: VBus (VCC), D+, D- e GND. No padrão USB 3.0, a necessidade de transmissão de dados em alta velocidade fez com que, no início, fosse considerado o uso de fibra óptica para este fim, mas tal característica tornaria a tecnologia cara e de fabricação mais complexa. A solução encontrada para dar viabilidade ao padrão foi a adoção de mais fios. Além dos quatro utilizados no USB 2.0, há também os seguintes: StdA_SSRX- e StdA_SSRX+ para recebimento de dados, StdA_SSTX- e StdA_SSTX+ para envio, e GND_DRAIN como terra para o sinal. O conector USB 3.0 B pode contar ainda com uma variação (USB 3.0 B Powered) que utiliza um contato a mais para alimentação elétrica e outro associado a este que serve como "fio terra", permitindo o fornecimento de até 1A a um dispositivo. Quanto ao tamanho dos cabos, não há um limite definido, no entanto, testes efetuados por algumas entidades especialistas (como a empresa Cable Wholesale) recomendam, no máximo, até três metros para total aproveitamento da tecnologia, mas esta medida pode variar de acordo com as técnicas empregadas na fabricação. No que se refere à transmissão de dados em si, o USB 3.0 é full-duplex, enquanto que as versões anteriores são half-duplex. O USB 3.0 também consegue ser mais eficiente no controle do consumo de energia. Para isso, o host se comunica com os dispositivos de maneira assíncrona, aguardando que estes indiquem a necessidade de transmissão de dados. No USB 2.0, há uma espécie de "pesquisa contínua" (polling), onde o host necessita enviar sinais constantemente para saber qual deles necessita trafegar informações. Ainda no se que se refere ao consumo de energia, tanto o host quanto os dispositivos conectados podem entrar em um estado de economia em momentos de ociosidade. Além disso, no USB 2.0, os dados transmitidos acabam indo do host para todos os dispositivos conectados (broadcast). No USB 3.0, essa comunicação ocorre somente com o dispositivo de destino. Tal comportamento é semelhante aos Hubs e os Switches utilizados em redes locais de computadores (redes ethernet). Resumindo: USB 2.0 faz broadcast (envia o quadro para todos) como se fosse um HUB Ethernet. USB 3.0 envia o quadro somente para o dispositivo destino, como se fosse um Switch Ethernet. Prof. André Sarmento Barbosa http://www.andresarmento.com 27