USB - Estrutura de Software
Por Ricardo Zelenovsky e Alexandre Mendonça em 03 de junho de 1998
Introdução
Na primeira parte, faremos uma breve introdução deste barramento, além dos procedimentos de software (a nível de sistema operacional, device-driver e aplicativo) que são realizados durante os processo de instalação e operação de um dispositivo USB. Numa segunda parte, estudar-se-ão as estruturas elétricas associadas ao novo padrão.
O barramento serial universal, especificado pelas empresas líderes no mercado de computadores pessoais (Compaq, DEC, IBM, Intel, Microsoft, NEC e outras), permite uma expansão externa do PC praticamente ilimitada. Com o USB, os usuários aproveitam os benefícios da arquitetura plug-and-play, ou seja, não necessitam mais de efetuar configurações de recursos de hardware, como nos quebra-cabeças dos "dip-switches" e "jumpers", para a definição de IRQ’s, canais de DMA ou endereços de I/O.
O USB utiliza um conector universal que permite ao usuário instalar e remover periféricos sem sequer abrir o computador. E ainda, com a característica de inserção e remoção automáticas, os periféricos podem ser instalados e removidos a qualquer momento, mesmo com o computador ligado e inicializado. Além da facilidade de utilização de periféricos convencionais, o USB abre caminho para novos aplicações, como a integração PC/telefonia e jogos multiusuários.
Dois importantes atributos do USB são também destacados: a compatibilidade universal, pois nada impede que o USB seja aproveitado por outra arquitetura, e a simplicidade no projeto de periféricos, pois são eliminados diversos custos, como o de interfaces auxiliares (ex: alguns scanners e CD ROM precisam de uma interface SCSI).
O USB pode ser usado com a maioria dos periféricos de PC’s, tais como: controladoras de vídeo, drives de CD ROM, joysticks, unidades de fita, drives de disco-flexível externos, scanners ou impressoras. A taxa de transmissão especificada de 12 Megabits/s também acomoda uma nova geração de periféricos, incluindo os produtos baseados em vídeo (ex: câmeras digitais).
Uma Visão Geral do Funcionamento
Quanto à organização das camadas de software necessárias para operar-se um dispositivo, o sistema USB HOST é composto por vários níveis de hardware e softwares, conforme mostrado na Figura 1.
clique para ampliar
Figura 1: Camadas de software necessárias para operarem-se dados via USB.Conforme a Figura 1 indica, um aplicativo requer o acesso a um periférico USB da forma padrão, como é feita para os periféricos comuns: chama funções da API.
Num segundo estágio, a API chama rotinas do driver Cliente do periférico USB instalado. Este driver traduz os comandos da API para comandos USB. O driver Cliente é geralmente parte do sistema operacional ou vem instalável com o dispositivo USB.
A terceira camada de software indicada é o driver USB (USBD), que é aquela que dá ao sistema operacional o suporte ao USB.
A quarta camada de interesse é o driver do controlador HOST (HCD), que funciona a nível de Kernel do sistema operacional. O HCD provê o nível de software entre o hardware do controlador HOST e o USBD. É esta camada que realiza os acessos de I/O necessários para a operação do dispositivo USB. O HCD interpreta as chamadas do USBD e constrói uma lista de estruturas, um descritor de transferências, uma fila principal e um buffer de dados para o controlador HOST.
A Figura 1 apresenta também duas camadas de hardware.
A primeira delas é o Controlador HOST (HC), que é o circuito onde serão feitas as conexões de todos os dispositivos USB. Tal circuito executa eletronicamente os comandos programadas pelo HCD, além de registrar o estado das transações do USB. Sua operação é gerenciada pelo HCD.
A segunda delas é constituída pelo conjunto de Dispositivos USB conectados, que são os periféricos que usam esse tipo de barramento.
Uma característica extremamente inovadora do USB é a possibilidade de conectar-se um novo dispositivo durante a execução do aplicativo. Neste caso, o controlador HOST detecta a conexão e envia uma mensagem ao HCD para avisá-lo do fato. Em seguida, o HCD faz a mesma notificação ao driver USB (USBD). Este, então, inicializa o driver cliente do periférico conectado e, em seguida, torna-o operacional, de forma que o aplicativo já possa dispor de seus recursos. Tal seqüência está ilustrada na Figura 2.
Figura 2: Seqüência de eventos desde a conexão da placa até a inicialização dos drivers.
Benefícios do USB
O USB é mais do que uma conexão Plug-and-Play. Esta nova tecnologia permite usar o PC em novos e interessantes caminhos. Seguem-se alguns exemplos de benefícios especiais que o USB pode proporcionar.
Em Jogos
Apesar de já existirem jogos onde é possível, via conexão de rede, que várias pessoas participem, o USB tem a interessante característica de permitir a entrada de novos jogadores sem que se interrompa a partida. Isto porque o USB permite conectar e desconectar joysticks e outros dispositivos de entrada sem que ocorra uma ação de parada. Lembrar que isto ocorre num único computador. Não há o ambiente de rede envolvido.
Outro benefício associado a jogos é a possibilidade de sentir-se a massa de objetos virtuais e ter-se noção de aceleração em veículos. No fundo, é também um grande passo para simulações realísticas em robótica, devido à grande capacidade de fluxo de dados nos dois sentidos do cabo USB, que mantém um computador apto a receber as últimas novidades tecnológicas em termos de periféricos.
Conexões na Internet
O USB fornece a alternativa de utilizarem-se modem's externos de grande velocidade ou mesmo terminais de rede. Com isto, o acesso a Internet pode ser realizado sem a utilização de placas de rede. Fica também bastante flexível a topologia de um projeto de rede local, pois a substituição de nós (troca de computadores conectados) pode ser realizada com a simples troca do cabo, sem que se precise reinicializar qualquer computador.
Compartilhamento
Um dos mais importantes benefícios trazidos pelo USB é que ele permite o compartilhamento de periféricos entre PC’s, como dispositivos de segurança, telefones, monitores e outros.
Telefonia e VIA PC
A conexão via USB é imediata e flexível entre telefones e PC’s, especialmente com as novas aplicações que transformaram um simples computador numa sofisticada central de chamadas. Selecionar chamadas, adaptar as mensagens a serem enviadas, salvar e recuperar mensagens em voz ou fax e muitas outras ações podem ser controladas diretamente do PC através de aplicativos.
Como Comprar Equipamentos USB
- A maioria dos computadores USB compatíveis apresenta pelo menos um um par de portas USB. Deve-se verificar a presença dos conectores.
- Outra maneira de saber se o sistema é compatível com o USB é analisar a característica do processador Pentium com tecnologia MMX ou Pentium II. Os PC’s vendidos em 1997 com esses processadores têm o hardware necessário instalado.
- Para trabalhar com o USB, é preciso ter um sistema operacional compatível. A maioria dos computadores vendidos em 1997 já têm essa característica. Caso se esteja utilizando uma versão do Windows incompatível, pode-se carregar um utilitário do USB através do site http://www.teleport.com/~usb
- Para verificar se o periférico comprado possui interface USB, verificar se o cabo de conexão tem forma semelhante à da Figura 3.
Figura 3: Plug USB.A tecnologia USB reúne qualidades que tornam o PC mais flexível e capaz de explorar ainda mais suas potencialidades em termos de aplicação prática . O que antes limitava o PC a uns poucos periféricos, hoje o lança num ambiente de grande multiplicidade sem grandes complicações tecnológicas, facilitando a vida dos usuários.
Na segunda parte, serão estudadas de forma bastante técnica as estruturas elétricas da especificação USB.
Para saber mais:
Originalmente em http://www.clubedohardware.com.br/artigos/869
© 1996-2009, Clube do Hardware. Todos os direitos reservados.
É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998.
Não nos responsabilizamos por danos materiais e/ou morais de qualquer espécie promovidos pelo uso das informações contidas no Clube do Hardware.