USB (Universal Serial Bus)

USB (Universal Serial Bus) fournit une interface série Plug and Play connectable à chaud qui permet des connexions à faible coût standard pour des périphériques tels que les claviers, des souris, des manettes, des imprimantes, des scanneurs, des dispositifs de stockage, des modems ou des caméras pour les conférences vidéo. La migration vers USB est recommandée pour tous les périphériques qui utilisent les ports hérités tels que PS/2, les ports série et les ports parallèles.

Le groupe USB-IF est un groupe SIG (Special Interest Groups) qui tient à jour la Spécification officielle sur USB, les spécifications de test et les outils.

Les systèmes d’exploitation Windows prennent nativement en charge les contrôleurs hôte, les concentrateurs et les périphériques USB et les systèmes conformes à la spécification USB. Windows fournit également des interfaces de programmation à utiliser pour développer des pilotes de périphérique et des applications qui communiquent avec un périphérique USB.

USB pour les fabricants d’appareils USB pour les développeurs de pilotes USB pour les développeurs d’applications Certification HCK USB

USB dans Windows

Windows 8.1 : nouveautés pour USB

Vue d’ensemble des nouvelles fonctionnalités et des améliorations apportées à USB dans Windows 8.1.

Forum Aux Questions sur USB

Questions fréquemment posées par les développeurs de pilotes sur la pile et les fonctionnalités USB prises en charge dans USB.

Descripteurs de Microsoft OS (MOD) pour les périphériques USB

Windows définit les descripteurs de MS OS (MOD) qui permettent une meilleure énumération lors de la connexion à un système qui exécute un système d’exploitation Windows

Pilotes USB fournis par Microsoft

Pile de pilotes USB - pilotes de concentrateur et de contrôleur hôte

Microsoft fournit une pile de base de pilotes qui interagissent avec les périphériques connectés aux contrôleurs EHCI et xHCI.

Pilotes de classe de périphérique USB-IF

Windows fournit des pilotes de classe de périphériques intégrés pour de nombreuses classes de périphériques USB-IF, audio, de stockage de masse, etc.

Pilote de fonction générique USB –WinUSB

Windows fournit Winusb.sys qui peut être chargé sous la forme d’un pilote de fonction pour un périphérique personnalisé et une fonction d’un périphérique composite.

Pilote parent générique USB pour les périphériques composites–Usbccgp

Pilote parent pour les périphériques USB avec plusieurs fonctions. Usbccgp crée des objets de périphérique physique (PDO) pour chacune de ces fonctions. Ces PDO individuels sont gérés par leurs pilotes de fonction USB respectifs, qui peuvent être le pilote Winusb.sys ou un pilote de classe de périphériques USB.

Test des périphériques USB avec Windows

Test du matériel, des pilotes et des applications USB dans Windows

Obtenez des informations sur les outils à utiliser pour tester votre matériel et logiciel USB, capturer des traces des opérations et autres événements système, et observer la réponse de la pile de pilotes USB à une demande envoyée par un pilote client ou une application.

Prenez connaissance d’une présentation des tests du Kit de certification de matériel Windows qui permet aux fournisseurs de matériel et aux fabricants de périphériques de préparer leurs périphériques et contrôleurs hôte USB pour la certification matérielle Windows.

Autres ressources pour USB

Spécification officielle sur USB

Fournit l’intégralité des informations techniques sur le protocole USB.

Blog de l’équipe Microsoft Windows USB Core

Découvrez les billets publiés par l’équipe Microsoft USB. Ce blog est dédié à la pile de pilotes USB Windows qui fonctionne avec différents contrôleurs hôte USB et concentrateurs USB existants sur les PC Windows. Une ressource utile pour les développeurs de pilotes client USB et les concepteurs de matériel USB qui décrit l’implémentation de la pile de pilotes, aide à résoudre les problèmes courants et explique l’utilisation des outils permettant de regrouper les traces et les fichiers journaux.

Listes OSR Online - ntdev

Liste de discussion gérée par OSR Online pour les développeurs de pilotes en mode noyau.

Centre de développement Windows pour le développement matériel

Ressources diverses basées sur les questions fréquentes posées par les développeurs débutants de périphériques et de pilotes USB pour les systèmes d’exploitation Windows.

Prise en main de la programmation USB

Écrire un pilote client USB (KMDF, UMDF)

