Partilhar via


Barramento serial universal (USB)

O Universal Serial Bus (USB) fornece uma interface serial Plug and Play expansível que garante uma conexão padrão e de baixo custo para dispositivos periféricos. Os dispositivos USB incluem teclados, ratos, joysticks, impressoras, scanners, dispositivos de armazenamento, modems, câmaras de videoconferência e muito mais.

O USB-IF é um Grupo de Interesse Especial (SIG) que mantém a Especificação USB Oficial, as especificações de teste e as ferramentas.

Os sistemas operacionais Windows incluem suporte nativo para controladores host USB, hubs e dispositivos e sistemas que estão em conformidade com a especificação USB oficial. O Windows também fornece interfaces de programação que você pode usar para desenvolver drivers de dispositivo e aplicativos que se comunicam com um dispositivo USB.

Ícone USB para construtores de dispositivos Ícone USB para desenvolvedores de drivers Ícone USB para desenvolvedores de aplicativos Ícone de certificação USB HCK

USB no Windows

  • Suporte do Windows para conectores Type-C USB: Para OEMs que desejam criar um sistema Windows com conectores Type-C USB.

  • Universal Serial Bus 4 (USB4™): Fornece aos OEMs, IHVs e fornecedores de silício que desenvolvem sistemas Windows com suporte para USB4 informações sobre o gestor de ligações USB4, facilitando os procedimentos de depuração e lançamento.

  • USB FAQ: Perguntas frequentes dos programadores de controladores sobre a pilha USB e os recursos que são suportados pela pilha USB.

  • Microsoft OS Descritores para dispositivos USB: O Windows define os descritores do MS OS que permitem uma melhor enumeração quando conectado ao sistema que executa o sistema operacional Windows.

Ferramentas de desenvolvimento

Amostras USB

Criar um driver USB ou aplicativo para Windows

Introduz o utilizador ao desenvolvimento de drivers USB. Fornece informações sobre como escolher o modelo mais apropriado para fornecer um driver USB para o seu dispositivo.

Escrever um driver de cliente USB (KMDF, UMDF)

Esta seção inclui tutoriais sobre como escrever seus primeiros drivers USB de modo de usuário e modo kernel usando os modelos USB incluídos no Microsoft Visual Studio.

Escrever um driver para controlador USB host

Escreva um driver de controlador host que se comunique com UCX se:

  • Você está desenvolvendo um controlador host xHCI que não é compatível com a especificação.
  • Você está desenvolvendo um hardware não-xHCI personalizado, como um controlador de host virtual.

Por exemplo, considere uma estação de ancoragem sem fios que suporte dispositivos USB. O PC comunica-se com dispositivos USB através da estação de ancoragem sem fios utilizando USB sobre TCP como transporte.

Escrever um driver de controlador de função para um dispositivo USB

Você pode desenvolver um driver de controlador que lida com todas as transferências de dados USB e comandos enviados pelo host para o dispositivo. Este driver se comunica com a extensão do controlador de função USB (UFX) fornecida pela Microsoft.

Desenvolvendo drivers do Windows para controladores de função USB

Referência de extensões de classe de função USB (UFX)

Escrever um controlador de conector USB Type-C

O Windows 10 apresenta suporte para o novo conector USB: USB Type-C. Você pode escrever um driver para o conector que se comunica com o módulo de extensão de classe fornecido pela Microsoft: UcmCx para lidar com cenários relacionados a conectores Type-C, tais como, quais portas suportam Type-C, quais portas suportam fornecimento de energia.

Desenvolvendo drivers do Windows para conectores USB Type-C

Referência das extensões de classe do gerenciador de conectores USB (UcmCx)

Escrever um driver de controlador USB de função dupla

Os controladores USB Dual Role agora são suportados no Windows 10. O Windows inclui drivers de cliente integrados para controladores ChipIdea e Synopsys. Para outros controladores, a Microsoft fornece um conjunto de interfaces de programação que permitem que a extensão de classe de função dupla (UrsCx) e seu driver de cliente se comuniquem entre si para lidar com a capacidade de comutação de função de um controlador de função dupla.

Para mais informações sobre esta funcionalidade, consulte:

Arquitetura da pilha de controladores de função dupla USB

Referência de programação do controlador de dupla função USB

Escrever um driver USB para dispositivos emulados

Você pode desenvolver um driver de controlador de host USB (Universal Serial Bus) emulado e um dispositivo USB virtual conectado. Ambos os componentes são combinados em um único driver KMDF que se comunica com a extensão de classe de emulação de dispositivo USB (UdeCx) fornecida pela Microsoft.

