Bus serie universal (USB)

El bus serie universal (USB) proporciona una interfaz serie Plug and Play expandible que garantiza una conexión estándar y de bajo costo para dispositivos periféricos. Los dispositivos USB incluyen teclados, ratones, joysticks, impresoras, escáneres, dispositivos de almacenamiento, módems, cámaras de videoconferencia, etc.

EL USB-IF es un grupo de interés especial (SIG) que mantiene la especificación USB oficial, las especificaciones de prueba y las herramientas.

Los sistemas operativos Windows incluyen compatibilidad nativa con controladores de host USB, concentradores y dispositivos y sistemas que cumplen con la especificación USB oficial. Windows también proporciona interfaces de programación que puedes usar para desarrollar controladores de dispositivos y aplicaciones que se comunican con un dispositivo USB.

Icono USB para generadores de dispositivosUSB para desarrolladores de controladores IconoUSB para desarrolladores de aplicacionesIcono decertificación USB HCK

USB en Windows

Herramientas de desarrollo

Ejemplos de USB

Crear un controlador USB o una aplicación para Windows

Presenta el desarrollo de controladores USB. Proporciona información sobre cómo elegir el modelo más adecuado para proporcionar un controlador USB para el dispositivo.

Escribir un controlador de cliente USB (KMDF, UMDF)

En esta sección se incluyen tutoriales sobre cómo escribir los primeros controladores USB en modo de usuario y modo kernel mediante las plantillas USB incluidas en Microsoft Visual Studio.

Escritura de un controlador de host USB

Si está desarrollando un controlador de host xHCI que no es compatible con la especificación o desarrollando un hardware no xHCI personalizado (como un controlador de host virtual), puede escribir un controlador de controlador de host que se comunique con UCX. Por ejemplo, considere una base inalámbrica que admita dispositivos USB. El equipo se comunica con dispositivos USB a través de la base inalámbrica mediante USB a través de TCP como transporte.

Escribir un controlador de controlador de función para un dispositivo USB

Puede desarrollar un controlador de controlador que controle todas las transferencias y comandos de datos USB enviados por el host al dispositivo. Este controlador se comunica con la extensión del controlador de funciones USB (UFX) proporcionada por Microsoft.

Desarrollo de controladores de Windows para controladores de funciones USB

Referencia de la extensión de clase de función USB (UFX)

Escritura de un controlador de conector usb type-C

Windows 10 presenta compatibilidad con el nuevo conector USB: USB Type-C. Puede escribir un controlador para el conector que se comunica con el módulo de extensión de clase proporcionado por Microsoft: UcmCx para controlar escenarios relacionados con conectores de Tipo C, como, por ejemplo, qué puertos admiten type-C, qué puertos admiten la entrega de energía.

Desarrollo de controladores de Windows para conectores usb de tipo C

Referencia de la extensión de clase del administrador de conectores USB (UcmCx)

Escritura de un controlador de controlador de doble rol USB

Los controladores de rol dual USB ahora se admiten en Windows 10. Windows incluye controladores de cliente incorporados para los controladores ChipIdea y Synopsis. Para otros controladores, Microsoft proporciona un conjunto de interfaces de programación que permiten que la extensión de clase de rol dual (UrsCx) y su controlador de cliente se comuniquen entre sí para controlar la funcionalidad de conmutación de roles de un controlador de doble rol.

Para obtener más información sobre esta característica, consulte:

Arquitectura de pila de controladores de rol dual USB

Referencia de programación de controladores de controlador de doble rol USB

Escritura de un controlador USB para dispositivos emulados

Puede desarrollar un controlador de host del bus serie universal (USB) emulado y un dispositivo USB virtual conectado. Ambos componentes se combinan en un único controlador KMDF que se comunica con la extensión de clase de emulación de dispositivo USB (UdeCx) proporcionada por Microsoft.

Desarrollo de controladores de Windows para dispositivos USB emulados (UDE)

Referencia de programación del controlador de host USB emulado

Extensión WDF para desarrollar controladores USB

Escritura de una aplicación para UWP

  • Hablar con dispositivos USB, empezar a finalizar: proporciona instrucciones paso a paso sobre la implementación de características USB en una aplicación para UWP. Para escribir esta aplicación para un dispositivo USB, necesita Visual Studio y el Kit de desarrollo de software (SDK) de Microsoft Windows.

  • Windows.Devices.Usb: referencia de programación del espacio de nombres para UWP.

