Compartir a través de


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.

USB-IF es un grupo de interés especial (SIG) que mantiene la especificación OFICIAL USB, 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 dispositivosIcono USB para desarrolladores de controladoresIcono DE USB para desarrolladores de aplicacionesIcono de certificación de USB HCK

USB en Windows

Herramientas de desarrollo

Ejemplos de USB

Creación de un controlador USB o una aplicación para Windows

Se 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 en modo kernel mediante las plantillas USB incluidas con Microsoft Visual Studio.

Escritura de un controlador de controlador de host USB

Si está desarrollando un controlador de host xHCI que no es compatible con la especificación o desarrollando un hardware personalizado que no sea xHCI (por ejemplo, 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.

Escritura de un controlador de controlador de funciones para un dispositivo USB

Puede desarrollar un controlador de controlador que controle todas las transferencias de datos USB y los comandos 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)

Cómo escribir un controlador de conector USB tipo C

Windows 10 presenta compatibilidad con el nuevo conector USB: TIPO USB-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 Type-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

Ahora se admiten controladores de rol dual USB en Windows 10. Windows incluye controladores de cliente integradas para 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 cliente se comuniquen entre sí para controlar la funcionalidad de conmutación de roles de un controlador de doble rol.

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

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 controlador de host de 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

Escribir una aplicación para UWP

  • Hable con dispositivos USB y empiece a terminar: proporciona instrucciones paso a paso sobre cómo implementar características USB en una aplicación para UWP. Para escribir una aplicación de este tipo 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 de 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.

Probar dispositivos USB con Windows

Información general de los dispositivos de herramientas de pruebas USB de Microsoft (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 del controlador USB a una solicitud enviada por un controlador cliente o una aplicación.

Lea una introducción a las pruebas del 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 usb de Microsoft. 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 equipos 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.

  • Windows Centro de desarrollo de hardware: varios recursos basados en las preguntas más frecuentes de los desarrolladores que no están familiarizados con el desarrollo de dispositivos y controladores USB 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.

  • OSR USB FX2 Learning Kit: 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 principal 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 integradas para muchas clases de dispositivo aprobadas por USB-IF, audio, almacenamiento masivo, etc.

  • Controlador de función genérico 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 funciones 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.