Disposition des périphériques USB
Un appareil USB (Universal Serial Bus) définit ses fonctionnalités par le biais de configurations, d’interfaces, de paramètres alternatifs et de points de terminaison. Cet article fournit une vue d’ensemble générale de ces concepts.
Une configuration USB définit les fonctionnalités et les fonctionnalités d’un appareil, principalement ses capacités d’alimentation et ses interfaces. L’appareil peut avoir plusieurs configurations, mais une seule est active à la fois. La configuration active n’est pas choisie par la pile de pilotes USB, mais peut être lancée par une application, un pilote, le pilote de périphérique. Le pilote de périphérique sélectionne une configuration active.
Une configuration peut avoir une ou plusieurs interfaces USB qui définissent les fonctionnalités de l’appareil. En règle générale, il existe une corrélation un-à-un entre une fonction et une interface. Toutefois, certains appareils exposent plusieurs interfaces liées à une seule fonction. Dans ce cas, l’appareil peut avoir un descripteur d’association d’interface (IAD). Un IAD regroupe des interfaces qui appartiennent à une fonction particulière.
Chaque interface contient un ou plusieurs points de terminaison, qui sont utilisés pour transférer des données vers et depuis l’appareil. En outre, l’interface contient d’autres paramètres qui définissent les exigences de bande passante de la fonction associée à l’interface. Pour résumer, un groupe de points de terminaison forme une interface et un ensemble d’interfaces constitue une configuration dans l’appareil.
Par conséquent, qu’est-ce que cela signifie de sélectionner une configuration active ? Pendant l’initialisation du périphérique, le pilote de périphérique usb doit sélectionner une configuration, une ou plusieurs interfaces au sein de cette configuration et un autre paramètre pour chaque interface. La plupart des périphériques USB ne fournissent pas plusieurs interfaces ou plusieurs paramètres alternatifs. Par exemple, l’appareil OSR USB FX2 Learning Kit a une interface avec un autre paramètre et trois points de terminaison. Pour plus d’informations sur le kit d’apprentissage, consultez OSR Online.
Appareil à interface unique
Ce diagramme montre la configuration d’un appareil avec une seule interface :
Dans cet exemple, le diagramme montre le point de terminaison 0, appelé point de terminaison par défaut. Tous les périphériques USB doivent avoir un point de terminaison par défaut qui est utilisé pour les transferts de contrôle (voir Transfert de contrôle USB). La configuration 0 a une interface : l’interface 0 avec un autre paramètre. Autre paramètre 0 utilise les trois points de terminaison dans l’interface.
Appareil à plusieurs interfaces
Pour les appareils multifonctions, l’appareil a plusieurs interfaces. Pour utiliser une fonction ou une interface particulière, le pilote client sélectionne l’interface et un autre paramètre associé. Prenons l’exemple d’un périphérique USB multi-fonction tel qu’une webcam. L’appareil a deux fonctions : la capture vidéo (caméra) et l’entrée audio (microphone). L’appareil définit un point de terminaison dans une interface vidéo qui diffuse des vidéos. L’appareil a un autre point de terminaison dans une interface distincte qui prend l’entrée audio via le microphone. La configuration de l’appareil inclut ces deux interfaces.
Ce diagramme montre la configuration de l’appareil webcam :
Dans cet exemple, le diagramme montre le point de terminaison par défaut. La configuration 0 a deux interfaces : l’interface 0 et l’interface 1. L’interface 0 a trois paramètres alternatifs. Un seul des autres paramètres est actif à un moment donné. Notez que l’autre paramètre 0 n’utilise pas de point de terminaison, tandis que les paramètres 1 et 2 utilisent le point de terminaison 1. En règle générale, une caméra vidéo utilise un point de terminaison isochroque pour la diffusion en continu. Pour ce type de point de terminaison, lorsque le point de terminaison est utilisé, la bande passante est réservée sur le bus. Lorsque la caméra ne diffuse pas de vidéo en continu, le pilote client peut sélectionner Autre paramètre 0 pour économiser la bande passante. Lorsque la webcam diffuse de la vidéo en continu, le pilote client peut basculer vers un autre paramètre 1 ou un autre paramètre 2, ce qui fournit des niveaux de qualité croissants et consomme une bande passante de bus croissante. L’interface 1 a deux paramètres alternatifs. Comme pour l’interface 0, le paramètre de remplacement 0 n’utilise pas de point de terminaison. Un autre paramètre 1 est défini pour utiliser le point de terminaison 1.
Les points de terminaison ne peuvent pas être partagés entre deux interfaces au sein d’une configuration. L’appareil utilise l’adresse du point de terminaison pour déterminer le point de terminaison cible pour un transfert de données ou une opération de point de terminaison, telle que la réinitialisation du canal. Toutes ces opérations sont initiées par l’hôte.
Avant de commencer à utiliser l’appareil, obtenez des informations sur la disposition de l’appareil. USBView est une application qui vous permet de parcourir tous les contrôleurs USB et les périphériques USB qui y sont connectés. Pour chaque appareil connecté, vous pouvez afficher les descripteurs d’appareil, de configuration, d’interface et de point de terminaison pour avoir une idée de la capacité de l’appareil.
Ensuite, consultez Descripteurs USB standard.