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.
USB en Windows
Compatibilidad de Windows con conectores USB type-C: para los OEM que desean compilar un sistema Windows con conectores usb de tipo C.
Bus serie universal 4 (USB4): proporciona oem, IHD y proveedores de silicio que traen sistemas Windows que admiten USB4 con información sobre el administrador de conexiones USB4™, facilitar la depuración y procedimientos de incorporación.
Preguntas más frecuentes sobre USB: preguntas más frecuentes de los desarrolladores de controladores sobre la pila USB y las características que se admiten en USB.
Descriptores de so de Microsoft para dispositivos USB: Windows define descriptores de SO ms que permite una mejor enumeración cuando se conecta al sistema que ejecuta el sistema operativo 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.
- Introducción al desarrollo de controladores de cliente USB
- Referencia de programación del controlador de dispositivo USB
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.
Desarrollo de controladores de Windows para controladores de host USB
Referencia del controlador de host USB (UCX)
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
- Referencia de la extensión de clase del administrador de conectores USB (UcmCx)
- Referencia del controlador de host USB (UCX)
- Referencia de la extensión de clase de función USB (UFX)
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™)
Bus serie universal 4 (USB4): proporciona oem, IHD y proveedores de silicio que traen sistemas Windows que admiten USB4 con información sobre el administrador de conexiones USB4™, facilitar la depuración y procedimientos de incorporación.
Introducción al administrador de conexiones USB4 en Windows: el administrador de conexiones de un dominio USB4 es responsable de enumeración, configuración y administración del dominio USB4.
Detalles de diseño del bus serie universal 4 (USB4™) y requisitos generales: requisitos generales de diseño y experiencia del usuario de alto nivel.
Pruebas necesarias de Universal Serial Bus 4 (USB4™): los requisitos de HLK no están diseñados para proporcionar cobertura completa de pruebas funcionales de un extremo a otro para el conjunto de características USB4. Le recomendamos que realice una validación exhaustiva de los escenarios de uso importantes.
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.