FR 3011651 A1 20150410 FR 1359620 A 20131004 Procédé de mise à jour d'un calculateur de véhicule utilisant un boîtier d'interface et boîtier d'interface correspondant La présente invention se rapporte de manière générale au domaine de l'informatique. Plus précisément l'invention concerne un procédé de mise à jour d'un calculateur de véhicule. Pour corriger certains défauts d'origine logicielle d'un véhicule, le service après-vente du véhicule est parfois amené à reprogrammer le calculateur du véhicule. Cette mise à jour utilise un logiciel après-vente spécifique au constructeur du véhicule, tel que celui décrit dans le brevet FR2920558. Ce logiciel est intégré dans un ordinateur qu'un technicien branche au bus CAN (d'après l'anglais « Controller Area Network ») du véhicule, au niveau d'une prise diagnostic OBD (d'après l'anglais « On Board Diagnostic ») prévue à cet effet. La mise à jour du calculateur du véhicule s'effectue alors au travers du bus CAN. Cependant certains calculateurs récents ne sont pas programmables via le bus CAN du véhicule, mais via un connecteur USB (d'après l'anglais «Universal Serial Bus ») sur leur façade. Un technicien voulant mettre à jour un tel calculateur doit donc utiliser une clef USB sur laquelle il va charger un fichier de reprogrammation du véhicule correspondant, depuis son ordinateur équipé du logiciel après-vente du constructeur du véhicule. Le technicien sera alors à même de mettre à jour le calculateur du véhicule, sans confirmer sur son logiciel après-vente que la reprogrammation du véhicule aura été effectuée correctement. L'usage de ces clefs USB pose donc un problème de traçabilité au niveau du logiciel après-vente du constructeur. De plus, ces clefs USB présentent l'inconvénient de se perdre facilement. 3 0 1 16 5 1 2 Il est à noter que le port USB de l'ordinateur du technicien et le port USB du calculateur du véhicule étant tous deux du type « USB host », il n'est pas possible de les connecter directement, sauf à installer des logiciels d'exploitation spécifiques à la fois sur le calculateur du véhicule et sur 5 l'ordinateur du technicien, ce qui n'est pas souhaitable. Le brevet américain US6546450 propose un commutateur permettant à deux équipement pourvus d'un port « USB host » de partager une même clef USB, mais cette solution présente les mêmes inconvénients que l'usage direct d'une clef USB, tout en étant complexe et coûteuse« 10 Un des buts de l'invention est de remédier à au moins une partie des inconvénients de la technique antérieure en fournissant un procédé de mise à jour d'un calculateur de véhicule ainsi qu'un boîtier d'interface, permettant une 15 traçabilité des mises à jour d'un calculateur de véhicule, de manière simple et peu coûteuse. A cette fin, l'invention propose un boîtier d'interface entre deux calculateurs, comportant deux ports USB, caractérisé en ce qu'il comporte : - une mémoire de masse intégrée audit boîtier de manière non 20 amovible, -un commutateur apte à commuter une connexion entre l'un desdits ports USB et ladite mémoire de masse vers une connexion entre l'autre desdits ports USB et ladite mémoire de masse, - des moyens aptes à faire commuter ledit commutateur dès qu'une 25 alimentation est détectée sur l'un desdits ports USB, vers la connexion entre ladite mémoire de masse et ledit port USB dont l'alimentation vient d'être détectée, -et des moyens aptes à faire commuter ledit commutateur dès qu'un desdits ports USB n'est plus alimenté, vers la connexion entre ladite mémoire de masse et l'autre desdits ports USB. Grâce à l'invention, il est possible de reprogrammer un calculateur muni d'un port USB en connectant ce calculateur ainsi qu'un logiciel après-vente au boîtier d'interface selon l'invention. Le boîtier d'interface forme une zone tampon entre le calculateur et le logiciel après-vente permettant à celui- ci d'être informé des connexions et déconnexions du calculateur, et donc d'assurer le suivi des mises à jour du calculateur. De plus l'utilisation de ce boîtier d'interface permet de se passer de clef USB, et de ne pas contraindre le calculateur à être équipé d'un logiciel spécifique. L'invention concerne aussi un procédé de mise à jour d'un calculateur de véhicule, mis en oeuvre dans un ordinateur, comportant les étapes de : - identification dudit calculateur - identification d'un fichier de reprogrammation à utiliser pour ledit calculateur - détection d'une connexion dudit ordinateur à la mémoire de masse d'un boîtier d'interface selon l'invention, - vérification de l'interface utilisée par ladite connexion, - envoi dudit fichier de reprogrammation dans ladite mémoire de masse, caractérisé en ce qu'il comprend une étape de détection d'une reconnexion dudit ordinateur à ladite mémoire de masse suivie d'une étape de mise à jour de l'état dudit calculateur auprès d'un serveur distant. Cette étape de mise à jour de l'état dudit calculateur auprès d'un serveur distant est de préférence précédée d'une étape de contrôle de la mise à jour dudit calculateur Le procédé selon l'invention est par exemple implémenté dans le logiciel après-vente du constructeur du véhicule dont le calculateur doit être mis à jour. Il permet d'obliger un utilisateur à utiliser le boîtier d'interface selon l'invention, grâce à son étape de vérification d'interface utilisée, pour assurer la traçabilité des mises à jour effectuées sur le calculateur. Selon une caractéristique avantageuse du procédé de mise à jour selon l'invention, l'étape de détection d'une connexion est précédée d'une étape d'affichage d'un message invitant un utilisateur à brancher ledit boîtier d'interface audit ordinateur. Cette étape facilite l'utilisation du boîtier selon l'invention par un utilisateur. Selon une autre caractéristique avantageuse, l'étape d'envoi est précédée d'une étape de formatage de ladite mémoire de masse dans un format compatible avec ledit calculateur. L'invention permet ainsi de s'affranchir du format de données propre à chaque fournisseur de calculateur reprogrammable par clef USB. Selon encore une autre caractéristique avantageuse, l'étape d'envoi est suivie d'une étape d'affichage d'un message invitant un utilisateur à brancher ledit calculateur audit boîtier d'interface. Cette étape facilite également l'utilisation du boîtier selon l'invention par un utilisateur. Selon encore une autre caractéristique avantageuse, l'étape de détection d'une reconnexion est suivie d'une étape d'effacement du contenu de ladite mémoire de masse. Cela permet au fichier de reprogrammation contenu dans la mémoire de masse du boîtier de ne pas être réutilisé pour mettre à jour un autre calculateur de véhicule sans traçabilité de cette autre mise à jour. L'invention concerne également un programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de mise à jour selon l'invention, lorsqu'il est exécuté sur un ordinateur. Le procédé de mise à jour selon l'invention, ainsi que le programme d'ordinateur selon l'invention, présentent des avantages analogues à ceux du boîtier d'interface selon l'invention. D'autres caractéristiques et avantages apparaîtront à la lecture d'un mode de réalisation préféré décrit en référence aux figures dans lesquelles : - la figure 1 représente un boîtier d'interface selon l'invention, dans ce mode préféré de réalisation de l'invention, - la figure 2 représente des premières étapes d'un procédé de mise à jour d'un calculateur selon l'invention, dans ce mode préféré de réalisation de l'invention, ainsi qu'une phase de connexion d'un ordinateur au calculateur au travers d'un réseau CAN, - la figure 3 représente des étapes intermédiaires de ce procédé de mise à jour d'un calculateur selon l'invention, ainsi qu'une phase de connexion de l'ordinateur au boîtier d'interface selon l'invention, - la figure 4 représente des phases de connexion et de déconnexion du calculateur au boîtier d'interface selon l'invention, - et la figure 5 représente des dernières étapes de ce procédé de mise à jour d'un calculateur selon l'invention. Selon un mode préféré de réalisation de l'invention, un boîtier d'interface BI selon l'invention, représenté à la figure 1, comporte : - une mémoire de masse MM, intégrée au boîtier d'interface BI, - et deux ports d'entrée USB P1 et P2, qui sont du type périphérique et compatibles avec la norme USB 2.0. Le port d'entrée P1 est apte à être relié à la mémoire de masse MM par un circuit C1 dès qu'un commutateur C ferme ce circuit C1. Ainsi ce port d'entrée P1 permet à un calculateur, par exemple un calculateur d'un ordinateur possédant un port USB de type hôte, d'échanger des données avec la mémoire de masse MM en utilisant une norme USB de version au moins compatible avec la version 1.0. De même le port d'entrée P2 est apte à être relié à la mémoire de masse MM par un circuit C2 dès qu'un commutateur C ferme cette connexion C2. Ainsi ce port d'entrée P2 permet à un calculateur, par exemple un calculateur d'un véhicule reprogrammable par un port USB de type hôte, d'échanger des données avec la mémoire de masse MM en utilisant une norme USB de version au moins compatible avec la version 1.0. Le commutateur C est interne au boîtier d'interface BI et : - soit ferme le circuit Cl, le circuit C2 étant alors ouvert, - soit ferme le circuit C2, le circuit Cl étant alors ouvert. Ce commutateur C est contrôlé par des moyens de commande MCC, intégrés au boîtier d'interface BI, et qui sont alimentés par au moins l'un des bus d'alimentation BA1 du port d'entrée Pi, ou BA2 du port d'entrée P2. Autrement dit les moyens de commande MCC sont alimentés par les calculateurs se connectant au boîtier d'interface BI. En variante, les moyens de commande MCC sont auto-alimentés, par exemple par une pile. Les moyens de commande MCC comportent des moyens logiciels implémentant notamment une machine d'état apte à: - fermer le circuit C2 lorsqu'un calculateur est connecté au port P2, - fermer le circuit Cl lorsqu'aucun calculateur n'est connecté au port P2. Il est à noter que dans ce mode de réalisation de l'invention, l'activation du commutateur C n'est pas symétrique, celle-ci se faisant par surveillance des entrées sur le port P2 uniquement. Cependant d'autres variantes de réalisation de l'invention sont bien sûr envisageables. La détection de la connexion/déconnexion au niveau du port P2 utilise les caractéristiques électriques de la norme USB lors de cette connexion/déconnexion. Ainsi le boîtier d'interface BI est apte à commuter une connexion entre l'un des calculateurs et la mémoire de masse MM vers une connexion entre l'autre calculateur et la mémoire de masse MM, le commutateur C : - connectant un calculateur à la mémoire de masse MM dès que la connexion de ce calculateur au boîtier est détectée, ce qui empêche tout communication entre l'autre calculateur et la mémoire de masse MM, - et déconnectant un calculateur de la mémoire de masse MM dès que la déconnexion de ce calculateur au boîtier est détectée, ce qui permet à l'autre calculateur, s'il est connecté au boîtier, de communiquer avec la mémoire de masse MM. En référence aux figures 2, 3, 4 et 5, un procédé de mise à jour d'un calculateur CAL de véhicule selon l'invention est représenté sous la forme d'un algorithme comportant des étapes El à E12. Le procédé est mis en oeuvre dans un programme d'ordinateur selon l'invention, qui est un logiciel après-vente spécifique au constructeur du véhicule, hébergé dans un ordinateur ORDI, par exemple un ordinateur portable, un ordinateur fixe ou un smartphone, manipulé par un technicien. Préalablement à la mise à jour du calculateur CAL, le technicien branche l'ordinateur ORDI au réseau CAN de diagnostic du véhicule dans une phase (p1 de diagnostic. Le calculateur CAL du véhicule est connecté à ce réseau CAN. L'étape El est l'identification du calculateur CAL par le logiciel après-vente. Dans cette étape le calculateur CAL transmet un ou plusieurs identifiants au logiciel après-vente permettant à celui-ci de déterminer l'état logiciel du calculateur CAL, c'est-à-dire les versions des programmes qu'il contient. L'étape suivante E2 est l'identification d'un fichier de reprogrammation à utiliser pour le calculateur CAL. Les étapes El et E2 utilisent éventuellement une communication entre le logiciel après-vente et un serveur distant, notamment le fichier de reprogrammation est par exemple téléchargé depuis ce serveur distant par le logiciel après-vente. L'étape suivante E3 est l'affichage sur un écran de l'ordinateur ORDI, d'un message invitant le technicien à brancher l'ordinateur ORDI au boîtier d'interface BI selon l'invention. Suite à l'étape E3, le technicien branche l'ordinateur ORDI au port P1 du boîtier d'interface BI, dans une phase (p2 représentée sur la figure 3, pendant laquelle l'ordinateur ORDI est le seul calculateur à être connecté au boîtier d'interface BI. Le commutateur C maintient alors le circuit Cl fermé, permettant au calculateur formé par l'ordinateur ORDI de communiquer avec la mémoire de masse MM. L'étape suivante E4 est alors la détection d'une connexion de l'ordinateur ORDI à la mémoire de masse MM du boîtier d'interface BI. Cette détection par le logiciel après-vente utilise la norme USB. L'étape suivante E5 est la vérification de l'interface utilisée sur cette connexion détectée à l'étape E4. Pour cela le logiciel après-vente détermine si le descripteur « IdProduct » du périphérique USB détecté à l'étape E4 est bien celui d'un boîtier d'interface selon l'invention et non celui d'une clef USB classique. Cette étape permet d'obliger le technicien à utiliser le boîtier d'interface selon l'invention afin d'assurer la traçabilité des mises à jour du calculateur CAL. Si lors de cette étape E5, le logiciel après-vente détermine que le descripteur« IdProduct » du périphérique USB détecté à l'étape E4 est bien celui d'un boîtier d'interface selon l'invention, alors on passe à l'étape E6. Sinon le logiciel après-vente émet un message d'erreur invitant le technicien à reconnecter l'ordinateur à un boîtier d'interface selon l'invention, ce qui permet de reprendre les étapes du procédé selon l'invention à l'étape E4 si une nouvelle connexion de l'ORDI à un périphérique est détectée. L'étape suivante E6 est le formatage de la mémoire de masse MM du boîtier d'interface BI au format attendu par le calculateur CAL (par exemple NTFS (d'après l'anglais « New Technology File System ») ou FAT32 (d'après l'anglais « file allocation table »32)), si un tel formatage est nécessaire pour que le calculateur CAL puisse télécharger des données depuis la mémoire de masse MM. Le logiciel après-vente vérifie donc au préalable dans cette étape E6 le type de système de fichier utilisé par la mémoire de masse MM et sa compatibilité avec celui utilisé par le calculateur CAL. Cette vérification utilise notamment les données d'identification du calculateur obtenues à l'étape El. L'étape suivante E7 est l'envoi du fichier de reprogrammation identifié à l'étape E2, dans la mémoire de masse MM. Ce transfert de fichier utilise le mode transfert de masse de la norme USB. L'étape suivante E8 est l'affichage d'un message invitant le technicien à brancher le calculateur CAL du véhicule au boîtier d'interface BI, tout en laissant branché l'ordinateur ORDI au boîtier d'interface BI, et à télécharger le fichier de programmation contenu dans la mémoire de masse MM dans le calculateur CAL en suivant les instructions propres à ce calculateur CAL. L'ordinateur ORDI affiche éventuellement ces instructions s'il les a à disposition. Suite à l'étape E8, le technicien branche le calculateur CAL du véhicule au port P2 du boîtier d'interface BI, dans une phase (p3 représentée sur la figure 4, pendant laquelle l'ordinateur ORDI et le calculateur CAL sont tous deux connectés au boîtier d'interface BI. Le commutateur C ferme alors le circuit C2 permettant au calculateur CAL de communiquer avec la mémoire de masse MM. On suppose que dans cette phase (p3, le technicien déclenche la copie du fichier de programmation contenu dans la mémoire de masse MM dans le calculateur CAL, et que ce transfert de fichier s'effectue sans erreur. Le technicien renseigne éventuellement dans l'ordinateur ORDI un champ précisant le bon déroulement ou non de ce transfert. Suite à cette mise à jour du calculateur CAL du véhicule, le technicien débranche le calculateur CAL du port USB P2 du boîtier d'interface BI, dans une étape (p4 dans laquelle seul l'ordinateur ORDI reste branché au boîtier d'interface BI. Le commutateur C détecte cette déconnexion et ferme alors le circuit Cl, permettant à l'ordinateur ORDI de communiquer avec la mémoire de masse MM. L'étape suivante E9 est alors la détection d'une reconnexion de l'ordinateur ORDI à la mémoire de masse MM, utilisant la norme USB. Cette détection par l'ordinateur ORDI déclenche l'étape El 0 représentée à la figure 5. L'étape El 0 est le contrôle de la mise à jour du calculateur CAL par le logiciel après-vente. Ce dernier utilise de nouveau le réseau CAN, qui est resté branché à l'ordinateur ORDI et au calculateur CAN depuis l'étape El, pour vérifier que l'identité du logiciel du calculateur CAL est différente de celle identifiée à l'étape El. Dans la négative, le technicien est informé de l'échec de l'opération et invité à effectuer de nouveau la procédure de mise à jour du calculateur CAL. L'étape suivante El 1 est la mise à jour de l'état du calculateur CAL auprès d'un serveur distant d'après-vente. Pour cela le logiciel après-vente notifie le serveur distant du succès ou de l'échec du transfert du fichier de reprogrammation au calculateur CAL. Enfin l'étape suivante E12 est l'effacement du contenu de la mémoire de masse MM par l'ordinateur ORDI. Bien que dans ce mode de réalisation préféré de l'invention, le procédé de mise à jour selon l'invention comporte onze étapes, d'autres réalisations de l'invention sont réalisables avec plus ou moins d'étapes. Par exemple en variante le procédé de mise à jour selon l'invention comprend plus d'étapes d'interaction avec le technicien via une interface utilisateur le guidant ou lui demandant de renseigner des champs, facilitant par exemple un diagnostic de problèmes identifiés sur le calculateur CAL du véhicule. Dans une autre variante, le procédé de mise à jour selon l'invention ne comporte pas les étapes E3 et/ou E6, et/ou E8, et/ou E12. L'ordre des étapes El à E12 n'est de plus pas figé, l'étape Eh l pouvant être effectuée après l'étape E12 par exemple.5 REVENDICATIONS1. Boîtier d'interface (BI) entre deux calculateurs (ORDI, CAL), comportant deux ports USB (P1, P2), caractérisé en ce qu'il comporte : - une mémoire de masse (MM) intégrée audit boîtier (BI) de manière non amovible, -un commutateur (C) apte à commuter une connexion entre l'un desdits ports USB (P1, P2) et ladite mémoire de masse (MM) vers une connexion entre l'autre desdits ports USB (P1, P2) et ladite mémoire de masse (MM), - des moyens (MCC) aptes à faire commuter ledit commutateur (C) dès qu'une alimentation est détectée sur l'un desdits ports USB (P2), vers la connexion entre ladite mémoire de masse (MM) et ledit port USB (P2) dont l'alimentation vient d'être détectée, -et des moyens (MCC) aptes à faire commuter ledit commutateur (C) dès qu'un desdits ports USB (P2) n'est plus alimenté, vers la connexion entre ladite mémoire de masse (MM) et l'autre desdits ports USB (P1). 2. Procédé de mise à jour d'un calculateur (CAL) de véhicule, mis en oeuvre dans un ordinateur (ORDI), comportant les étapes de : - identification (El) dudit calculateur (CAL) - identification (E2) d'un fichier de reprogrammation à utiliser pour ledit calculateur (CAL) détection (E4) d'une connexion dudit ordinateur (ORDI) à la mémoire de masse (MM) d'un boîtier d'interface (BI) selon la revendication 1, - vérification (E5) de l'interface utilisée par ladite connexion, - envoi (E7) dudit fichier de reprogrammation dans ladite mémoire de masse (MM),caractérisé en ce qu'il comprend une étape de détection (E9) d'une reconnexion dudit ordinateur (ORDI) à ladite mémoire de masse (MM) suivie d'une étape (E11) de mise à jour de l'état dudit calculateur (CAL) auprès d'un serveur distant. 3. Procédé de mise à jour selon la revendication 2, caractérisé en ce que l'étape (E4) de détection d'une connexion est précédée d'une étape (E3) d'affichage d'un message invitant un utilisateur à brancher ledit boîtier d'interface (BI) audit ordinateur (ORDI). 4. Procédé de mise à jour selon la revendication 2 ou 3, caractérisé en ce que l'étape (E7) d'envoi est précédée d'une étape (E6) de formatage de ladite mémoire de masse (MM) dans un format compatible avec ledit calculateur (CAL). 5. Procédé de mise à jour selon l'une quelconque des revendications 2 à 4, caractérisé en ce que l'étape (E7) d'envoi est suivie d'une étape (E8) d'affichage d'un message invitant un utilisateur à brancher ledit calculateur (CAL) audit boîtier d'interface (BI). 6. Procédé de mise à jour selon l'une quelconque des revendications 2 à 5, caractérisé en ce que l'étape (E9) de détection d'une reconnexion est suivie d'une étape d'effacement (E12) du contenu de ladite mémoire de masse. 25 7. Procédé de mise à jour selon l'une quelconque des revendications 2 à 6, caractérisé en ce que l'étape (El 1) de mise à jour de l'état dudit calculateur (CAL) est précédée d'une étape de contrôle (E10) de la mise à jour dudit calculateur (CAL). 20 8. Programme d'ordinateur comportant des instructions pour mettre en oeuvre le procédé de mise à jour selon l'une quelconque des revendications 2 à 7, lorsqu'il est exécuté sur un ordinateur (ORDI).