Tout sur l'USB
MaisonMaison > Blog > Tout sur l'USB

Tout sur l'USB

Jun 25, 2023

Comme de nombreuses personnes l'ont souligné, ce qui compte avec l'USB-C, ce n'est pas seulement la norme, ce sont aussi les implémentations. Après tout, ce sont les implémentations que nous devons réellement gérer, et c'est là que surviennent la plupart des problèmes liés à l'USB-C. Il y a quelques défauts dans la norme, comme le manque de marquage des câbles dès le départ, mais à ce stade, je suis convaincu que la norme USB-C est bien meilleure que certaines personnes ne le pensent.

J'aimerais vous présenter quelques implémentations USB-C dans des produits réels, open source, adjacents et simplement intéressants. Ils sont tous imparfaits d’une manière ou d’une autre – il ne peut en être autrement, car ils doivent faire face au désordre du monde réel, où la perfection est rare.

Aujourd'hui, regardons le Pinecil. Un fer à souder de Pine64, sorti il ​​y a quelques années, gardant un prix bas et une qualité élevée. Il arbore à la fois une prise cylindrique et un port USB-C pour son entrée d’alimentation – un départ bienvenu de la stratégie du fer Miniware, où ni le TS100 à prise cylindrique uniquement ni les fers TS80 à pointe propriétaire à faible consommation ne l’ont vraiment fait. Et, étant donné sa conception autour des pointes de style TS100 T12, il n'est pas étonnant que Pinecil ait pris une place bien méritée dans le monde des amateurs.

Maintenant, vous pensez peut-être que Pinecil devrait être un appareil simple. Le moyen habituel d’obtenir une puissance élevée d’un port USB-C est un circuit intégré de déclenchement Power Delivery (PD), et vous pouvez simplement l’utiliser. Cependant, si vous avez lu l'article sur l'alimentation USB-C, vous vous souvenez peut-être du scénario d'un chargeur 45 W contre 60 W, dans lequel un tel arrangement échouerait immédiatement. Dans l'ensemble, la configurabilité des circuits intégrés de déclenchement est assez faible, et lorsque vous rencontrez un problème de compatibilité PD avec certains blocs d'alimentation, vous ne pouvez rien y faire sauf remplacer le circuit intégré par un circuit intégré à logique légèrement différente - si un remplacement existe, et ce n’est généralement pas le cas. Ceci est coûteux et limitant pour un produit utilisé dans le monde réel.

Pinecil a opté pour la méthode « logiciel de pile PD + IC frontal PD », consacrant une partie du MCU à la nature en temps réel des communications PD. L'interface PD utilisée est le FUSB302, connecté au MCU via l'interface I2C standard. Le microcontrôleur lui-même est passé du GD32VF103 dans Pinecil v1 au BL706 dans Pinecil v2 – tous deux RISC-V.

Maintenant, j'ai commencé à parler de manière abstraite ici, mais il est logique de parler du hacker qui fait le travail réel pour rendre la pile PD possible – en fait, l'ensemble de la pile logicielle Pinecil. La personne responsable du PD et du logiciel Pinecil en général est [Ralim], connu pour son firmware IronOS initialement développé pour les TS100, TS80 et d'autres fers à souder équipés de MCU. Pine64 a contacté [Ralim] à l'époque où Pinecil n'était qu'un concept, lui demandant s'il serait disponible pour porter IronOS, y compris le travail de développement requis.

Au fil des années, l’approche « frontend + MCU » s’est révélée extrêmement payante. L'une des principales raisons est la compatibilité du bloc d'alimentation : il existe une tonne de variations dans les communications d'alimentation USB-C, car les éléments PD peuvent être difficiles à mettre en œuvre, en particulier lorsqu'il s'agit de cas extrêmes. En effet, le micrologiciel initial des fers Pinecil ne fonctionnait pas avec un certain nombre d'alimentations électriques, y compris, par exemple, certaines briques d'alimentation Apple.

Maintenant, ce qui est beau, c'est que chaque fois que quelqu'un signalait un problème de compatibilité du bloc d'alimentation sur GitHub, [Ralim] pouvait localiser ce problème, soit par le débogage à distance « essayez ce binaire », soit en achetant directement le même bloc d'alimentation. Ensuite, il résoudrait le problème en modifiant la façon dont la pile traite les cas extrêmes, testerait le correctif et téléchargerait une nouvelle version du micrologiciel Pinecil sur GitHub pour que tout le monde puisse l'utiliser. En un an, la plupart des problèmes USB-C ont disparu, et si vous rencontrez un problème avec Pinecil, il est probable qu'il vous suffira de mettre à jour le micrologiciel à partir de l'ancienne version flashée en usine.

Au fil des années, la pile est devenue assez mature et, surtout, testée au combat – il est difficile de trouver un bloc d'alimentation avec lequel le Pinecil ne fonctionne pas de nos jours. Pour des raisons de débogage et de commodité des pirates informatiques, si vous branchez un bloc d'alimentation USB-C sur votre Pinecil tout en maintenant le bouton + enfoncé, un menu de débogage PD s'affichera répertoriant tous les profils. D'une certaine manière, le Pinecil est un outil de débogage PD que vous pourrait déjà posséder.