Cette vidéo montre comment fonctionne la détection de périphérique USB. La communication entre un périphérique USB et un périphérique cible nous montre qu’il existe une multitude de variables et de communications entre les deux, où le système découvre à la fois la vitesse de l’USB connecté et les différentes négociations qui existent entre les deux. Maintenant, une vidéo intéressante de Ben Eater nous montre ce qui se passe lorsque vous connectez un périphérique USB à un PC.
Comment fonctionne la détection de périphérique USB ?
Lorsque vous connectez un appareil, il déclenche d’abord une négociation ou une communication préalable. La première de ces communications sont les signaux de l’appareil qui vous permettront de savoir s’il s’agit d’un appareil à haute ou basse vitesse.
Lorsqu’un appareil est connecté au système USB, un numéro appelé « adresse » lui est attribué. L’adresse est utilisée exclusivement par cet appareil lorsqu’il est connecté. Cette adresse peut changer à chaque fois que l’appareil est connecté.
De plus, en plus de cette adresse, cet appareil possède également plusieurs points de terminaison, un ensemble de sources et de destinations entre les différentes communications entre l’hôte et l’appareil.
Toutes les demandes standard sont transmises via des transferts de contrôle au point d’extrémité 0. Un transfert de contrôle commence par une transaction d’établissement portant 8 octets. Ces 8 octets définissent la requête hôte.
Pendant la communication USB, les données sont transmises sous forme de paquets. Initialement, tous les paquets sont envoyés depuis l’hôte via le concentrateur racine. Certains de ces paquets amènent un périphérique à envoyer des paquets en réponse.
La communication au sein de l’USB est basée sur une série de canaux de données, des canaux logiques dans le flux de données. On pourrait dire qu’il s’agit d’une connexion du contrôleur hôte à une entité logique au sein d’un périphérique, qui agit comme point de terminaison.