banner
Centre d'Information
Nous nous concentrons sur la livraison de produits exceptionnels, des livraisons rapides et un service client attentif.

Une puce pour ponter l'USB 2

Aug 22, 2023

Sur Twitter, [whitequark] a trouvé et mis en évidence un design intrigant - une carte de dérivation pour le VL670, accompagnée d'un article complet mais très facile à digérer sur son utilité et son fonctionnement interne. Le VL670 est une puce qui résout un problème surprenant : convertir les signaux USB 2.0 en USB 3.0.

Si vous avez un périphérique USB 2.0 et un hôte avec uniquement des signaux USB 3.0 disponibles, cette puce est faite pour vous. Cela peut être déroutant – pourquoi est-ce même nécessaire ? Il s'agit du sombre secret peu connu de l'USB3, que n'importe qui peut déduire s'il a affaire à un connecteur USB 3.0 à 9 broches où l'une des trois paires différentielles n'est pas tout à fait en contact.

Lorsque vous voyez un port "3.0" bleu, il s'agit en fait d'USB 2 et d'USB 3 - deux interfaces distinctes réunies en un seul connecteur. L'USB 3 utilise deux paires différentielles unidirectionnelles, semblables à PCI-E, tandis que l'USB 2 en utilise une seule bidirectionnelle, et les deux interfaces sur un connecteur bleu fonctionnent essentiellement indépendamment l'une de l'autre. Il y a de nombreuses implications à cela qui sont contre-intuitives si vous prenez simplement "USB 3.0" pour "USB rétrocompatible plus rapide", et elles ont des conséquences douloureuses.

Par exemple, les circuits intégrés de concentrateur USB 3 ont deux entités de concentrateur distinctes à l'intérieur - une pour USB 3 et une pour USB 2. Même si vous avez un concentrateur USB 3 branché sur un port USB 3, plusieurs périphériques USB 2 branchés dessus ne peuvent toujours pas percer. la limite de liaison montante USB 2 de 480 Mbps. Si vous avez déjà pensé qu'un concentrateur plus rapide avec une liaison montante plus rapide résoudrait les problèmes de vitesse de votre périphérique USB 2 - les ingénieurs USB-IF, apparemment, pensaient différemment ; et vous devrez peut-être trouver une solution de contournement pour votre configuration "de nombreux SDR bon marché et Pi 4 dans une boîte".

Comme astuce de fête amusante, puisque l'énumération des périphériques USB 3 n'utilise que l'USB 2 comme solution de secours, vous pouvez, en théorie, connecter huit périphériques à un concentrateur USB 3 à quatre ports - quatre périphériques USB 2 et quatre périphériques USB 3. En fait, certains périphériques USB utilisent exclusivement des voies USB 3 et ne se connectent même pas aux voies USB 2. Oui, cela implique également que vous pourrez peut-être connecter six périphériques USB à un Raspberry Pi 4, et même sept si vous basculez le port OTG en mode hôte.

Donc si vous vous retrouvez coincé entre USB 2 et USB 3, le VL670 est une solution fonctionnelle. Mais parce qu'il corrige une lacune dans la norme, il n'est pas tout à fait conforme en soi. (Ce n'est pas que la non-conformité à la norme USB ait jamais arrêté qui que ce soit.)

Il existe une carte de développement open source pour laquelle vous pouvez commander des pièces et construire, avec des puces VL670 apparemment disponibles sur TaoBao. A quoi était destinée cette puce à l'origine ? Apparemment, VirtualLink, une norme que beaucoup de gens se réjouissent de voir mort. Cependant, la description détaillée susmentionnée parle de cas d'utilisation plus pertinents - par exemple, il s'avère que les signaux USB 3 sont plus faciles à isoler galvaniquement !

Nous avons discuté de la particularité USB 3 vs USB 2 en passant, mais il convient d'établir plus clairement ses implications. Si vous vous êtes déjà posé des questions sur d'autres parties louches de l'USB, vous voudrez consulter le Hacking USB Hack Chat que nous avons eu avec [Kate Temkin] !