Jul 10, 2023
Tout sur l'USB
Une chose étonnante à propos de l'USB-C est ses capacités à haut débit. Le brochage donne
Une chose étonnante à propos de l'USB-C est ses capacités à haut débit. Le brochage vous donne quatre paires différentielles à grande vitesse et quelques autres paires à faible vitesse, ce qui vous permet de pomper des quantités géantes de données via un connecteur plus petit qu'une pièce de monnaie. Tous les appareils ne profitent pas de cette capacité, et ils ne sont pas obligés de le faire - USB-C est conçu pour être accessible à tous les appareils portables sous le soleil. Cependant, lorsque vous avez un appareil avec des besoins à haut débit exposés via USB-C, il est glorieux de voir à quel point l'USB-C peut vous donner et à quel point cela peut fonctionner.
La possibilité d'obtenir une interface haut débit à partir de l'USB-C est appelée mode alternatif, "altmode" en abrégé. Les trois modes alternatifs que vous pouvez rencontrer de nos jours sont USB3, DisplayPort et Thunderbolt, il y en a quelques-uns qui sont tombés dans l'obscurité comme HDMI et VirtualLink, et certains sont en plein essor comme USB4. La plupart des modes alternatifs nécessitent une communication USB-C numérique, utilisant un certain type de messages sur le canal PD. Cela dit, tous ne le font pas - l'USB3 est le plus simple. Passons en revue ce qui fait fonctionner un altmode.
Si vous avez vu le brochage, vous avez vu les broches à grande vitesse. Aujourd'hui, j'aimerais vous montrer quelles interfaces vous pouvez obtenir de ces broches de nos jours. Ce n'est pas une liste complète ou exhaustive - par exemple, je ne parlerai pas de choses comme l'USB4, en partie parce que je ne le comprends pas assez bien et que je n'en ai pas l'expérience ; cela, et il est certain que nous aurons plus d'appareils haut débit équipés d'USB-C à l'avenir. De plus, l'USB-C est suffisamment flexible pour qu'un pirate informatique puisse y exposer Ethernet ou SATA d'une manière conforme à l'USB-C - et si c'est ce que vous recherchez, peut-être que cet aperçu vous aidera à le comprendre.
L'USB3 est très, très simple - vous avez une paire TX et une paire RX, et bien que les vitesses de transmission soient bien supérieures à celles de l'USB2, elles sont gérables pour un pirate informatique. Si vous utilisez un PCB multicouche avec contrôle d'impédance pour les signaux USB3 et traitez vos diffpairs avec respect, votre connexion USB3 fonctionnera généralement.
Avec USB3 sur USB-C, peu de changements - vous aurez un multiplexeur pour gérer la rotation, mais c'est à peu près tout. Les multiplexeurs USB3 sont nombreux, vous n'aurez donc presque jamais de problème si vous devez ajouter un USB-C compatible USB3 sur votre carte. Il existe également l'USB3 à double liaison, utilisant deux liaisons USB3 en parallèle pour augmenter le débit, mais les pirates ne rencontreront généralement ni n'auront besoin de celui-ci, et ce territoire a tendance à être mieux couvert par Thunderbolt. Vous voulez convertir un appareil USB3 en USB-C ? Tout ce dont vous avez vraiment besoin est un multiplexeur. Si vous envisagez de mettre un connecteur MicroUSB 3.0 sur votre carte pour un de vos appareils haut débit, je vous demande poliment mais fermement de reconsidérer et d'y mettre une prise USB-C et un VL160 à la place.
Si vous concevez un périphérique USB3 équipé d'une prise, vous n'avez même pas besoin d'un multiplexeur pour la gestion de la rotation - vous n'avez pas besoin de détection de rotation, en fait. Une seule résistance de 5,1 kΩ non surveillée suffira pour construire une clé USB3 qui se branche directement sur un port USB-C, ou pour fabriquer un adaptateur USB-C mâle vers USB-A 3.0 femelle. Du côté de la prise, vous pouvez éviter d'utiliser un multiplexeur si vous avez une connexion USB3 de rechange à sacrifier, bien que ce ne soit pas un échange merveilleux à faire, bien sûr. Je ne connais pas suffisamment l'USB3 à double liaison pour dire si une telle connexion est compatible avec la double liaison USB3, mais je vois "non" comme une réponse plus probable que "oui" !
DisplayPort (DP) est une merveilleuse interface pour connecter des écrans haute résolution - il a dépassé HDMI dans l'espace de bureau, dominant l'espace d'affichage intégré sous sa forme eDP, et fournit des résolutions élevées sur un seul câble, souvent mieux que HDMI. Il est convertible en DVI ou HDMI avec un adaptateur bon marché utilisant une norme appelée DP++, et il n'est pas aussi grevé de redevances que HDMI. Il est logique que le consortium VESA ait travaillé avec le groupe USB pour implémenter la prise en charge de DisplayPort, d'autant plus que les émetteurs DisplayPort dans les SoC sont de plus en plus populaires.
Si vous utilisez une station d'accueil avec sortie HDMI ou VGA, elle utilise le mode alternatif DisplayPort sous le capot. De plus en plus souvent, les moniteurs sont équipés d'entrées DisplayPort sur USB-C, et grâce à une fonctionnalité appelée MST, vous pouvez chaîner des moniteurs, vous donnant une configuration multi-moniteurs à câble unique - à moins que vous n'utilisiez un Macbook, comme Apple le refuse. pour prendre en charge MST sous MacOS.
De plus, fait amusant - l'altmode DP est l'un des seuls altmodes qui utilise des broches SBU, qui sont réutilisées pour la paire DisplayPort AUX. Le manque général de broches USB-C signifiait également que les broches de configuration DP devaient être omises, à l'exclusion du mode de compatibilité DP++ HDMI/DVI, et par conséquent, tous les adaptateurs USB-C DP vers HDMI sont en fait des convertisseurs DP-HDMI actifs dans déguisement - par opposition à DP ++, qui vous permet d'utiliser des décalages de niveau pour la prise en charge HDMI.
Si vous souhaitez bricoler avec DisplayPort, vous aurez peut-être besoin d'un multiplexeur prenant en charge DP, mais surtout, vous devrez pouvoir envoyer des messages PD personnalisés. Tout d'abord, toute la partie "offrir/demander DP altmode" se fait via PD - les résistances ne suffisent pas. De plus, il n'y avait pas de broche libre pour HPD, un signal crucial dans DisplayPort, et en tant que tel, les événements de branchement à chaud et les interruptions sont envoyés sous forme de messages sur le canal PD à la place. Cela dit, ce n'est pas très difficile à mettre en œuvre, et je cherche à faire une mise en œuvre conviviale pour les pirates - jusque-là, si vous avez besoin de DP ou HDMI sur un port USB-C avec DP altmode, il y a des puces, comme le CYPD3120, qui vous permet d'écrire un firmware pour le faire.
Une grande chose qui distingue l'altmode DP - avec quatre voies haut débit sur USB-C, cet altmode permet de combiner une connexion USB3 d'un côté du port USB-C et une connexion DisplayPort à deux voies de l'autre. C'est ainsi que fonctionnent tous les docks "des ports USB3, des périphériques et une sortie HDMI". Si la résolution à deux voies vous limite, vous pouvez également obtenir un adaptateur à quatre voies - il n'y aura pas de transfert de données en raison du manque d'USB3, mais vous pourrez obtenir des résolutions ou des fréquences d'images plus élevées via deux voies DisplayPort supplémentaires.
Mon point de vue - le mode alternatif DisplayPort est tout simplement l'une des meilleures choses à propos de l'USB-C, et bien que les ordinateurs portables et les téléphones les moins chers (ou les plus mal conçus) ne le prennent pas en charge, c'est une joie d'avoir un appareil qui le fait. Bien sûr, parfois, une grande entreprise enlèvera directement la joie, comme Google l'a fait.
Google l'a explicitement désactivé dans le noyau pendant le développement. https://t.co/4QyMitc0Hq
Aucune raison donnée.
Les puces Qualcomm depuis le 835 prennent en charge nativement le mode DisplayPort Alt.https://t.co/Bv94GsqLFL
Il n'y a même pas de frais de licence impliqués.
– Mishaal Rahman (@MishaalRahman) 31 octobre 2019
Sur cette note, parlons de l'altmode le plus complexe de tous.
Sur USB-C en particulier, vous pouvez obtenir Thunderbolt 3 – bientôt, Thunderbolt 4 aussi, mais c'est de la fiction pour l'instant. Thunderbolt 3 est une spécification initialement propriétaire qui a finalement été open source par Intel. De toute évidence, ils ne l'ont pas suffisamment ouvert ou il y a une mise en garde différente, car les appareils Thunderbolt 3 dans la nature sont toujours construits en utilisant exclusivement des puces Intel, et je suppose que le manque de concurrence est ce qui fait que les prix sont fermement en triple territoire à chiffres. Pourquoi chercheriez-vous des appareils Thunderbolt en premier lieu ? Outre des vitesses plus élevées, il existe une fonction de tueur.
Vous pouvez obtenir un relais PCIe via Thunderbolt - jusqu'à un lien 4x large également ! Cela a été un sujet brûlant parmi les personnes qui souhaitent une prise en charge eGPU ou un stockage externe rapide sous forme de disques NVMe, et certains pirates l'utilisent pour les FPGA connectés PCIe. Si vous avez deux ordinateurs (par exemple, deux ordinateurs portables) qui prennent en charge Thunderbolt, vous pouvez également les relier via un câble compatible Thunderbolt - cela crée une interface réseau haut débit entre les deux, sans composants supplémentaires requis. Oh, et bien sûr, Thunderbolt peut facilement créer un tunnel DisplayPort et USB3 en lui-même. La technologie entre Thunderbolt est extrêmement puissante et savoureuse pour les utilisateurs expérimentés.
Cela dit, toute cette fraîcheur se fait au prix d'une pile technologique propriétaire et complexe. Thunderbolt n'est pas quelque chose sur lequel un hacker solitaire peut facilement s'appuyer - cependant, quelqu'un devrait l'essayer un jour. Et, même si les docks Thunderbolt ont une quantité merveilleuse de fonctionnalités, le côté logiciel des choses est souvent aléatoire, en particulier lorsqu'il s'agit de choses comme essayer de faire fonctionner le mode veille sur votre ordinateur portable sans que votre eGPU ne plante votre noyau. Si cela n'est pas encore évident, j'attends avec impatience qu'Intel le mette en place.
Je n'arrête pas de dire "muxes". Quels sont ces? En bref, c'est la partie qui aide à gérer l'échange de signal à grande vitesse en fonction de la rotation USB-C.
Les voies à haut débit sont la partie de l'USB-C qui est la plus touchée par la rotation des ports. Si votre port USB-C utilise des voies à haut débit, il aura besoin d'un circuit intégré mux (multiplexeur) qui gère deux rotations USB-C possibles - en faisant correspondre les orientations des ports aux deux extrémités et le câble aux récepteurs et émetteurs à haut débit réels à l'intérieur appareils connectés. Parfois, ces multiplexeurs sont internes à une puce haute vitesse si elle a été développée avec USB-C à l'esprit, mais la plupart du temps, il s'agit d'une puce distincte. Vous cherchez à ajouter la prise en charge USB-C haut débit à un appareil qui ne l'a pas encore ? Un multiplexeur sera un élément central pour faire fonctionner vos communications à haut débit.
Si votre appareil dispose d'une prise USB-C avec des voies à haut débit, il a besoin d'un multiplexeur - les appareils équipés d'un câble captif et d'une prise n'en ont pas besoin. En règle générale, si vous utilisez un câble pour connecter deux appareils haut débit avec des prises USB-C, les deux ont besoin de multiplexeurs - la gestion de la rotation des câbles est la responsabilité de chaque appareil. Des deux côtés, le mux (ou un contrôleur PD auquel un mux est connecté) surveillera l'orientation de la broche CC et agira en conséquence. Il existe également un certain nombre de ces multiplexeurs à des fins différentes, en fonction de ce que vous attendez d'un port.
Vous verrez des multiplexeurs destinés à l'USB3 dans les ordinateurs portables bon marché qui n'implémentent que l'USB 3.0 sur le port Type-C, et s'il prend en charge DisplayPort, vous aurez un multiplexeur qui a des entrées supplémentaires pour mélanger ces signaux. Dans les ordinateurs portables avec des ports plus sophistiqués qui implémentent Thunderbolt, le multiplexeur sera intégré à la puce Thunderbolt. Pour les pirates informatiques développant avec USB-C qui ne peuvent pas atteindre Thunderbolt ou qui n'en ont pas besoin, TI et VLI offrent quelques bons multiplexeurs à toutes fins. Par exemple, j'ai récemment joué avec DisplayPort sur USB-C, et VL170 (apparemment clone 1: 1 de TI HD3SS460) ressemble à une puce merveilleuse pour un usage combiné DisplayPort + USB3.
Les mux USB-C compatibles DisplayPort comme HD3SS460 ne font pas eux-mêmes la gestion des broches CC et la détection de rotation, mais c'est une limitation raisonnable - vous devez faire des communications PD assez spécifiques à l'application pour DisplayPort, qui dépasse rapidement ce qu'un mux peut faire pour toi. Êtes-vous satisfait de l'USB3, où les communications PD ne sont pas nécessaires ? Le VL161 est une puce simple pour le multiplexage USB3 qui a une entrée de polarité, s'attendant à ce que vous fassiez vous-même la détection de polarité.
Si vous ne voulez pas non plus faire de détection de polarité - est-ce que le PD analogique, 5 V uniquement, est suffisant pour vos besoins USB3 ? Utilisez quelque chose comme le VL160 - il fera le puits et la source de la PD analogique, gérera la puissance et la rotation des voies à grande vitesse tout en un. C'est le vrai IC "Je veux USB3 sur USB-C et je veux que tout soit géré pour moi" ; par exemple, le VL160 est ce que la récente carte de capture HDMI open-source utilise pour son port USB-C. Pour être juste, cependant, je n'ai pas à distinguer le VL160 – il existe des dizaines de ces circuits intégrés ; "Mux USB3 pour USB-C qui fait tout" est probablement le type de circuit intégré USB-C le plus populaire.
Il y a quelques altmodes USB-C abandonnés. Le premier sur lequel je ne verserai pas de larme - c'est le mode alternatif HDMI; et il place simplement les broches du connecteur HDMI sur les broches du connecteur USB-C. Cela vous donnerait HDMI sur USB-C, et il semble avoir été utilisé sur les smartphones pendant une brève période. Cependant, devant rivaliser avec le mode alternatif DisplayPort facilement convertible en HDMI alors que la conversion HDMI-DP est généralement coûteuse, impossibilité d'être combinée avec l'USB 3.0 car HDMI nécessite quatre paires différentielles, et les bagages de licence HDMI semblent avoir conduit le HDMI altmode dans le sol. Je crois sincèrement qu'il devrait y rester, car je ne pense pas que notre monde puisse être amélioré en ajoutant plus de HDMI.
L'autre est en fait intéressant, cependant - il s'appelle VirtualLink. Un groupe de grandes entreprises technologiques s'est penché sur les capacités de l'USB-C pour la réalité virtuelle - après tout, c'est merveilleux lorsque votre casque VR n'a besoin que d'un seul câble pour tout. Cependant, les lunettes VR ont besoin d'une interface vidéo haute résolution à haute fréquence d'images et d'une connexion de données à haut débit pour les caméras et capteurs auxiliaires, et la combinaison habituelle « DisplayPort à double voie + USB3 » ne peut pas fournir de telles capacités. à l'époque. Que faites-vous alors?
C'est simple, a déclaré le groupe VirtualLink, vous vous débarrassez des deux paires USB2 dupliquées sur le connecteur USB-C, et utilisez les quatre broches pour une connexion USB3. Vous souvenez-vous de la puce de conversion USB2 vers USB3 que j'ai mentionnée dans un court article il y a six mois ? Ouais, son objectif initial était VirtualLink. Ce type d'arrangement, bien sûr, nécessite un câble personnalisé plus cher avec deux paires blindées supplémentaires, et il a également fallu que les PC fournissent jusqu'à 27 W de puissance, d'où une sortie de 9 volts - une rareté sur les ports USB-C qui ne le sont pas. chargeurs muraux ou powerbanks. L'écart entre USB2 et USB3 en a contrarié certains; cependant, pour les besoins de la réalité virtuelle, VirtualLink semblait très utile.
Certains GPU sont livrés avec la prise en charge de VirtualLink, mais, finalement, pas assez – et les ordinateurs portables, connus pour leurs ports USB-C souvent manquants, ne se sont pas dérangés. Cela a amené un acteur clé de l'arrangement, Valve, à abandonner l'ajout de l'intégration VirtualLink avec Valve Index, et cela s'est dégradé à partir de là. Malheureusement, VirtualLink n'a jamais vraiment décollé. Cela aurait été un altmode amusant à avoir autour – le câble unique aurait été incroyable pour les utilisateurs de VR, et l'exigence d'une tension accrue disponible via USB-C nous aurait également donné des ports supérieurs à 5 V compatibles PD - ce qu'aucun ordinateur portable et presque aucun PC ne fournit de nos jours. Oui, juste un rappel - si vous avez un port USB-C sur votre ordinateur de bureau ou portable, cela vous donnera 5 V, bien sûr, mais vous n'obtiendrez pas une tension plus élevée.
Regardons le bon côté, cependant. Si vous possédez l'un de ces GPU livré avec un port USB-C, il prendra en charge à la fois USB3 et DisplayPort !
La grande chose à propos de l'USB-C - un fournisseur ou un pirate pourrait absolument définir ses propres altmodes s'il le voulait, alors que l'adaptateur serait semi-propriétaire, il resterait toujours un port USB-C à cœur, travaillant pour la charge et les données transfert. Vous voulez un altmode Ethernet ou un SATA à deux ports ? Fais-le. Il est révolu le temps où il fallait trouver des connecteurs très obscurs pour les appareils, où chaque connecteur d'accueil et de charge était différent et pouvait coûter jusqu'à 10 $ chacun s'il était assez rare, s'il aurait même été possible de le trouver.
Tous les ports USB-C ne doivent pas implémenter chacune de ces fonctionnalités - beaucoup ne le font pas. Cependant, beaucoup d'entre eux le font, et chaque jour, nous tirons de plus en plus d'un port USB-C moyen. Cette unification et cette standardisation seront payantes à long terme, et même si des écarts se produiront de temps en temps, les fabricants apprendront à devenir plus intelligents à leur sujet.