Brevet FR3102583A1 — publié le 20210430

Dispositif à connecteur USB La présente description concerne un dispositif électronique comprenant un connecteur USB (202), un premier élément (208) configuré pour faire fonctionner le connecteur dans un rôle de dispositif hôte, un deuxième élément (210) configuré pour faire fonctionner le connecteur dans un rôle de dispositif périphérique, et un troisième élément (204) configuré pour générer un premier signal (207) représentatif du rôle du dispositif lors d'une connexion du connecteur. Figure pour l'abrégé : Fig. 2 Dispositif à connecteur USB La présente description concerne de façon générale les dispositifs électroniques, plus particulièrement les dispositifs électroniques à connecteur USB, et plus précisément, les dispositifs électroniques à connecteur USB-C. Le terme anglais "Universal Serial Bus" ou USB (en français bus universel en série) est une norme relative à un bus informatique en série qui sert à connecter des dispositifs électroniques à un ordinateur ou à tout type d'appareil prévu à cet effet (tablette, smartphone, etc.). Le bus USB peut alimenter certains dispositifs électroniques (clé USB, disques SSD, etc.). Le bus USB permet donc la communication de données entre des dispositifs électroniques et permet de fournir de l'énergie électrique à l'un des dispositifs électroniques. Un mode de réalisation pallie tout ou partie des inconvénients des dispositifs électroniques à connecteur USB connus. Un mode de réalisation prévoit un dispositif électronique comprenant un connecteur USB, un premier élément configuré pour faire fonctionner le connecteur dans un rôle de dispositif hôte, un deuxième élément configuré pour faire fonctionner le connecteur dans un rôle de dispositif périphérique, et un troisième élément configuré pour générer un premier signal représentatif du rôle du dispositif lors d'une connexion du connecteur. Selon un mode de réalisation, le connecteur est un connecteur USB-C. Selon un mode de réalisation, les premier et deuxième éléments sont des contrôleurs. Selon un mode de réalisation, le deuxième élément est un contrôleur DRD. Selon un mode de réalisation, le premier signal est un signal binaire. Selon un mode de réalisation, le troisième élément est configuré pour fournir le premier signal à un quatrième élément, le quatrième élément étant configuré pour sélectionner selon la valeur du premier signal, parmi le premier élément et le deuxième élément, quel élément gère le fonctionnement du connecteur. Selon un mode de réalisation, le quatrième élément permet de commander un commutateur UTMI. Selon un mode de réalisation, le troisième élément est configuré pour émettre un signal d'interruption lors d'une connexion du connecteur. Selon un mode de réalisation, le troisième élément est configuré pour émettre un signal d'interruption lors d'une déconnexion du connecteur. Un autre mode de réalisation prévoit un procédé de fonctionnement d'un dispositif électronique comprenant un connecteur USB, un premier élément configuré pour faire fonctionner le connecteur dans le rôle de dispositif hôte, un deuxième élément configuré pour faire fonctionner le connecteur dans le rôle dispositif périphérique, le procédé comprenant, lors d'une connexion du connecteur, la génération d'un premier signal représentatif du rôle du dispositif lors d'une connexion du connecteur. Selon un mode de réalisation, le procédé comprend la sélection, par un quatrième élément, selon la valeur du premier signal, parmi le premier élément et le deuxième élément, quel élément gère le fonctionnement du connecteur. Selon un mode de réalisation, le procédé comprend une étape d'envoi d'un signal d'interruption par le troisième élément lors d'une déconnexion du connecteur. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente des dispositifs pouvant être reliés par un bus USB ; la figure 2 représente un mode de réalisation d'un dispositif électronique ; et la figure 3 représente un mode de réalisation d'un procédé de fonctionnement d'un dispositif électronique. De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques. Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, les différents dispositifs électroniques et leurs applications ne sont pas décrits en détails, les modes de réalisation étant adaptés à tous les dispositifs électroniques à connecteur USB. Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés ou couplés entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés ou couplés par l'intermédiaire d'un ou plusieurs autres éléments. Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures. Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près. La figure 1 représente des dispositifs 100 et 102 pouvant être reliés par une connexion filaire 104. La connexion filaire est une connexion par bus USB (Universal Serial Bus), ou connexion USB. Une connexion USB est faite par l'intermédiaire d'un connecteur femelle et un connecteur mâle. Les connecteurs mâle et femelle sont en contact physique lorsque la connexion est effectuée. Les dispositifs 100 et 102 comprennent des connecteurs complémentaires, c'est-à-dire un connecteur mâle et un connecteur femelle. Dans l'exemple de la figure 1, le dispositif 100 comprend un connecteur 106 femelle et le dispositif 102 comprend un connecteur 108 mâle. Dans l'exemple de la figure 1, les connecteurs 106 et 108 ne sont pas connectés. La connexion filaire 104 peut être effectuée en connectant le connecteur 106 au connecteur 108. D'autres connexions avec le dispositif 100 peuvent être effectuées en connectant le connecteur 106 à un autre dispositif par un autre connecteur mâle. De même, d'autres connexions avec le dispositif 102 peuvent être effectuées en connectant le connecteur 108 à un autre dispositif par un autre connecteur femelle. Les dispositifs peuvent alternativement être reliés par un ou plusieurs câbles USB. Dans le cas de la figure 1, les dispositifs 100 et 102 pourraient être reliés par un câble comprenant un connecteur mâle à une extrémité et un connecteur femelle à l'autre extrémité. Dans le cas de deux dispositifs ayant des connecteurs de même type, généralement femelles, les dispositifs peuvent alors être reliés par un câble comprenant aux deux extrémités des connecteurs de type mâle. Lors du fonctionnement des dispositifs 100 et 102, et plus précisément lors du fonctionnement de la connexion filaire 104, un des dispositifs a le rôle d'hôte et l'autre dispositif a le rôle de périphérique. Autrement dit, lors du fonctionnement de la connexion filaire 104, un des dispositifs est un hôte et l'autre dispositif est un périphérique. La relation hôte/périphérique est similaire à une relation maître/esclave entre les dispositifs électroniques. Dans l'exemple de la figure 1, l'hôte est par exemple le dispositif 100 et le périphérique est par exemple le dispositif 102. Parmi les dispositifs dans une relation hôte/périphérique, le dispositif hôte est le dispositif fournissant un courant au dispositif périphérique. Le dispositif hôte peut donc fournir par exemple la puissance électrique permettant le fonctionnement du dispositif périphérique. De plus, le dispositif hôte initie tous les échanges de données entre le dispositif périphérique et le dispositif hôte. Le dispositif hôte envoie par exemple des commandes au dispositif périphérique. Le dispositif périphérique ne prend part à la connexion, par exemple en fournissant des données ou en exécutant des instructions, que sur sollicitation du dispositif hôte. Par exemple, dans une connexion USB entre un ordinateur et un clavier, l'ordinateur est l'hôte et le clavier est le périphérique. En effet, le clavier est alimenté en énergie par l'ordinateur par l'intermédiaire de la connexion USB. De la même manière, dans une connexion USB entre un ordinateur et une souris, l'ordinateur est l'hôte et la souris est le périphérique. Certains dispositifs, comme par exemple des claviers, des souris ou des dispositifs de stockage mémoire, sont toujours des périphériques lors d'une connexion USB. De même, certains dispositifs sont toujours des dispositifs hôte lors d'une connexion USB. D'autres dispositifs peuvent, selon le dispositif avec lequel ils sont connectés par connexion USB, être des hôtes ou des périphériques. Par exemple, dans une connexion USB entre un téléphone portable ou une tablette et un ordinateur, l'ordinateur est l'hôte et le téléphone ou la tablette est le périphérique. Cependant, dans une connexion USB entre un téléphone portable ou une tablette et un dispositif de stockage mémoire, le téléphone, ou la tablette, est l'hôte et le dispositif de stockage mémoire est le périphérique. Dans l'exemple de la figure 1, la connexion est de préférence une connexion USB de type C, ou connexion USB-C. Les connecteurs 106 et 108 sont des connecteurs adaptés à former une connexion USB de type C, ou connexion USB-C. Les connecteurs 106 et 108 sont dont des connecteurs USB de type C, ou connecteurs USB-C. Les connexions USB-C sont conçues pour de nombreux usages. En particulier, les connexions USB-C peuvent permettre l'alimentation électrique des dispositifs connectés, le transfert de données, le branchement de câble audio, le branchement de sortie vidéo, etc. Le type C est une norme de connexion USB. Le type C est à différencier des types A et B existant précédemment. En particulier, les connexions USB-C sont réversibles, c'est-à-dire que chaque connecteur est symétrique selon deux axes perpendiculaires et peut donc être branché à un connecteur complémentaire dans un premier sens, ou dans un deuxième sens opposé au premier sens. De plus, un dispositif peut être, par l'intermédiaire d'un connecteur USB-C, hôte dans une connexion avec un dispositif et être, par l'intermédiaire du même connecteur, périphérique dans une connexion avec un autre dispositif. Ainsi, dans l'exemple de la figure 1, les dispositifs 100 et 102 peuvent respectivement être le périphérique et l'hôte ou être l'hôte et le périphérique. Cependant, les dispositifs comprenant un connecteur de type mâle sont généralement des périphériques. Par exemple, au moins un des dispositifs peut avoir plus de deux connecteurs USB. Par exemple, certains dispositifs peuvent avoir au moins deux connecteurs femelles. Par exemple, certains connecteurs peuvent être de types différents. Par exemple, un dispositif peut comprendre au moins un connecteur USB-C et au moins un connecteur de type USB-A ou de type USB-B. La figure 2 représente un mode de réalisation d'un dispositif électronique 200. Le dispositif électronique est par exemple adapté à échanger des données par un bus USB suivant la norme USB 3.2 et/ou la norme USB 2.0. Le dispositif 200 comprend un ensemble 201 de fonctions pouvant être mises en oeuvre de manière numérique ou analogique, et au moins un connecteur 202. Dans l'exemple de la figure 2, le dispositif 200 comprend un connecteur 202 et un connecteur 203. De préférence, l'ensemble 201 comprend au moins une puce. L'ensemble 201 comprend de préférence au moins un microcontrôleur ou un microprocesseur. De préférence, l'ensemble 201 peut mettre en oeuvre des logiciels et met en oeuvre un système d'exploitation, par exemple Linux. En figure 2, le connecteur 202 est un connecteur USB-C. Le connecteur 202 représenté est un connecteur femelle. Ainsi, le dispositif 200 est par exemple le dispositif 100 ou le dispositif 102 de la figure 1. Le dispositif 200 est adapté à être connecté à un dispositif électronique non représenté, directement ou par l'intermédiaire d'un câble USB. Le connecteur 202 est relié, de préférence connecté, à un circuit 204 de contrôle du connecteur 202 ou pilote du connecteur (driver). Le circuit 204 de contrôle du connecteur est de préférence configuré pour émettre un signal d'interruption 206 INTERRUPT. Le signal d'interruption 206 INTERRUPT est émis lorsqu'un dispositif non représenté est connecté au dispositif 200 par l'intermédiaire du connecteur 202. Le signal 206 INTERRUPT est ainsi émis lors de chaque connexion du connecteur 202 à un dispositif non représenté. De préférence, le circuit 204 est aussi configuré pour émettre un signal d'interruption lors de la déconnexion du dispositif non représenté pouvant être le même signal d'interruption ou un signal distinct du signal émis lors de la connexion. Le dispositif non représenté comprend par exemple les mêmes éléments que le dispositif 200 décrit en relation avec la liaison USB, c'est-à-dire comprend par exemple un connecteur complémentaire au connecteur du dispositif 200 (un connecteur mâle dans l'exemple de la figure 2), et des circuits de commande de la connexion similaires aux circuits de commande de la connexion qui seront décrits par la suite. Ainsi, lorsqu'une connexion USB est formée entre le dispositif 200 et le dispositif non représenté, par l'intermédiaire du connecteur 202, le signal 206 INTERRUPT est fourni par le circuit 204 au reste du dispositif 200, de préférence à tous les éléments du dispositif 200. En outre, le circuit 204 est configuré pour générer un signal 207 (HP) représentatif du rôle de chaque dispositif dans la connexion entre le dispositif 200 et le dispositif non représenté. Par le rôle d'un des dispositifs dans la connexion, on entend le rôle de dispositif hôte ou de dispositif périphérique. Le signal HP prend par exemple une première valeur si le dispositif 200 est un dispositif hôte et le dispositif non représenté est un dispositif périphérique et une deuxième valeur si le dispositif 200 est un dispositif périphérique et le dispositif non représenté est un dispositif hôte. Par exemple, cette information est contenue dans un registre du dispositif 200. Cela est par exemple le cas lorsque le dispositif 200 ne peut fonctionner qu'en tant que dispositif hôte ou en tant que dispositif périphérique. L'information sur le rôle des dispositifs peut être obtenue par le circuit 204 par d'autres moyens. Le signal 207 est de préférence transmis par un bus I2C (Inter Integrated Circuit), comprenant un bus de transmission de données et un bus d'horloge. Alternativement, le signal 207 peut être contenu dans un registre, et être accessible au dispositif 200. Le dispositif 200 comprend, de plus, dans l'ensemble 201, des fonctions ou éléments 208 et 210. Les éléments 208 et 210 sont de préférence des circuits, par exemple situés sur une puce de l'ensemble 201. Les éléments 208 et 210 sont des éléments, de préférence des circuits, de commande du connecteur 202. Les éléments 208 et 210 sont par exemple configurés pour faire fonctionner le connecteur 202. Les circuits 208 et 210 sont par exemple des contrôleurs du connecteur 202. Le circuit 208 est par exemple un circuit configuré pour faire fonctionner le connecteur 202 en mode hôte. Le circuit 208 est par exemple configuré pour fournir du courant au dispositif non représenté. Le circuit 208 est par exemple configuré pour initier et assurer le transfert de données avec un dispositif périphérique non représenté. Le circuit 210 est par exemple un circuit configuré pour faire fonctionner le connecteur en mode périphérique. Le circuit 210 est par exemple configuré pour gérer la connexion avec un dispositif hôte non représenté. De préférence, le circuit 210 est un circuit permettant de faire fonctionner le dispositif en mode DRD (Dual Rôle Device – Dispositif à rôle double). Le circuit 210 est donc configuré pour pouvoir faire fonctionner le dispositif 200 dans le rôle d'hôte ou dans le rôle de périphérique. De préférence, le dispositif 208 ne peut faire fonctionner le dispositif que dans le rôle d'hôte. Il serait possible de faire fonctionner le connecteur 202 dans le rôle d'hôte en utilisant le circuit 210 en tant que contrôleur du connecteur 202. Cependant, le circuit 208 permet une vitesse de transfert plus élevée que le circuit 210 lorsque le connecteur fonctionne dans le rôle d'hôte. Le dispositif 200 comprend une fonction ou un élément 212. L'élément 212 est par exemple un circuit ou un logiciel. De préférence, l'élément 212 est un logiciel mis en oeuvre par un microprocesseur ou un microcontrôleur. De préférence, l'élément 212 est implémenté dans un système Linux. De préférence, l'élément 212 commande un commutateur UTMI (USB Transceiver Macrocell Interface). De manière plus générale, l'élément 212 est configuré pour sélectionner quel élément, parmi les éléments 208 et 210, fait fonctionner le connecteur, pour une connexion donnée. L'élément 212 reçoit le signal 206 et le signal 207 fournis par l'élément 204 concernant respectivement l'état de la connexion, c'est-à-dire s'il y a eu une connexion ou une déconnexion, et le rôle (hôte ou périphérique) du dispositif 200 dans cette connexion. Les informations fournies par le circuit 204 (signal 207 et signal 206) sont de préférence accessibles par tous les éléments (circuits ou logiciels) de l'ensemble 201, et en particulier par les éléments 208, 210 et 212. Les informations concernant le rôle des dispositifs sont donc accessibles par tous les éléments du dispositif 200, et en particulier par l'élément 212. Le connecteur 203 est par exemple un connecteur USB, par exemple de type A ou B. Dans l'exemple de la figure 2, le connecteur 203 est un connecteur USB de type A. Le connecteur est relié à l'élément 208. L'élément faisant fonctionner le connecteur 203 n'est de préférence pas sélectionné par un élément tel que l'élément 212. Le fonctionnement du connecteur 203 est géré par l'élément 208, quel que soit le dispositif sur lequel est branché le connecteur 203. Similairement, un connecteur non représenté pourrait être relié à l'élément 210. Le fonctionnement de ce connecteur non représenté serait alors géré par l'élément 210, quel que soit le dispositif branché sur le connecteur non représenté. La figure 3 représente un mode de réalisation d'un procédé de fonctionnement d'un dispositif électronique. Par exemple, la figure 3 représente un procédé de fonctionnement d'un premier dispositif lors de sa connexion à un deuxième dispositif. Les premier et deuxième dispositifs sont par exemple des dispositifs tels que le dispositif 200 de la figure 2. De préférence, le procédé est mis en oeuvre par les premier et deuxième dispositifs parallèlement lors de la connexion. Le procédé de fonctionnement est décrit en relation avec le premier dispositif. Les étapes du procédé sont de préférence successives. Au cours d'une étape de fonctionnement 300 (CONNECTION), une connexion est effectuée entre les premier et deuxième dispositifs. La connexion est effectuée par l'intermédiaire de connecteurs USB-C. Une connexion USB-C est donc mise en place entre les premier et deuxième dispositifs. La connexion entre les premier et deuxième dispositifs est effectuée en branchant un connecteur USB-C du premier dispositif à un connecteur USB-C du deuxième dispositif. Au cours d'une autre étape de fonctionnement 302 (INTERRUPT1), un signal d'interruption INTERRRUPT est émis par le circuit 204 (figure 2) du premier dispositif. Le signal d'interruption est par exemple rendue accessible à tous les composants et tous les logiciels de l'ensemble 201, de préférence au moins accessible à l'élément 212. Le signal INTERRUPT fournit l'information selon laquelle le connecteur 202 du premier dispositif a été connecté à un connecteur d'un autre dispositif, ici le deuxième dispositif. Au cours d'une autre étape 304 (HOST/DEVICE) du procédé, le circuit 204 détermine si le premier dispositif est l'hôte ou le périphérique dans la connexion avec le deuxième dispositif. Le signal 207, représentatif du rôle respectif des dispositifs de la connexion, est par exemple obtenu du deuxième dispositif. Le signal 207 est par exemple rendu accessible à tous les composants et tous les logiciels de l'ensemble 201, de préférence au moins accessible à l'élément 212. Par exemple, le signal 207 est un signal binaire, c'est-à-dire pouvant prendre deux valeurs distinctes. Le signal 207 prend une première valeur si le premier dispositif est l'hôte et une deuxième valeur si le premier dispositif est le périphérique. Au cours d'une autre étape 306 (CONFIGURE INTERFACE) du procédé, l'élément 212 sélectionne, selon le signal 207, l'élément 208 ou l'élément 210 pour faire fonctionner le connecteur. Une communication, ou liaison, est ainsi formée entre le connecteur 202 et l'élément sélectionné, permettant le transfert de données et d'énergie. Par exemple, dans le cas où le signal 207 est un signal binaire, si le signal 207 a la première valeur, le fonctionnement du connecteur 202 est géré par l'élément 208, et si le signal 207 a la deuxième valeur, le fonctionnement du connecteur 202 est géré par l'élément 210. De préférence, les éléments 208 et 210 ne fonctionnement pas en même temps. De préférence, le fonctionnement d'un connecteur, le connecteur 203 dans cet exemple, est géré par un unique élément 208 ou 210. Au cours d'une autre étape 308 (WORKING), la connexion USB et les dispositifs sont en fonctionnement. Des échanges de données et/ou d'énergie sont effectués. Au cours d'une autre étape 310 (DECONNECTION), les connecteurs 202 des premier et deuxième dispositifs sont déconnectés, c'est-à-dire débranchés. Au cours d'une autre étape 312 (INTERRUPT2), un signal d'interruption est fourni par l'élément 204. Le signal d'interruption INTERRUPT est par exemple accessible à tous les composants et tous les logiciels de l'ensemble 201, de préférence au moins accessible à l'élément 212. Un avantage des modes de réalisation décrits est qu'il permet un débit de transmission plus élevé entre les dispositifs de la connexion que dans une connexion gérée uniquement par un circuit tel que le circuit 210, permettant de faire fonctionner le dispositif en mode Dual Rôle Device. Divers modes de réalisation et variantes ont été décrits. L’homme de l’art comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaitront à l’homme de l’art. Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de l’homme du métier à partir des indications fonctionnelles données ci-dessus. Dispositif électronique comprenant un connecteur USB (202), un premier élément (208) configuré pour faire fonctionner le connecteur dans un rôle de dispositif hôte, un deuxième élément (210) configuré pour faire fonctionner le connecteur dans un rôle de dispositif périphérique, et un troisième élément (204) configuré pour générer un premier signal (207) représentatif du rôle du dispositif lors d'une connexion du connecteur. Dispositif selon la revendication 1, dans lequel le connecteur (202) est un connecteur USB-C. Dispositif selon la revendication 1 ou 2, dans lequel les premier (208) et deuxième (210) éléments sont des contrôleurs. Dispositif selon l'une quelconque des revendications 1 à 3, dans lequel le deuxième élément (210) est un contrôleur DRD. Dispositif selon l'une quelconque des revendications 1 à 4, dans lequel le premier signal (207) est un signal binaire. Dispositif selon l'une quelconque des revendications 1 à 5, dans lequel le troisième élément (204) est configuré pour fournir le premier signal (207) à un quatrième élément (212), le quatrième élément étant configuré pour sélectionner selon la valeur du premier signal, parmi le premier élément (208) et le deuxième élément (210), quel élément gère le fonctionnement du connecteur. Dispositif selon la revendication 6, dans lequel le quatrième élément (212) permet de commander un commutateur UTMI. Dispositif selon l'une quelconque des revendications 1 à 7, dans lequel le troisième élément (204) est configuré pour émettre un signal d'interruption (206) lors d'une connexion du connecteur. Dispositif selon la revendication 1 à 8, dans lequel le troisième élément (204) est configuré pour émettre un signal d'interruption (206) lors d'une déconnexion du connecteur. Procédé de fonctionnement d'un dispositif électronique comprenant un connecteur USB (202), un premier élément (208) configuré pour faire fonctionner le connecteur dans le rôle de dispositif hôte, et un deuxième élément (210) configuré pour faire fonctionner le connecteur dans le rôle dispositif périphérique, le procédé comprenant, lors d'une connexion du connecteur, la génération d'un premier signal (207) représentatif du rôle du dispositif lors d'une connexion du connecteur. Procédé selon la revendication 10, comprenant la sélection, par un quatrième élément (212), selon la valeur du premier signal, parmi le premier élément (208) et le deuxième élément (210), quel élément gère le fonctionnement du connecteur. Procédé selon la revendication 10 ou 11, comprenant une étape d'envoi d'un signal d'interruption par un troisième élément (204) lors d'une déconnexion du connecteur.