Présente le développement de pilotes USB. Propose des informations sur le choix du modèle approprié pour fournir un pilote USB pour votre périphérique. Cette section comprend également des didacticiels sur l’écriture de pilotes USB en mode utilisateur et en mode noyau à l’aide des modèles USB fournis avec Microsoft Visual Studio Ultimate 2012.

Communiquer avec des périphériques USB, de A à Z (Application du Windows Store)

Fournit des instructions étape par étape pour implémenter des fonctionnalités USB dans une application du Windows Store. Pour écrire une application de ce type pour un périphérique USB vous avez besoin de Microsoft Visual Studio 2013 et du Kit de développement logiciel Windows (Kit SDK Windows) pour Windows 8.1.

Écrire une application WinUSB (Application de bureau Windows)

Décrit comment une application peut appeler des fonctions WinUSB pour communiquer avec un périphérique USB.

Scénarios de programmation courants

Liste des tâches courantes qu’un pilote ou une application doit exécuter pour communiquer avec un périphérique USB. Décrit les interfaces de programmation nécessaires pour chaque tâche.

USB programming reference

DDI USB (Développement de pilote)

Spécifications des demandes d’E/S, des routines de prise en charge, des structures et des interfaces utilisées par les pilotes client USB.

Windows.Devices.Usb (Application du Windows Store)

Spécifications de l’espace de noms qui définit les classes Windows Runtime qu’une application du Windows Store peut utiliser pour communiquer avec un périphérique USB.

WinUSB Functions (Application de bureau Windows)

Spécifications des fonctions et structures WinUsb_Xxx utilisées par une application C/C++ ou Win32.

Exemples USB

Exemples d’applications du Windows Store pour USB

Exemples de pilotes Windows pour USB

Outils de développement

Télécharger Microsoft Visual Studio Professional
Télécharger Visual Studio Ultimate
Télécharger Windows Driver Kit (WDK)
Télécharger le SDK Windows
Visual Studio Express 2013 pour l’écriture d’applications de périphérique du Windows Store

Vidéos sur USB

Applications du Windows Store pour périphériques USB
Présentation de USB 3.0 dans Windows 8
Concevoir des périphériques USB 3.0
Innovations en matière de débogage USB dans Windows 8 (Partie I, II, & III)

Matériel USB pour apprentissage

Périphériques MUTT

Les périphériques MUTT et SuperMUTT et le package de logiciels qui les accompagne sont intégrés dans la suite HCK de tests USB. Ils fournissent des tests automatisés qui peuvent être utilisés pendant le cycle de développement de contrôleurs, de périphériques et de systèmes USB, notamment pour les tests de contrainte.

Kit de formation OSR USB FX2

Si vous êtes un développeur de pilotes USB débutant. Ce kit convient à l’étude des exemples USB qui sont inclus dans cette documentation. Vous pouvez vous procurer le kit de formation à partir du OSR Online Store.

 

Scénarios USB courants

1—Obtenir le pointeur de l’appareil pour communiquer et utiliser le pointeur ou l’objet récupéré afin d’envoyer des transferts de données.

Pilote clientApplication du Windows StoreApplication de bureau Windows

KMDF: WdfUsbTargetDeviceCreateWithParameters

UMDF: IWDFUsbTargetDevice

UsbDevice

Comment se connecter à un périphérique USB (application du Windows Store).

WinUsb_Initialize

Voir Écrire une application de bureau Windows basée sur le modèle WinUSB.

 

Récupération du descripteur USB pour obtenir les informations sur les configurations, les interfaces, les paramètres et les points de terminaison du périphérique.

Pilote clientApplication du Windows StoreApplication de bureau Windows

KMDF :

WdfUsbTargetDeviceGetDeviceDescriptor

WdfUsbTargetDeviceRetrieveConfigDescriptor

UMDF :

IWDFUsbTargetDevice::RetrieveDescriptor

Voir Descripteurs USB.

UsbDevice.DeviceDescriptor

UsbConfiguration.Descriptors

UsbInterface.Descriptors

UsbInterfaceSetting.Descriptors

Comment obtenir les descripteurs USB (application du Windows Store).

WinUsb_GetDescriptor

WinUsb_QueryInterfaceSettings

WinUsb_QueryPipe

Voir Interroger le périphérique pour les descripteurs USB.

 

2—Configurer le périphérique pour sélectionner une configuration USB active et les paramètres par interface.

Pilote clientApplication du Windows StoreApplication de bureau Windows

