FR 2907237 A1 20080418 FR 0654264 A 20061013 1 Procédé et système de téléchargement d'un fichier dans des calculateurs de véhicules automobiles en reprise sur parc. La présente invention concerne un procédé et un système de téléchargement d'un fichier dans des calculateurs de véhicules automobiles en reprise sur parc, à l'aide d'un outil de téléchargement. L'invention concerne plus particulièrement un procédé et un système de téléchargement d'un tel fichier dans des calculateurs appartenant à une même famille et embarqués dans plusieurs véhicules automobiles distincts déjà produits et stockés sur parc. On connaît déjà dans l'état de la technique des procédés et des systèmes de téléchargement de fichiers dans des calculateurs embarqués à bord de véhicules automobiles, tels que ceux décrits par exemple dans le document FR-A-2 719 924. Ce document détaille les différentes étapes successives de la procédure utilisée en fabrication pour le montage des véhicules ou dans le réseau après-vente d'un constructeur, lors de la correction d'une prestation par échange de fichiers. Cette fonction de téléchargement a été optimisée par la suite afin de la rendre compatible avec des exigences du flux de fabrication, dans lequel le téléchargement de l'ensemble des calculateurs d'un même véhicule est réalisé simultanément. On pourra par exemple se reporter au document FRA-2 825 813 qui décrit cette optimisation. Cependant, cette optimisation n'est pas la meilleure possible lorsqu'il s'agit de réaliser une opération de reprise sur parc. Le téléchargement en reprise sur parc est en effet une opération qui consiste à charger un nouveau fichier dans un ensemble de véhicules produits et stationnés sur le parking d'une usine de production en attente de livraison vers les concessions. On a résumé ci-après les exigences associées à la fois au téléchargement dans un flux de fabrication des véhicules et lors d'une reprise sur parc afin de comprendre en quoi celles-ci diffèrent. Dans un flux de fabrication d'une chaîne de production de véhicules, on dispose rarement de deux véhicules identiques enlignés à la suite. Les véhicules se succèdent en effet avec par exemple des motorisations différentes, des options différentes,... En fait, les véhicules sont enlignés en 2907237 2 fonction des commandes passées par les clients et il faut donc télécharger un ensemble de fichiers particuliers lors du passage de chaque véhicule dans le poste de l'outil utilisé pour le téléchargement dans le flux de fabrication. La rapidité de l'opération de transfert et d'écriture en mémoire 5 pour chaque véhicule donné est alors le critère principal, car c'est la dernière opération avant que le véhicule ne quitte la chaîne par ses propres moyens. Le document FR-A-2 825 813 mentionné précédemment décrit un procédé et un système particulièrement adaptés à cette situation. 10 En reprise des véhicules sur parc, la situation est toute autre, car on souhaite mettre à jour un ensemble de véhicules qui viennent d'être fabriqués et sont en attente d'expédition. II s'agit alors dans ce cas de retélécharger les véhicules qui disposent d'un même calculateur, par exemple celui du contrôle moteur. Dans l'état actuel de la technique, pour 15 réaliser cette opération, un opérateur doit identifier chaque véhicule sur le parc, y connecter l'outil de téléchargement, par exemple sur la prise de diagnostic centralisée et lancer l'opération de mise à jour du logiciel. Une telle opération doit donc être répétée autant de fois qu'il existe de véhicules à reprendre sur le parc. 20 La procédure de téléchargement, bien qu'optimisée pour le téléchargement de chaque calculateur de façon unitaire, ne l'est pas du point de vue global. En effet, si l'on doit reprendre mille véhicules pour en corriger le logiciel, par exemple du calculateur moteur (même moteur monté sur ces mille véhicules), l'opérateur est obligé de lancer mille fois l'opération. 25 On conçoit que les opérations de reprise des mille véhicules sont extrêmement longues et fastidieuses. Le but de l'invention est donc de résoudre ces problèmes. A cet effet, l'invention a pour objet un procédé de téléchargement d'un fichier dans des calculateurs de véhicules automobiles en reprise sur 30 parc à l'aide d'un outil de téléchargement, caractérisé en ce qu'il comporte : - une étape d'établissement d'une première liste des véhicules à reprendre ; 2907237 3 - une étape de réveil des calculateurs dans lesquels il convient de télécharger le fichier ; - une étape de transmission par l'outil de ce fichier à destination des calculateurs ; 5 - une étape d'émission par le calculateur de chaque véhicule à destination de l'outil, d'une information d'accusé de réception ; - une étape d'établissement par l'outil d'une deuxième liste de véhicules pour lesquels un accusé de réception a été reçu ; et - une étape de comparaison des première et seconde listes afin de 10 valider que tous les véhicules ont été correctement téléchargés ou non. Suivant des modes particuliers de réalisation, le procédé de téléchargement comporte l'une ou plusieurs des caractéristiques suivantes : - l'étape de comparaison est également associée à une étape d'archivage des informations de téléchargement ; 15 - le procédé comporte en outre une étape de test des calculateurs à l'écoute, par émission d'un message de réveil piloté et réception en retour d'un accusé de réception ; - le procédé comporte une étape de vérification de la référence d'un logiciel d'un calculateur embarqué dans un véhicule donné ; et 20 - le procédé comporte une étape de vérification des paramètres dynamiques du véhicule pour s'assurer que ceux-ci sont nuls afin d'autoriser ou non la procédure de téléchargement. L'invention a également pour objet un système de téléchargement d'un fichier dans des calculateurs de véhicules automobiles en reprise sur 25 parc à l'aide d'un outil de téléchargement, caractérisé en ce qu'il comporte : - des moyens d'établissement d'une première liste des véhicules à reprendre ; - des moyens de réveil des calculateurs dans lesquels il convient de télécharger le fichier ; 30 - des moyens de transmission de ce fichier ; - des moyens d'émission par le calculateur de chaque véhicule à destination de l'outil de téléchargement, d'une information d'accusé de réception ; 2907237 4 - des moyens d'établissement d'une deuxième liste de véhicules pour lesquels un accusé de réception a été reçu ; et - des moyens de comparaison des première et seconde listes afin de valider que tous les véhicules ont été correctement téléchargés ou non. 5 L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, sur lesquels : - la figure 1 représente un schéma synoptique illustrant la mise en oeuvre d'un système de reprise sur parc selon l'invention ; 10 la figure 2 représente un organigramme illustrant un procédé de téléchargement selon l'invention ; et - la figure 3 représente un organigramme illustrant le traitement d'une requête de réveil d'un calculateur dans un véhicule. On a en effet illustré sur la figure 1, un schéma synoptique illustrant la 15 mise en oeuvre d'un système de téléchargement selon l'invention. Sur cette figure, on reconnaît en effet un ensemble de véhicules stockés sur parc et désignés par la référence générale 1. Afin de réaliser une opération de téléchargement de calculateurs embarqués à bord de ces véhicules, on utilise un outil de téléchargement, tel 20 que désigné par la référence générale 2 sur cette figure. En fait, ce système met en oeuvre un procédé de téléchargement qui comporte six grandes étapes. Ces différentes étapes sont illustrées par exemple sur l'organigramme de la figure 2. 25 La première étape, désignée par la référence générale 3 sur cette figure 2, est une étape d'établissement d'une première liste des véhicules à reprendre sur le parc. Cette liste est appelée L1 par la suite. Cette liste des véhicules à reprendre est établie directement par exemple depuis les numéros VIN des véhicules. Chaque véhicule dispose 30 en effet d'un numéro VIN, pour Vehicle Identification Number , unique, archivé par le système de production avec les références des calculateurs et des logiciels embarqués sur ce véhicule, dans une base de données correspondante. 2907237 5 Il est donc possible de créer un lien entre cette base de données et l'outil de téléchargement pour la reprise sur parc afin que la tâche d'obtention de cette liste LI des véhicules à corriger soit établie de manière quasi-automatique plutôt que manuelle et confiée à un opérateur. 5 A cet effet, on peut créer par exemple une fonction FI permettant de récupérer dans l'outil de téléchargement, depuis la base de données, l'ensemble des numéros VIN correspondant par exemple aux véhicules produits entre telle et telle dates et munis d'un calculateur Cl, par exemple équipé d'un logiciel de référence REF_1. Cette fonction F1 peut alors 10 s'écrire de la façon suivante : FI = lecture VIN (REF_1, DATE_début, DATE fin) Une fois cette liste L1 établie, on passe ensuite à la deuxième étape qui consiste à réveiller à distance dans chaque véhicule le calculateur concerné par le fichier que l'on souhaite télécharger. 15 Cette étape de réveil est désignée par la référence générale 4 sur la figure 2. II existe en effet aujourd'hui, dans les déploiements de véhicules, différentes possibilités pour réveiller des calculateurs embarqués à distance par une sollicitation quelconque. En effet, pour économiser l'énergie 20 disponible à bord du véhicule, les calculateurs peuvent par exemple passer en veille lorsqu'il n'ont pas à assurer de fonctionnel. Un exemple de réveil sera décrit plus en détail par la suite, en regard de la figure 3. En fait, ce réveil peut être mis en oeuvre par une fonction F2 25 permettant de transmettre par exemple, au moyen d'une liaison radio ou autre, le type de la fonction demandée (Type_FONCTION), l'adresse source (Adresse_SRC) pour l'obtention de réponse, l'adresse physique du calculateur à reprendre (Adresse_ECU), ainsi que la liste des VIN véhicules concernés (Liste_VIN). Cette fonction peut alors s'écrire de la façon 30 suivante : F2 = Transmission VIN (Type_FONCTION, Adresse_SRC, Adresse_ECU, Liste_VI N) 2907237 6 Le type de fonction (téléchargement, ...) n'est nécessaire que dans le cas où plusieurs fonctionnalités différentes peuvent solliciter celle de réveil à distance. Au cours du réveil du véhicule, l'outil de téléchargement transmet également l'adresse à laquelle il souhaite obtenir un compte-rendu de 5 chaque véhicule (Adresse_SCR). Cette adresse est conservée en mémoire des calculateurs de tous les véhicules en cours de téléchargement jusqu'à la fin de la procédure. L'adresse physique du calculateur (un simple identifiant de trame CAN par exemple 0x688 pour un calculateur de contrôle moteur) permet de reconnaître dans le véhicule celui qu'il va falloir réveiller. C'est en 10 fait celui qui sera téléchargé. Ce mode de réveil va conditionner au sein du logiciel de chaque calculateur le fait qu'il s'agit bien d'une demande de reprise sur parc et sélectionner la bonne procédure embarquée à utiliser, entre celle de reprise sur parc et celle de téléchargement dans le flux de production beaucoup 15 plus rapide unitairement, mais ne pouvant s'adresser à plusieurs calculateurs de même type. Cependant, et ce afin d'assurer la sécurité des occupants du véhicule, un préalable est de mettre en oeuvre une protection efficace permettant de garantir l'impossibilité de télécharger le véhicule si celui-ci est en cours d'utilisation. Il convient alors d'interdire l'activation de la 20 procédure de téléchargement, si la sollicitation du véhicule s'effectue alors que le régime moteur et/ou la vitesse du véhicule ne sont pas nuls. Un logigramme des conditions à respecter pour chaque calculateur réceptif à la procédure de téléchargement en reprise sur parc sera décrit en regard de la figure 3. 25 Après ce réveil, l'outil de téléchargement transmet le fichier à télécharger vers les calculateurs, comme cela est illustré par l'étape 5 sur la figure 2. Cette étape se déroule en aveugle, c'est-à-dire que l'outil de téléchargement transmet l'intégralité du code à programmer (REF_2) sans 30 obtenir de réponse d'aucun calculateur des différents véhicules auxquels il s'adresse. Lors de cette étape ont lieu les différentes sous-étapes suivantes classiques : 2907237 7 - effacement de la flash eprom, c'est-à-dire de la mémoire contenant le logiciel ; écriture en mémoire des données reçues ; autocontrôle de l'intégrité du code en mémoire ; et 5 écriture de la zone d'identification correspondant à la nouvelle référence du logiciel téléchargé en mémoire. Une telle fonction appelée F3 peut alors s'écrire de la façon suivante : F3 = Transmission_FICHIER (REF_2) Le déroulement de cette procédure de téléchargement est réalisé en 10 ménageant du temps dans et entre chaque sous étape, en tenant compte du fait que les performances liées aux composants internes de chaque calculateur ne sont pas identiques et que l'on ne reçoit pas de message de leur part demandant par exemple de différer la suite de la transmission des informations. 15 L'étape suivante, désignée par la référence générale 6 sur la figure 2, est une étape d'émission par le véhicule d'un accusé de réception vers l'outil de téléchargement. Cette étape permet alors à chaque véhicule de renvoyer un accusé de réception vers l'outil de téléchargement pour lui signifier, après avoir effectué l'ensemble des contrôles associés à la procédure, que 20 l'opération de mise à jour a bien été effectuée. A la fin de la procédure, deux possibilités existent : - soit la procédure s'est déroulée avec succès et dans ce cas, l'adresse_SRC est utilisée par le calculateur pour transmettre le VIN du véhicule ; 25 soit l'opération s'est interrompue à la suite d'un problème quelconque (coupure d'alimentation, de la communication, du contrôle du checksum, ...) et dans ce cas, aucune transmission n'est renvoyée vers l'outil. Cette fonction appelée F4 peut alors s'écrire de la façon suivante : 30 F4 = Transmission ACCUSE-RECEPTION (Adresse_SRC, VIN) Ceci permet alors à l'outil de téléchargement, lors des étapes 7 et 8, d'établir à partir des accusés de réception reçus des véhicules une deuxième liste L2 des véhicules correctement repris. Ceci permet alors de 2907237 8 vérifier et de valider que l'ensemble des véhicules concernés par la reprise sur parc a correctement été repris. Pour cela, l'outil de téléchargement dispose d'une fonction de comparaison entre les numéros de VIN transmis et ceux ayant généré un accusé de réception, cette comparaison étant 5 réalisée lors de l'étape désignée par la référence générale 8 sur la figure 2. Cette comparaison appelée F5 peut s'écrire alors de la façon suivante : F5 = Comparaison (LISTE_VIN, LISTE ACCUSE ù RECEPTION (VIN)) A l'issue de cette comparaison, une étape 9 d'archivage des configurations corrigées est mise en oeuvre. Cette étape consiste à archiver 10 dans la base de données mentionnée précédemment, les mises à jour effectuées. L'outil dispose alors d'une fonction permettant de transmettre à l'outil de bord de ligne, la liste des véhicules repris qui ont transmis un accusé de réception de bon déroulement de la procédure associée à la nouvelle référence du logiciel chargé en mémoire (REF_2). Cette fonction 15 F6 peut alors s'écrire de la façon suivante : F6 = Archivage (LISTE ACCUSE ù RECEPTION (VIN), Adresse_ECU, REF2) La transmission de l'adresse _ECU va cette fois permettre d'identifier la REF_1 de la base de donnée qui sera à remplacer par la REF_2 pour 20 l'archivage de chaque configuration véhicule tracée au moyen des numéros VIN de la liste L2. Deux autres fonctionnalités qui ne font pas partie de la procédure même de téléchargement en reprise sur parc peuvent s'avérer néanmoins intéressantes lors de son exploitation. 25 L'une de ces fonctionnalités est une fonction de test des calculateurs à l'écoute. Il s'agit alors de transmettre à un ensemble de véhicules définis par le numéro d'identification VIN (à un type de calculateurs embarqués dans ces véhicules) un simple message de réveil piloté et à recevoir en retour un accusé de réception afin de s'assurer que le déroulement de la 30 procédure ne va pas s'effectuer dans le vide. Cette fonction FSI peut s'écrire de la façon suivante : FS1 = Test_Ecoute (LISTE VIN, Adresse_SRC, Adresse_ECU) 2907237 9 Une autre fonctionnalité permet de vérifier la référence du logiciel d'un calculateur dans un véhicule donné. Cette fonction FS2 s'écrit alors de la façon suivante : FS2 = Identification (VIN, Adresse_SRC, Adresse_ECU) 5 Sur la figure 3, on a illustré un organigramme de traitement du réveil d'un calculateur embarqué. En 10, on a en effet illustré la réception par celui-ci d'une demande de réveil. En 11, on teste cette demande pour savoir si la fonction de téléchargement est sollicitée ou non. 10 Si ce n'est pas le cas, en 12 on traite la fonction demandée. Par contre, si c'est le cas, on vérifie en 13 si les paramètres dynamiques du véhicule sont nuls, c'est-à-dire si par exemple le régime de rotation du moteur et la vitesse de déplacement du véhicule sont nuls. En 14, on teste s'il s'agit d'un réveil de type piloté ou non. Si ce n'est pas le cas, on met en 15 oeuvre en 15 une procédure de téléchargement initial, c'est-à-dire en après-vente ou en montage. Par contre, si c'est le cas, en 16 on vérifie si l'identifiant de trame Adresse_ECU est destiné à ce calculateur ou pas. Si c'est le cas, en 17, on assure une procédure de téléchargement pour la reprise sur parc des véhicules. 20 Bien entendu, d'autres modes de réalisation encore peuvent être envisagés. REVENDICATIONS 1.- Procédé de téléchargement d'un fichier dans des calculateurs de véhicules automobiles en reprise sur parc à l'aide d'un outil de téléchargement (2), caractérisé en ce qu'il comporte : - une étape (3) d'établissement d'une première liste (L1) des véhicules à reprendre ; une étape (4) de réveil des calculateurs dans lesquels il convient de télécharger le fichier ; - une étape (5) de transmission par l'outil de ce fichier à destination des calculateurs ; - une étape (6) d'émission par le calculateur de chaque véhicule à destination de l'outil, d'une information d'accusé de réception ; - une étape (7) d'établissement par l'outil d'une deuxième liste de véhicules (L2) pour lesquels un accusé de réception a été reçu ; et - une étape (8) de comparaison des première et seconde listes afin de valider que tous les véhicules ont été correctement téléchargés ou non. 2.- Procédé selon la revendication 1, caractérisé en ce que l'étape de comparaison est également associée à une étape d'archivage des informations de téléchargement (9). 3.- Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comporte en outre une étape (FSI) de test des calculateurs à l'écoute, par émission d'un message de réveil piloté et réception en retour d'un accusé de réception. 4.- Procédé selon l'une quelconque des revendications précédents, caractérisé en ce qu'il comporte une étape (FS2) de vérification de la référence d'un logiciel d'un calculateur embarqué dans un véhicule donné. 5.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape (13) de vérification des 2907237 11 paramètres dynamiques du véhicule pour s'assurer que ceux-ci sont nuls afin d'autoriser ou non la procédure de téléchargement. 6.- Système de téléchargement d'un fichier dans des calculateurs de 5 véhicules automobiles en reprise sur parc à l'aide d'un outil de téléchargement (2), caractérisé en ce qu'il comporte : - des moyens (2) d'établissement d'une première liste (L1) des véhicules à reprendre ; des moyens (2) de réveil des calculateurs dans lesquels il convient 10 de télécharger le fichier ; - des moyens (2) de transmission de ce fichier ; - des moyens (2) d'émission par le calculateur de chaque véhicule à destination de l'outil de téléchargement, d'une information d'accusé de réception ; 15 - des moyens (2) d'établissement d'une deuxième liste (L2) de véhicules pour lesquels un accusé de réception a été reçu ; et - des moyens (2) de comparaison des première et seconde listes afin de valider que tous les véhicules ont été correctement téléchargés ou non.