Brevet FR3023633A1 — publié le 20160115

Dispositif de gestion d'erreurs sur un bus universel série L'invention concerne la transmission de données sur un bus série et plus particulièrement, la gestion d'erreurs lors d'une transmission. Le bus universel en série (ou USB pour Universal Serial Bus en anglais) est un bus informatique en transmission série servant à connecter des périphériques informatiques (aussi appelé USB devices en anglais) à un ordinateur (aussi appelé hôte ou USB host en anglais). L'USB est décliné en plusieurs versions permettant chacune de 1 o communiquer selon une pluralité de modes. La première version du bus USB permet communiquer selon deux modes : un mode lent (ou « Low Speed » dont le débit est de 1,5 Mbit/s) ou un mode rapide (« Full Speed » dont le débit est de 12 Mbit/s) : La deuxième version du bus USB comporte en outre un troisième 15 mode (appelé « High Speed » dont le débit est de 480 Mbit/s). Le bus USB fonctionne sur la base d'un anneau à jeton (ou Token Ring) avec lequel chaque noeud du réseau dispose successivement du bus. La bande passante est partagée temporellement entre tous les périphériques connectés. Le temps est subdivisé en trames (frames) ou 20 microtrames (microframes) pendant lesquels plusieurs transferts peuvent avoir lieu. La communication entre l'hôte et les périphériques se fait selon un protocole basé sur l'interrogation successive de chaque périphérique par l'hôte. Lorsque l'hôte désire communiquer avec un périphérique, il émet un 25 jeton (un paquet de données, contenant l'adresse du périphérique, codée sur sept bits) désignant un périphérique. Si le périphérique reconnait son adresse dans le jeton, il envoie un paquet de données en réponse. L'USB définit différents types de transferts : le transfert de commande (pour l'énumération et la configuration des périphériques), le transfert 30 d'interruption (utilisé pour fournir des informations de petite taille avec une latence faible) le transfert isochrone et le transfert en masse (pour transférer des informations volumineuses). Il est possible de structurer la communication entre un hôte et un périphérique en plusieurs canaux logiques (pipes et endpoints) pour simplifier la commande du périphérique du port USB. L'USB ne définit pas de moyen permettant de gérer facilement des erreurs de transmissions. Par exemple, avec une clé USB sur laquelle on trouve une bibliothèque musicale connectée à un lecteur, si un défaut physique fugitif intervient sur le faisceau (vibrations, chocs ou autre), le lecteur n'est plus en mesure de jouer la suite de la musique, qui s'arrête. 1 o L'utilisateur est alors obligé de déconnecter la clé et de la reconnecter pour réinitialiser la communication, ou de redémarrer le lecteur de musique. On connaît, par le document US2006/0236003, une méthode et un système pour contrôler une liaison USB. Cependant, cette solution ne permet pas de remédier à une erreur de transmission. 15 L'invention a donc pour but de remédier aux problèmes précités. Elle propose plus précisément à cet effet un équipement électronique comportant un contrôleur hôte apte à contrôler au moins un port de communication universel série, apte à être connecté à une pluralité de périphériques caractérisé en ce que chacun des périphériques connectés audit port est 20 associé à un superviseur de périphérique, ledit superviseur de périphérique étant apte à déterminer et à signaler un défaut de communication entre le port et le périphérique auquel il est associé et en ce que le contrôleur hôte comporte des moyens de réinitialisation du port de communication lorsque tous les superviseurs de périphérique signalent un défaut de communication. 25 En cas d'échec de communication avec tous les périphériques, l'invention permet de désactiver le port USB pour avoir des gains en consommation électrique. Avantageusement, les moyens de réinitialisation du port de communication sont un automate à états finis. 30 Avantageusement, l'automate à états finis comporte au moins trois états : - un état d'initialisation correspondant à une initialisation de la communication entre l'hôte et un périphérique, - un état nominal, correspondant à une communication avec un débit nominal entre l'hôte et le périphérique, - un état erreur de périphérique, correspondant à un défaut de communication entre l'hôte et le périphérique. Avantageusement, l'automate à états finis comporte en outre un état dégradé correspondant à une communication, entre l'hôte et le périphérique, avec un débit dégradé, inférieur au débit nominal. 1 o En prévoyant un état dégradé, l'invention permet d'établir une communication en mode dégradé lorsque des défauts se produisent, plutôt que de perdre la communication. Avantageusement, l'automate à états finis comporte en outre un état erreur correspondant à un défaut de communication entre l'hôte et tous les 15 périphériques connectés à l'hôte. Cette caractéristique permet de facilement mettre en oeuvre la désactivation du port USB en cas d'échec de communication avec tous les périphériques. Avantageusement, l'automate à états finis passe d'un état nominal à 20 un état dégradé suite à la détection d'un défaut de communication entre l'hôte et le périphérique. Avantageusement, l'automate à états finis passe d'un état dégradé à un état erreur de périphérique suite à la détection d'un défaut de communication entre l'hôte et le périphérique. 25 Avantageusement, l'automate à états finis passe d'un état dégradé à un état nominal suite à la réalisation d'une première condition prédéterminée. Ceci permet de rétablir une communication avec un débit dégradé vers un débit normalement, par exemple après un temps prédéfini passé en mode dégradé. 30 Avantageusement, l'automate à états finis passe d'un état erreur de périphérique à un état dégradé suite à la réalisation d'une deuxième condition prédéterminée. Ceci permet de rétablir une communication interrompue avec un débit dégradé, par exemple après un temps prédéfini après l'interruption de la communication, sans intervention d'un utilisateur. L'invention concerne aussi un véhicule comportant un dispositif selon l'invention. D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur io lesquels: - la figure 1 montre une vue schématique d'un réseau ; - la figure 2 montre une représentation d'un automate décrivant le fonctionnement d'un superviseur selon l'invention. Les dessins annexés pourront non seulement servir à compléter 15 l'invention, mais aussi contribuer à sa définition, le cas échéant. La figure 1 montre une vue schématique d'un réseau. Le réseau relie un calculateur hôte 11 à un premier périphérique 12 et à un deuxième périphérique 13 par l'intermédiaire d'une liaison USB. Dans l'exemple, le nombre de périphériques est limité à deux. Mais 20 on ne sort pas du cadre de l'invention en modifiant le nombre de périphériques du réseau. Dans ce qui suit, on considère à titre d'exemple non limitatif que le calculateur hôte 11 est un calculateur de véhicule automobile. Mais l'invention n'est pas limitée à ce mode de réalisation. En effet, elle concerne tout 25 calculateur comportant un connecteur USB et un contrôleur USB hôte. Dans ce qui suit, on considère à titre d'exemple non limitatif que le premier périphérique 12 est aussi un calculateur de véhicule automobile. Mais l'invention n'est pas limitée à ce mode de réalisation. En effet, elle concerne tout calculateur comportant un connecteur USB et un contrôleur USB 30 périphérique. Le deuxième périphérique 13 est par exemple un périphérique de stockage (de type disque dur). En référence à la figure 2, le superviseur 20 est un automate comportant les états suivants : - « sommeil » 21 : couches basses USB non initialisées ; - « initialisation » 22 : couches basses USB initialisées et en attente de la connexion d'un périphérique 12; - « nominal » : communication USB fonctionnelle entre l'hôte 11 et le périphérique 12 au débit High Speed ; - « dégradé »: communication USB fonctionnelle entre l'hôte 11 et le périphérique 12 au débit Full Speed ; _ « erreur_x » : communication avec le périphérique 12 désactivée ; _ « erreur » : communication avec tous les périphériques 12, 13 connectés au port USB de l'hôte 11 est désactivée. Le port USB est désactivé. On rappelle que, généralement dans les modèles de communication, on distingue sept couches (la couche « physique », la couche « liaison de données », la couche « réseau », la couche « transport », la couche « session », la couche « présentation » et la couche « application »). Les trois premières couches sont appelées couches matérielles ou couches basses alors que les quatre dernières couches sont appelées couches hautes ou couches supérieures. L'état « sommeil » 21 correspond à un réseau USB non fonctionnel. Le superviseur 20 du réseau USB est dans l'état « sommeil » 21 suite à une mise en tension de l'hôte 11. Lorsque les couches logicielles supérieures ont besoin d'utiliser le réseau USB, le superviseur 20 commute dans l'état « initialisation » 22. Cet état correspond à une initialisation des couches basses du réseau USB. Dès lors, le superviseur 20 se met en attente d'une connexion d'un périphérique 12 USB. Lorsqu'un périphérique 12 USB est détecté, le superviseur 20 commute dans un état « nominal » 23. A l'entrée dans l'état « nominal » 23, le superviseur 20 initialise la communication avec le périphérique 12 USB avec un débit nominal. En cas d'échec, le superviseur 20 commute dans un état « dégradé » 24. Par contre, si la communication est correctement établie avec le débit nominal, le superviseur 20 reste dans l'état « nominal » 23. Si, alors que l'hôte 12 est dans l'état « nominal » 23, un défaut réseau survient (par exemple une perte de communication), le superviseur 20 réseau 1 o commute dans l'état « dégradé » 24. Dans l'état « dégradé » 24, le superviseur 20 initialise la communication avec le périphérique 12 avec un débit dégradé. En cas d'échec, il commute dans un état « erreur_x » 25. Si la communication est correctement établie avec le débit dégradé, 15 le périphérique 12 reste dans l'état « dégradé » 25. Si, alors que l'hôte 11 est dans l'état « dégradé » 24, un défaut réseau survient (par exemple une perte de communication), le superviseur 20 réseau commute dans l'état « erreur_x » 25. Dans l'état « erreur_x » 25, la connexion avec le périphérique 12 est 20 désactivée, et plus aucune communication n'est possible entre l'hôte 11 et le périphérique 12. Les états « initialisation », « nominal », « dégradé » et « erreur_x » sont regroupés dans un « sous-automate » 27 appelé superviseur de périphérique qui ne concerne qu'un seul périphérique. 25 Le superviseur réseau 20 doit implémenter autant d'états superviseur de périphérique 27 qu'il y a de périphériques connectés au port USB. Lorsque tous les périphériques sont déclarés en « erreur_x » (autrement dit, lorsque que tous les superviseurs de périphérique 27 sont dans l'état « erreur_x » 25) le superviseur 20 commute dans l'état « erreur » 26. Dans cet état, l'hôte 11 désactive le port USB. Dans une variante de réalisation de l'invention, lorsque le superviseur 20 commute dans l'état « erreur » 26, celui-ci réinitialise les couches basses USB puis commute dans l'état « initialisation » 22. Lorsque les couches logicielles supérieures n'ont plus besoin d'utiliser le réseau USB, le superviseur 20 commute dans l'état « sommeil » 21, quel que soit l'état de la connexion entre l'hôte 11 et les périphériques 12,13. Selon une variante de réalisation de l'invention, lorsque l'hôte 11 est dans l'état « dégradé » 24 et après la réalisation d'une condition (par exemple après l'écoulement d'un temps prédéfini), le superviseur 20 réseau commute dans l'état « nominal » 23. Selon une variante de réalisation de l'invention, lorsque l'hôte 11 est dans l'état « erreur_x » et après la réalisation d'une condition (par exemple après l'écoulement d'un temps prédéfini), le superviseur 20 réseau commute dans l'état « dégradé » 24. REVENDICATIONS1. Equipement électronique comportant un contrôleur hôte (11) apte à contrôler au moins un port de communication universel série, apte à être connecté à une pluralité de périphériques (12, 13) caractérisé en ce que chacun des périphériques connectés (12,13) audit port est associé à un superviseur (27) de périphérique, ledit superviseur (27) de périphérique étant apte à déterminer et à signaler un défaut de communication entre le port et le périphérique auquel il est associé et en ce que le contrôleur hôte (11) comporte des moyens de réinitialisation du port de communication lorsque tous les superviseurs de périphérique signalent un défaut de communication. 2. Equipement électronique selon la revendication 1, caractérisé en ce que les moyens de réinitialisation du port de communication sont un automate (20) à états finis. 3. Equipement électronique selon la revendication 2, caractérisé en ce que l'automate (20) à états finis comporte au moins trois états : - un état d'initialisation (22) correspondant à une initialisation de la communication entre l'hôte (11) et un périphérique (12), - un état nominal (23), correspondant à une communication avec un débit nominal entre l'hôte (11) et le périphérique (12), - un état erreur (25) de périphérique, correspondant à un défaut de communication entre l'hôte (11) et le périphérique (12). 4. Equipement électronique selon la revendication 3, caractérisé en ce que l'automate à états finis comporte en outre un état dégradé (24) correspondant à une communication, entre l'hôte (11) et le périphérique (12), avec un débit dégradé, inférieur au débit nominal. 5. Equipement électronique selon l'une des revendications 2 à 4, caractérisé en ce que l'automate (20) à états finis comporte en outre un état erreur (26) correspondant à un défaut de communication entre l'hôte (11) et tous les périphériques (12,13) connectés à l'hôte (11). 6. Equipement électronique selon l'une des revendications 4 ou 5, caractérisé en ce que l'automate (20) à états finis passe d'un état nominal (23) à un état dégradé (24) suite à la détection d'un défaut de communication entre l'hôte (11) et le périphérique. 7. Equipement électronique selon l'une des revendications 4 à 6, caractérisé en ce que l'automate (20) à états finis passe d'un état dégradé (24) à un état erreur (25) de périphérique suite à la détection d'un défaut de communication entre l'hôte (11) et le périphérique. 8. Equipement électronique selon l'une des revendications 4 ou 7, caractérisé en ce que l'automate (20) à états finis passe d'un état dégradé (24) à un état nominal (23) suite à la réalisation d'une première condition prédéterminée. 9. Equipement électronique selon l'une des revendications 4 à 8, caractérisé en ce que l'automate (20) à états finis passe d'un état erreur (25) de périphérique à un état dégradé (24) suite à la réalisation d'une deuxième condition prédéterminée. 10. Véhicule comportant un équipement électronique selon l'une des revendications précédentes.