KMDF :

WdfUsbTargetDeviceSelectConfig

WdfUsbTargetDeviceCreateUrb

USBD_SelectConfigUrbAllocateAndBuild

WdfUsbInterfaceSelectSetting

Voir Comment sélectionner une configuration pour un périphérique USB.

Voir Comment sélectionner un autre paramètre dans une interface USB.

UMDF :

La sélection de la configuration n’est pas prise en charge.

IWDFUsbInterface::SelectSetting

UsbInterfaceSetting.SelectSettingAsync

Comment sélectionner un paramètre d’interface USB (application du Windows Store).

WinUsb_SetCurrentAlternateSetting

 

3—Envoyer les transferts de contrôle pour la configuration du périphérique et l’exécution des commandes du fournisseur qui sont spécifiques à un périphérique donné.

Pilote clientApplication du Windows StoreApplication de bureau Windows

KMDF :

WdfUsbTargetDeviceSendControlTransferSynchronously

WdfUsbTargetDeviceFormatRequestForControlTransfer

USBD_SelectConfigUrbAllocateAndBuild

UMDF :

IWDFUsbTargetDevice::FormatRequestForControlTransfer

Consultez Comment envoyer un transfert de contrôle USB.

SendControlInTransferAsync

SendControlOutTransferAsync

Comment envoyer un transfert de contrôle USB (application du Windows Store).

WinUsb_ControlTransfer

Voir Envoyer un contrôle de transfert au point de terminaison par défaut.

 

4—Envoyer des transferts en bloc(utilisé par les dispositifs de stockage de masse qui transfèrent de grandes quantités de données).

Pilote clientApplication du Windows StoreApplication de bureau Windows

KMDF :

WdfUsbTargetPipeReadSynchronously

WdfUsbTargetPipeWriteSynchronously

WdfUsbTargetPipeFormatRequestForRead

WdfUsbTargetPipeFormatRequestForWrite

Comment envoyer des demandes de transfert en bloc

Comment utiliser le lecteur en continu pour lire des données à partir d’un canal USB.

UMDF :

IUsbTargetPipeContinuousReaderCallbackReadComplete

IWDFUsbTargetPipe

IWDFUsbTargetPipe2

UsbBulkInPipe.InputStream

UsbBulkOutPipe.OutputStream

Comment envoyer une demande de transfert en bloc USB (application du Windows Store).

WinUsb_WritePipe

WinUsb_ReadPipe

Voir Émettre des demandes d’E/S.

 

5—Envoyer des transferts d’interruption. Les données sont lues pour récupérer les données d’interruption matérielle.

Pilote clientApplication du Windows StoreApplication de bureau Windows

Identiques aux transferts en bloc.

UsbInterruptInPipe.DataReceived

UsbInterruptOutPipe.OutputStream

Comment envoyer une demande de transfert d’interruption USB (application du Windows Store).

Identiques aux transferts en bloc.

 

6—Envoyer des transferts isochrones(pour les périphériques de diffusion multimédia en continu).

Pilote clientApplication du Windows StoreApplication de bureau Windows

KMDF :

WdfUsbTargetDeviceCreateIsochUrb

Voir Comment transférer des données vers des points de terminaison isochrones USB.

UMDF : non pris en charge.

Non pris en charge.

WinUsb_RegisterIsochBuffer

WinUsb_UnregisterIsochBuffer

WinUsb_WriteIsochPipeAsap

WinUsb_ReadIsochPipeAsap

WinUsb_WriteIsochPipe

WinUsb_ReadIsochPipe

WinUsb_GetCurrentFrameNumber

WinUsb_GetAdjustedFrameNumber

Voir Envoi de transferts isochrones USB à partir d’une application de bureau WinUSB.

 

7—Suspension sélective USB pour autoriser le périphérique à passer dans un état de faible alimentation et à retourner à un état actif.

Pilote clientApplication du Windows StoreApplication de bureau Windows

KMDF :

WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS

WdfDeviceAssignS0IdleSettings

UMDF :

IWDFUsbTargetDevice::SetPowerPolicy

IWDFDevice2::AssignS0IdleSettings

IWDFDevice3::AssignS0IdleSettingsEx

Voir Comment envoyer un périphérique en suspension sélective.

Non pris en charge.

WinUsb_SetPowerPolicy

Voir Gestion de l’alimentation WinUSB.

 

 

 

Afficher:
© 2015 Microsoft