Desenvolvendo drivers do Windows para dispositivos USB emulados (UDE)

Referência de programação do driver do controlador host USB emulado

Extensão WDF para desenvolvimento de drivers USB

Escrever um aplicativo UWP

  • Fale com dispositivos USB, do início ao fim: fornece instruções passo a passo sobre como implementar recursos USB em um aplicativo UWP. Para escrever esse aplicativo para um dispositivo USB, você precisa do Visual Studio e do Microsoft Windows Software Development Kit (SDK).

  • Windows.Devices.Usb: Referência de programação de namespace UWP.

Escrever uma aplicação de ambiente de trabalho do Windows

  • Escrever um aplicativo WinUSB: descreve como um aplicativo pode chamar funções WinUSB para se comunicar com um dispositivo USB.

  • Funções WinUSB

  • Cenários de programação comuns: Lista de tarefas comuns que um driver ou um aplicativo executa para se comunicar com um dispositivo USB. Obtenha informações rápidas sobre as interfaces de programação necessárias para cada tarefa.

Testando dispositivos USB com o Windows

Visão geral dos dispositivos Microsoft USB Test Tool (MUTT)

Informações sobre ferramentas para:

  • Teste o hardware ou software USB
  • Capture vestígios de operações e outros eventos do sistema
  • Observe como a pilha de controladores USB responde a um pedido enviado por um controlador cliente ou uma aplicação.

Leia uma visão geral dos testes no Kit de Certificação de Hardware que permitem que os fornecedores de hardware e fabricantes de dispositivos preparem seus dispositivos USB e controladores de host para o envio da Certificação de Hardware do Windows.

Barramento serial universal 4 (USB4™)

Outros recursos para USB

  • Especificação USB oficial: Fornece detalhes técnicos completos para o protocolo USB.

  • Microsoft Windows USB Core Team Blog: Confira os posts escritos pela Microsoft USB Team. O blog se concentra na pilha de drivers USB do Windows que funciona com vários controladores host USB e hubs USB encontrados no Windows PC. Um recurso útil para desenvolvedores de drivers para dispositivos USB e projetistas de hardware USB compreenderem a implementação da pilha de drivers, resolverem problemas comuns e explicarem como utilizar ferramentas para coletar rastreamentos e arquivos de log.

  • OSR Online Lists - ntdev: Lista de discussão gerenciada pelo OSR Online para desenvolvedores de drivers de modo kernel.

  • Centro de Desenvolvimento de Hardware do Windows: Recursos diversos baseados em perguntas frequentes de desenvolvedores que são novos no desenvolvimento de dispositivos USB e drivers que funcionam com sistemas operacionais Windows.

Hardware USB para aprendizagem

  • Dispositivos MUTT: Os dispositivos MUTT e SuperMUTT e o pacote de software que os acompanha estão integrados no conjunto de testes USB HCK. Eles fornecem testes automatizados que podem ser usados durante o ciclo de desenvolvimento de controladores, dispositivos e sistemas USB, especialmente testes de estresse.

  • OSR USB FX2 Learning Kit: Se você é novo no desenvolvimento de drivers USB. O kit é o mais adequado para estudar amostras USB incluídas neste conjunto de documentação. Pode obter o kit de aprendizagem na Loja Online OSR.

Saiba mais sobre os drivers USB fornecidos pela Microsoft

  • Drivers para dispositivos USB no Windows: Descreve a arquitetura da pilha de funções USB.

  • Drivers USB no lado do host no Windows: fornece uma visão geral da arquitetura da pilha de drivers USB (Universal Serial Bus). A Microsoft fornece um pacote principal de drivers que interoperam com dispositivos conectados a controladores EHCI e xHCI.

  • USB-IF drivers de classe de dispositivo: lista os drivers fornecidos pela Microsoft para as classes de dispositivo USB suportadas. O Windows fornece drivers de classe de dispositivo integrados para muitas classes de dispositivos aprovadas como USB-IF, como áudio, armazenamento em massa e assim por diante.

  • Driver de função genérica USB – WinUSB: WinUSB é um driver genérico para dispositivos USB que está incluído em todas as versões do Windows desde o Windows Vista. Windows fornece Winusb.sys que pode ser carregado como um driver de função para um dispositivo personalizado e uma função de um dispositivo composto.

  • Driver pai genérico USB para dispositivos compostos–Usbccgp: Driver pai para dispositivos USB com várias funções. Usbccgp cria objetos de dispositivo físico (DOP) para cada uma dessas funções. Esses PDOs individuais gerenciam seus respetivos drivers de função USB, que podem ser o driver Winusb.sys ou um driver de classe de dispositivo USB.