Artigo: 323594 - Última revisão: terça-feira, 9 de Agosto de 2005 - Revisão: 3.0

Os princípios básicos sobre desenvolvimento de controladores de dispositivo (universal serial bus)

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Com a crescente popularidade do barramento série universal (USB), muitos fornecedores de hardware tem de oferecer uma interface USB para dispositivos que suportam actualmente apenas interface série ou paralela.

Este artigo aborda o seguinte:
  • Diferenças importantes entre a interface USB e interfaces série ou paralelas
  • Porque é que as aplicações do modo de utilizador não é possível aceder directamente um dispositivo USB
  • Os recursos básicos necessários para desenvolver o controlador para um dispositivo USB recentemente concebido

Mais Informação

Complexidade

Comparado com portas série ou paralelas, o USB é um barramento complexo. Por exemplo, cada dispositivo que está ligado a este barramento recebe um endereço e pacotes de dados são trocados entre o computador anfitrião e o dispositivo referido. Além disso, podem funcionar dispositivos várias velocidades e dispositivos podem estar temporariamente desligados do barramento se não compreender as transferências de alta velocidade. Em geral, transferência de dados em USBs é muito mais complexa e depende de um protocolo bem definido de forma semelhante, em alguns aspectos a um nível baixo protocolo de rede.

Por estes motivos, dispositivos USB incorporam alguns "análise", de modo que consegue processar correctamente os pacotes de dados que são trocados através de USB. Não é normalmente possível implementar uma interface USB utilizando integrar componentes electrónicos discretos ou escala pequena ou média escala integrar circuitos como pode em interfaces série e paralelas. Em vez disso, um microprocessador é normalmente utilizado no dispositivo para processar a comunicação através de USB.

Uma vez que um dispositivo USB é complexo, basta não é possível abrir e aceder um dispositivo USB a partir de uma aplicação de modo de utilizador. Ao nível do hardware, um dispositivo USB oferece vários pontos finais . O anfitrião pode estabelecer um encaminhamento estiver ligado a cada ponto final e pode falar com o dispositivo através neste pipe. Tem de executar este trabalho no modo kernel. Por conseguinte, um dispositivo USB deve ter um controlador associado. A arquitectura Plug and Play também requer um controlador, porque assim que ligar o dispositivo, o sistema tenta localizar um controlador adequado para o mesmo.

Controlador de exemplo

Um exemplo de Windows DDK chamado BulkUSB (DDKdir \src\wdm\usb\bulkusb), permite uma aplicação de modo de utilizador para ler e escrever dados não processados directamente para o ponto final do dispositivo USB. O trabalho básico do controlador de exemplo deve copiar dados de e para a aplicação e o ponto final. Pode facilmente adaptar este exemplo praticamente qualquer dispositivo USB. No entanto, dispositivos comerciais tem normalmente fazer o seguinte:
  • Ter um controlador dispositivo mais completo, que abstrai respectiva funcionalidade.
  • Fornecem um interface para a aplicação de modo de utilizador de programação de nível superior.
  • Cumprir uma classe de interface de dispositivos específica (se o dispositivo for um tipo de periférico comum).
Em resumo, existem limitados cenários onde este exemplo pode ser utilizado com nenhuma ou poucas personalização:
  • Para fins de teste
  • Para familiarizar com o desenvolvimento de controladores USB
  • Para dispositivos muito simples que sabe antecipadamente que serão acedidos por um programa específico

Portabilidade

Um controlador de dispositivo USB que é escrito para o Windows XP e Windows 2000 utilizando apenas as funções de modelo de controlador do Windows (WDM, Windows Driver Model) é portátil para o Windows Millennium Edition e Windows 98, geralmente com poucas ou nenhumas alterações. Para obter informações adicionais sobre a porta WDM controladores a partir do Windows XP ou do Windows 2000 para o Windows Millennium Edition ou Windows 98, consulte a secção "Referências" (do Walter Oney livro, Apêndice A).

Recursos de outros fabricantes

Alguns fabricantes disponibilizam os chipsets predefinidos, pode incorporar implementa a interface USB. Muitos fornecedores também oferecem kits de desenvolvimento de hardware com o qual pode criar protótipos à volta do respectivo chipset. Para mais informações, consulte a secção "Referências" deste artigo (livro do Walter Oney, capítulo 11).

Alguns fabricantes oferecem controladores USB genéricos, que pode personalizar, utilizando ficheiros de dados sem ter de utilizar programação de modo kernel. Algumas empresas também oferecem componentes ActiveX (por exemplo, OCXs) para aceder respectivo controlador a partir de clientes de automatização OLE, tais como o Microsoft Visual Basic.

Referências

  • universal serial Bus System Architecture Edition 2 º , Don Anderson/Dave Dzatko, Mindshare Inc, Addison Wesley, ISBN 0-201-30975-0.
  • Windows Driver Development Kit, suporte de sistema para bus, USB, desenhar a referência.
Para mais informações sobre como desenvolver o suas próprias produto de chipsets fornecidos por um fornecedor de terceiros ou a porta controladores WDM, consulte o seguinte livro:
  • o modelo de controlador do Microsoft Windows de programação , Walter Oney, Microsoft Press, ISBN 0-7356-0588-2. (Este artigo especificamente menciona capítulo 11 e apêndice a.)

A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Driver Development Kit
  • Microsoft Win32 Device Driver Kit para Windows 2000
  • Microsoft Windows Server 2003 Driver Development Kit (DDK)
Palavras-chave: 
kbmt kbinfo KB323594 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 323594  (http://support.microsoft.com/kb/323594/en-us/ )