Brevet FR3025332A1 — publié le 20160304

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 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 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 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 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 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 3025332 2 des informations volumineuses). L'USB ne définit pas de moyen permettant de gérer facilement des erreurs de connexion. Selon l'art connu, l'hôte affecte le débit de la liaison USB lors de la connexion du périphérique. Rien n'est prévu lorsque, suite à un 5 défaut lors de la phase de connexion, un périphérique High Speed est initialisé en Full Speed. Celui-ci reste en Full Speed jusqu'à sa coupure d'alimentation. L'utilisateur est alors obligé de déconnecter le périphérique et de le reconnecter pour réinitialiser la communication. 10 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 connexion. 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 15 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 le contrôleur hôte (11) comporte : - des moyens pour d'établissement d'une connexion, selon un débit prédéterminé, avec un périphérique (12, 13) connecté au port de 20 communication, - des moyens de mesure du débit entre le contrôleur hôte (11) et le périphérique (12) et signaler une erreur si le débit mesuré est inférieur au débit prédéterminé, - des moyens d'établissement d'une nouvelle connexion avec le 25 périphérique selon le débit prédéterminé lorsque les moyens de mesure signalent une erreur. L'invention apporte de la robustesse lors la connexion d'un périphérique et permet d'effectuer plusieurs tentatives en High Speed puis en Full Speed plutôt que de perdre la communication dès la première erreur. 30 Avantageusement, les moyens d'établissement d'une nouvelle connexion avec le périphérique comportent un automate à états finis. 3025332 3 Avantageusement, l'automate à états finis comporte au moins quatre états : - un premier état correspondant à une initialisation de la communication, avec un débit nominal, entre l'hôte et un périphérique, 5 - un deuxième état, correspondant à une communication, avec un débit nominal, entre l'hôte et le périphérique, - un troisième état, correspondant à une initialisation de la communication, avec un débit dégradé, entre l'hôte et un périphérique, - un quatrième état, correspondant à une communication avec un débit io dégradé entre l'hôte et le périphérique. Avantageusement, l'automate à états finis comporte en outre un cinquième état, correspondant à un arrêt de la connexion entre l'hôte et le périphérique. Avantageusement, l'automate à états finis passe du premier état au 15 troisième état après au moins un échec de connexion au débit nominal. Avantageusement, l'automate à états finis passe du troisième état au cinquième état après au moins un échec de connexion au débit dégradé. Avantageusement, l'hôte comporte autant d'automates que de périphériques connectés à lui. 20 Avantageusement, l'automate à états finis passe du troisième état au premier état après l'écoulement d'une première durée de temporisation. Avantageusement, l'automate à états finis passe du quatrième état au premier état après l'écoulement d'une deuxième durée de temporisation. L'invention concerne aussi un véhicule comportant un dispositif selon 25 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 lesquels: - la figure 1 montre une vue schématique d'un réseau ; 30 - la figure 2 montre une représentation d'un automate décrivant le 3025332 4 fonctionnement d'un superviseur selon l'invention. Les dessins annexés pourront non seulement servir à compléter 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 5 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 on ne sort pas du cadre de l'invention en modifiant le nombre de périphériques du réseau. 10 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 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 15 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 périphérique. Le deuxième périphérique 13 est par exemple un périphérique de 20 stockage (de type disque dur). En référence à la figure 2, les moyens d'établissement d'une nouvelle connexion avec le périphérique comportent un automate à états finis comprenant les états suivants : - un premier état 21 « HS_Connect » correspondant à une 25 tentative de connexion en High Speed (ou débit nominal) de l'hôte 11 au périphérique 12 ; - un deuxième état 22 « HS_MODE » correspondant à une connexion établie en High Speed entre l'hôte 11 et le périphérique 12 ; - un troisième état 23 « FS_Connect » correspondant à une 30 tentative de connexion en Full Speed (ou débit dégradé) de l'hôte 11 au périphérique 12 ; 3025332 5 - un quatrième état 24 « FS_MODE » correspondant à une connexion établie en Full Speed entre l'hôte 11 et le périphérique 12 - un cinquième état 25 « Erreur » correspondant à un arrêt des tentatives de reconnexion de l'hôte 11 au périphérique 12. 5 Selon une caractéristique de l'invention, l'hôte 11 comporte autant d'automates 20 que de périphériques 12,13 connecté à lui. Suite à la connexion d'un périphérique, l'automate de l'hôte 11 entre dans le premier état 21 « HS_Connect ». Dans cet état, l'hôte 11 effectue une tentative de connexion en High 1 o Speed avec le périphérique 12. Lorsque la tentative échoue, suite à la détection de l'erreur « ENUM_TIMEOUT », indiquant que le débit mesuré est inférieur au débit prédéterminé, l'hôte 11 effectue une nouvelle tentative et reste dans le premier état 21 « HS_Connect ». 15 En cas de nouvel échec, l'hôte 11 effectue une troisième et dernière tentative. En cas d'échec lors de la troisième tentative, l'hôte 11 commute dans le troisième état 23 « FS_Connect ». En cas de succès de connexion, l'hôte 11 commute dans le deuxième 20 état 22 « HS _MODE » et la communication fonctionnelle peut s'opérer en High Speed entre l'hôte 11 et le périphérique 12. De façon avantageuse, si un défaut réseau survient (ex : une perte de communication), pendant que l'hôte 11 est dans le deuxième état 22 « HS MODE », alors l'hôte 11 commute dans le premier état 21 25 « HS_Connect », afin d'effectuer jusqu'à trois nouvelles tentatives de reconnexion en High Speed. Dans le troisième état 23 « FS_Connect », l'hôte 11 effectue une tentative de connexion en Full Speed avec le périphérique 12. Lorsque la tentative échoue, suite à la détection de l'erreur 30 ENUM TIMEOUT, l'hôte 11 effectue une nouvelle tentative et reste dans le 3025332 6 troisième état 23 « FS_Connect ». En cas de nouvel échec, l'hôte 11 effectue une troisième et dernière tentative.En cas d'échec lors de la troisième tentative, l'hôte 11 commute dans le cinquième état 25 « Erreur ». 5 En cas de succès de connexion, l'hôte 11 commute dans le quatrième état 24 « FS_MODE » et la communication fonctionnelle peut s'opérer en Full Speed entre l'hôte 11 et le périphérique 12. Si, alors que l'hôte 11 est dans le quatrième état 24 « FS_MODE », un défaut réseau survient (ex : une perte de communication), l'hôte 11 10 commute dans le troisième état 23 « FS_Connect », afin d'effectuer jusqu'à trois nouvelles tentatives de reconnexion en Full Speed. Dans le cinquième état 25 « Erreur », la connexion avec le périphérique 12 est désactivée, et plus aucune communication n'est possible entre l'hôte 11 et le périphérique 12. 15 Dans une variante de réalisation de l'invention, quand l'hôte 11 est dans le troisième état 23 « FS_Connect », il peut commuter dans le premier état 21 « HS_Connect » par exemple après l'écoulement d'une première durée de temporisation, par exemple d'une minute. Dans une autre variante de réalisation de l'invention, quand l'hôte 11 20 est dans le quatrième état 24 « FS_MODE », il peut commuter dans le premier état 21 « HS_Connect » par exemple après l'écoulement d'une deuxième durée de temporisation, par exemple d'une minute. Dans une autre variante de réalisation de l'invention, quand l'hôte 11 est dans le cinquième état 25 « Erreur », il peut commuter dans le troisième 25 état 23 « FS_Connect » ou dans le premier état 21 « HS_Connect » par exemple après l'écoulement d'une troisième durée de temporisation, par exemple d'une minute. Dans cet exemple, le nombre de répétition pour les tentatives de connexion est fixé à trois. Il s'agit d'un exemple non limitatif. En effet, ce 30 nombre peut être inférieur ou supérieur. 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 le contrôleur hôte (11) comporte : - des moyens d'établissement d'une connexion, selon un débit prédéterminé, 10 avec un périphérique (12) connecté au port de communication, de moyens de mesure du débit entre le contrôleur hôte (11) et le périphérique (12) et signaler une erreur si le débit mesuré est inférieur au débit prédéterminé, des moyens d'établissement d'une nouvelle connexion avec le périphérique 15 (12) selon le débit prédéterminé lorsque les moyens de mesure signalent une erreur. 2. Equipement électronique selon la revendication 1, caractérisé en ce que les moyens d'établissement d'une nouvelle connexion avec le périphérique 20 comportent 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 quatre états : - un premier état (21) correspondant à une initialisation de la communication, 25 avec un débit nominal, entre l'hôte (11) et un périphérique (12), - un deuxième état (22), correspondant à une communication, avec un débit nominal, entre l'hôte (11) et le périphérique (12), - un troisième état (23), correspondant à une initialisation de la communication, avec un débit dégradé, entre l'hôte (11) et un périphérique 30 (12), - un quatrième état (24), correspondant à une communication avec un débit dégradé entre l'hôte (11) et le périphérique (12). 3025332 4. Equipement électronique selon l'une des revendications 2 ou 3, caractérisé en ce que l'automate (20) à états finis comporte en outre un cinquième état (25), correspondant à un arrêt de la connexion entre l'hôte (11) et le périphérique (12). 5. Equipement électronique selon l'une des revendications 2 ou 3, caractérisé en ce que l'hôte (11) comporte autant d'automates (20) que de périphériques (12,13) connectés à lui. io 6 Véhicule comportant un équipement électronique selon l'une des revendications précédentes.