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:
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:
Les case grises sont des paquets provenant de l'hôte, les bleues de l'appareil
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:
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.
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.
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
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.