Le protocole USB

page: 1 - 2

Les terminaisons

Chaque appareil utilise des terminaisons pour communiquer avec l'hôte, ce sont un peu comme des terminaux dans un aéroport. Les terminaisons sont toujours deux par deux, une pour l'entré, une pour la sortie. Par exemple, lorsque que l'on envoi un paquet a la terminaison EP1, l'appareil stockera le paquet dans la mémoire tampon EP1 IN, ou si l'appareil veux envoyer des données via la terminaison 2, elle sera stockée dans le buffer EP2 OUT, jusqu'a que l'hôte envoi un jeton IN.

Deux terminaisons IN et OUT forment un canal de communication qui ont leur propre configuration associés, comme par exemple, le type de transfert et la bande passante qui leur est allouée.
Tout les appareils doivent répondre a la terminaison 0. elle est utilisée lors de l'initialisation de l'appareil ou dans des types de transfert spéciaux.

exemple de structure appareil/hôte:

Les types de transfert

L’USB définit quatre types de transferts, chacun étant utilisés pour des situations différentes. Dans la plupart des cas, sauf pour les transferts isochrone, le format de transaction suivant:

format de transaction

Les case grises sont des paquets provenant de l'hôte, les bleues de l'appareil


  • Les transfert de commande est utilisé pour l'énumération et la configuration des périphériques. Il convient pour des données de taille restreinte et les paquets erronés sont renvoyés ; de plus, la terminaison 0 est toujours utilisée pour les transfert de commande.

  • Le transfert d’interruption est utilisé pour fournir des informations de petite taille avec une latence faible. l'hôte vérifie a un intervalle de temps régulier qu'il n'y a pas de paquet en attente dans la terminaison d'interruption.

  • Le transfert en masse (bulk) est utilisé pour transférer des informations volumineuses, avec garantie d'acheminement, mais sans garantie de bande passante. Ce type de transfert sert pour les dispositifs de stockage.

  • Le transfert isochrone est utilisé pour effectuer des transferts volumineux (bande passante garantie), et en temps réel. Il n'y a par contre pas de garantie sur l'acheminement des données. Le format de transaction est beaucoup plus simple, il n’y a qu'un paquet jeton envoyé et des paquets data échangés. Ce type de transfert est utilisé pour les flux audio et vidéo.

Les descripteurs

Tous les appareils USB ont une hiérarchie de descripteurs qui détaillent pour le compte de l'hôte des informations l'instruisant sur la nature de l'appareil, qui l'a réalisé, quelle version USB il supporte, de combien de manières il peut être configuré, le nombre de terminaisons et leurs types etc… A l'initialisation, l'hôte va demander certains descripteurs, et peut en demander d'autres plus tard.

les descripteurs sont organisés de la façon qui suit:



  • Descripteurs d'Appareils

    Le descripteur d'appareil d'un appareil USB représente l'appareil en entier. En conséquence un appareil USB ne peut avoir qu'un seul descripteur d'appareil. Il donne des informations élémentaires et pourtant fondamentales sur l'appareil telles la version USB supporté, la taille maximale de paquet, les IDs constructeur et produits et le nombre de configurations possibles que peut avoir l'appareil.


  • Descripteurs de Configurations

    Un appareil USB peut avoir plusieurs configurations différentes alors que la majorité des appareils sont simples et n'en ont qu'une.
    Le Descripteur de Configuration précise la façon dont l'appareil est alimenté, quelle est sa consommation électrique maximale, le nombre d'interfaces qu'il possède. Il est donc possible d'avoir 2 configurations, quand il est alimenté par le bus et une autre quand il est alimenté par le secteur.


  • Descripteurs d'Interfaces

    Le Descripteur d'Interface peut être vu comme un " en tête " ou un regroupement de Terminaisons exécutant une simple fonction pour l'appareil. Il décrit en fait un canal de comunication


  • Descripteurs de Terminaisons

    Les Descripteurs de Terminaison sont utilisés pour décrire les terminaisons autres que la terminaison zéro. La terminaison zéro est toujours censée être une terminaison de commande et est configuré avant que n'importe quel autre descripteur ne soit sollicité.
    Le descripteur de terminaison défini le type de transfert assigné à cette terminaison ainsi que son numéro.


page: 1 - 2

Valide (X)html strict 1.0 | Valide Css 2.1