Escritura de una aplicación de escritorio de Windows

  • Escribir una aplicación winUSB: describe cómo una aplicación puede llamar a Funciones de WinUSB para comunicarse con un dispositivo USB.

  • Funciones de WinUSB

  • Escenarios de programación comunes: lista de tareas comunes que realiza un controlador o una aplicación para comunicarse con un dispositivo USB. Obtenga información rápida sobre las interfaces de programación que necesita para cada tarea.

Prueba de dispositivos USB con Windows

Información general sobre dispositivos de Microsoft USB Test Tool (MUTT)

Obtenga información sobre las herramientas que puede usar para probar el hardware o el software USB, capturar seguimientos de operaciones y otros eventos del sistema y observar cómo responde la pila de controladores USB a una solicitud enviada por un controlador cliente o una aplicación.

Lea una introducción a las pruebas en el Kit de certificación de hardware que permiten a los proveedores de hardware y a los fabricantes de dispositivos preparar sus dispositivos USB y controladores host para el envío de la certificación de hardware de Windows.

Bus serie universal 4 (USB4™)

Otros recursos para USB

  • Especificación oficial de USB: proporciona detalles técnicos completos para el protocolo USB.

  • Blog del equipo de Microsoft Windows USB Core: consulte las entradas escritas por el equipo de Microsoft USB. El blog se centra en la pila de controladores USB de Windows que funciona con varios controladores de host USB y concentradores USB que se encuentran en pc Windows. Un recurso útil para desarrolladores de controladores de cliente USB y diseñadores de hardware USB para comprender la implementación de la pila de controladores, resolver problemas comunes y explicar cómo usar herramientas para recopilar seguimientos y archivos de registro.

  • Listas en línea de OSR: ntdev: lista de discusión administrada por OSR Online para desarrolladores de controladores en modo kernel.

  • Centro de desarrollo de hardware de Windows: varios recursos basados en las preguntas más frecuentes de los desarrolladores que no están familiarizados con el desarrollo de dispositivos USB y controladores que funcionan con sistemas operativos Windows.

Hardware USB para el aprendizaje

  • Dispositivos MUTT: los dispositivos MUTT y SuperMUTT y el paquete de software complementario se integran en el conjunto de pruebas USB HCK. Proporcionan pruebas automatizadas que se pueden usar durante el ciclo de desarrollo de controladores USB, dispositivos y sistemas, especialmente las pruebas de esfuerzo.

  • Kit de aprendizaje de OSR USB FX2: si no está familiarizado con el desarrollo de controladores USB. El kit es el más adecuado para estudiar muestras USB incluidas en este conjunto de documentación. Puede obtener el kit de aprendizaje de la Tienda en línea de OSR.

Más información sobre los controladores USB proporcionados por Microsoft

  • Controladores del lado del dispositivo USB en Windows: describe la arquitectura de la pila de funciones USB.

  • Controladores del lado host USB en Windows: proporciona información general sobre la arquitectura de pila de controladores del bus serie universal (USB). Microsoft proporciona una pila básica de controladores que interoperan con dispositivos conectados a controladores EHCI y xHCI.

  • Controladores de clase de dispositivo USB-IF: enumera los controladores proporcionados por Microsoft para las clases de dispositivo USB admitidas. Windows proporciona controladores de clase de dispositivo integrado para muchas clases de dispositivo aprobadas por USB-IF, audio, almacenamiento masivo, etc.

  • Controlador de función genérica USB:WinUSB: WinUSB es un controlador genérico para dispositivos USB que se incluye con todas las versiones de Windows desde Windows Vista. Windows proporciona Winusb.sys que se pueden cargar como controlador de función para un dispositivo personalizado y una función de un dispositivo compuesto.

  • Controlador primario genérico USB para dispositivos compuestos–Usbccgp: controlador primario para dispositivos USB con varias funciones. Usbccgp crea objetos de dispositivo físico (PPO) para cada una de esas funciones. Esos PPO individuales administran sus respectivos controladores de función USB, que podrían ser el controlador de Winusb.sys o un controlador de clase de dispositivo USB.