FR 2942557 A1 20100827 FR 0951160 A 20090224 PROCEDE DE SAUVEGARDE DES DONNEES LORS DU REMPLACEMENT D'UN CALCULATEUR ELECTRONIQUE [0001] La présente invention concerne un procédé de sauvegarde des données enregistrées dans la mémoire d'une unité de contrôle lors du remplacement de cette unité de contrôle. Cette dernière est connectée, par un réseau de communication, à plusieurs unités de contrôle d'un véhicule. [0002] Les véhicules, notamment automobiles, comportent de nombreuses unités de contrôle (UC), appelée également calculateur électronique, dont la fonction est de gérer ou contrôler certaines fonctions. A titre d'exemples, une UC gère le fonctionnement des essuie-glaces ou des vitres électriques ou encore de l'injection du carburant dans le moteur. Les informations traitées par les UC sont variées : certaines données sont des données immuables alors que d'autres, appelées données � adaptatives �, changent au cours du temps. C'est le cas par exemple des données relatives à l'usure ou à l'entretien d'un élément. Par exemple, les données adaptatives peuvent concerner l'historique des charges de la batterie utilisées pour déterminer quand il est nécessaire de réaliser une charge d'entretien ou la durée d'utilisation de la batterie dans des conditions de température extrême impactant la durée de vie et les performances de la batterie (l'UC étant le superviseur de la batterie) ; [0003] Elles peuvent également concerner le cumul des volumes d'un additif injecté dans le carburant utilisé pour déterminer le moment où lancer la régénération du filtre à particules (l'UC étant le calculateur du contrôle moteur) ; et le nombre de démarrages du moteur, à l'aide d'un système � Stop & Start �, ce nombre étant utilisé pour déterminer l'usure de la courroie et appliquer un mode dégradé (interdiction du mode Stop) lorsque le vieillissement de la courroie est excessif (l'UC étant le calculateur de la fonction � Stop & Start �). [0004] Lors de l'échange d'une UC en après-vente suite à une défaillance, certaines informations, notamment les � données adaptatives �, enregistrées dans la mémoire du calculateur à remplacer, doivent pouvoir être récupérées puis réinjectées dans la mémoire du nouveau calculateur. Ceci dans le but d'assurer la continuité du suivi de l'historique de fonctionnement du système. [0005 Bien que le calculateur soit défaillant, son interface de communication demeure généralement fonctionnelle. On constate, en effet, que dans la grande majorité des cas, les défaillances affectent principalement l'électronique de puissance (étages pilotant les sorties du calculateur). Les défaillances du microprocesseur et de l'interface de communication sont nettement moins fréquentes. [0006] En général, l'UC est utilisée pour conserver les informations sur la durée d'utilisation cumulée, le nombre de sollicitations d'un actionneur ou de cycles de réalisation d'un phénomène physique ou chimique. Ces informations sont exploitées soit par l'opérateur, un message lui indiquant quand une pièce d'usure doit être remplacée, soit par le logiciel applicatif directement, qui peut adapter le pilotage des sorties en fonction du vieillissement du système ou même, dans les cas extrêmes, déclencher un mode dégradé pour préserver le système lorsque le temps d'utilisation cumulé indique un risque de casse probable (valeur des seuils prédéfinis dans le logiciel à partir du retour d'expérience et de calculs statistiques). [0007] La quantité d'information dites � données adaptatives � représente, dans les calculateurs actuels, quelques dizaines, voire quelques centaines d'octets. Les données adaptatives sont stockées dans des zones mémoires identifiées par des repères logiques (identiques pour tous les calculateurs), ceci afin d'éviter aux outils d'embarquer la cartographie mémoire de tous les calculateurs. [0008] La solution actuelle pour changer une UC consiste en une opération qui peut être 15 réalisée par un garagiste grâce à des services de diagnostic appelés � lecture et écriture des données adaptatives � et implémentés dans les calculateurs concernés. [0009] Lors d'un changement de calculateur, le garagiste réalise les opérations décrites ci-après. L'outil de diagnostic est connecté à la prise diagnostic centralisée du véhicule. Celui-ci communique avec le calculateur concerné via le réseau de communication (le réseau 20 normalisé CAN par exemple) en utilisant le protocole de communication (par exemple le protocole KWP2000). L'outil de diagnostic lit les données adaptatives contenues dans la mémoire du calculateur destiné à être remplacé grâce à la requête de lecture des données adaptatives. L'outil stocke les informations renvoyées par le calculateur dans sa mémoire interne (ou sur son disque dur sous la forme d'un fichier). L'opérateur remplace le calculateur 25 défaillant par un nouveau calculateur équivalent. L'outil relit les informations contenues dans sa mémoire (ou sur son disque dur) et les écrit dans la mémoire du nouveau calculateur grâce à la requête d'écriture des données. [col oi Cette opération ne peut cependant qu'être effectuée à l'aide d'un outil de diagnostic par le garagiste. Le client ne peut pas acheter le calculateur en pièce détachée puis le monter 30 lui-même une fois rentré chez lui. C'est d'autant plus dommageable lorsque le véhicule est immobilisé (par exemple par un calculateur contrôle moteur défaillant) et qu'il ne peut déplacer son véhicule jusqu'au garage. De plus, les données adaptatives transitent par un outil externe et peuvent donc être altérées volontairement ou involontairement lors de l'opération. [0011] Une autre solution peut être aisément imaginée : elle consisterait, afin de se passer de l'outil de diagnostic, à rendre redondantes les données adaptatives dans un autre calculateur du véhicule sur le modèle de ce qui existe aujourd'hui pour l'information � kilométrage � stockée à la fois dans le calculateur Contrôle moteur et le calculateur Boitier de Servitude Intelligent. Quand l'un des deux calculateurs du binôme est remplacé, le kilométrage peut être récupéré dans l'autre boitier. [0012] Cependant, cette solution serait consommatrice de mémoire et pour la généraliser, il serait nécessaire d'augmenter la taille de la mémoire disponible dans les calculateurs actuels pour accueillir les données supplémentaires. De plus, les calculateurs seraient associés par binômes lors de la conception (exemple : binôme des UC pour l'information kilométrage) et l'on s'obligerait à les monter ensemble dans toutes les configurations véhicules (solution offrant peu de souplesse). Si l'on ajoutait une information dans les données adaptatives stockées dans un calculateur, il serait également nécessaire de faire évoluer le logiciel de son calculateur binôme. Le coût de cette solution serait important pour une utilisation ponctuelle et très peu fréquente : cette solution ne semble pas intéressante. [0013] La présente invention propose une solution peu couteuse qui permet à une personne de transférer des données d'une UC à remplacer vers une UC de rechange sans l'aide d'un garagiste et sans avoir à utiliser un outil de diagnostic. [0014] De façon plus précise, l'invention concerne un procédé de sauvegarde de données enregistrées dans la mémoire d'une unité de contrôle, appelée unité de contrôle source (UCsource), lors du remplacement de ladite unité par une unité de contrôle de rechange (UCrechange), ladite unité de contrôle source étant connectée par un réseau de communication à une pluralité d'unités de contrôle (UC) d'un véhicule, le procédé étant caractérisé par les étapes suivantes : • transfert et enregistrement des données à sauvegarder de l'UCsource respectivement vers et dans au moins l'une desdites unités de contrôle, appelée unité de contrôle cible (UCcible), choisie parmi lesdites UC ; • remplacement de ladite UCsource par ladite UCrechange ; et • transfert et enregistrement des données enregistrées dans ladite UCcible respectivement 30 vers et dans ladite UCrechange [0015] Préalablement au transfert et à l'enregistrement des données à sauvegarder, l'espace mémoire disponible dans chaque UC peut être vérifiée et la taille des données à sauvegarder est déterminée. [0016] Avantageusement, après au moins l'une desdites étapes de transfert et d'enregistrement des données, l'intégrité des données enregistrées est vérifiée. [0017] Lorsque le véhicule est équipé d'une interface homme-machine muni d'un calculateur, la gestion desdites étapes du procédé est confiée au calculateur de cette interface. [0018] D'autres avantages et caractéristiques de l'invention apparaîtront au cours de la description qui suit de plusieurs modes de réalisation de l'invention, donnés à titre d'exemples non limitatifs, en référence aux dessins annexés et sur lesquels : • La figure 1 est une table (Table 1) stockée dans la mémoire Flash Eprom de l'EMF (Ecran Multi Fonctions) ; • La figure 2 est une table (Table 2) montrant des exemples de trames d'initialisation ; • La figure 3 est une table (Table 3) concernant des repères logiques et les tailles des enregistrements ; • La figure 4 (Table 4) est un exemple de table générée à partir de la Table 2 lors du remplacement d'une UC ; et • La figure 5 est un logigramme illustrant le procédé de l'invention. [0019] La solution proposée ici permet le transfert des données, notamment mais non nécessairement des données adaptatives, depuis le calculateur destiné à être remplacé (appelé UCsource) vers le nouveau calculateur pièce de rechange (appelé UCrechange), en ne nécessitant aucun outil de diagnostic, ni aucun calculateur supplémentaire dans le véhicule. Elle utilise pour cela l'ensemble de la mémoire non volatile (NVRAM) inutilisée, et donc disponible, dans les différents calculateurs connectés au réseau de communication du véhicule. L'opération se déroule schématiquement en deux phases principales: • transfert des données à sauvegarder de l'UCsource vers les autres UC présentes dans le véhicule (appelées UCcibles), • restitution des données stockées dans les UCcibles vers la nouvelle UC montée en pièce de rechange (UCrechange). [0020] Lorsque le véhicule est muni d'un Ecran Multi Fonctions (EMF) munie d'une Interface Homme-Machine (IHM), la gestion de ce transfert de données est avantageusement confiée au calculateur de l'Ecran Multi Fonctions (EMF), l'Interface Homme-Machine (IHM) lui permettant de communiquer avec l'opérateur tout au long de l'opération. Si le véhicule ne comporte pas d'écran multifonctions, on peut alors utiliser une interface homme/machine munie d'un calculateur. [0021] La mémoire non volatile NVRAM (Non Volatile Random Access Memory) du calculateur est généralement constituée par de l'EEPROM. Cette technologie de composant reprogrammable permet l'écriture et l'effacement de ses cellules mémoires octet par octet, à la différence de la mémoire Flash Eprom qui ne peut être effacée que par segment entier. Elle est utilisée pour sauvegarder les données qui doivent être conservées de manière permanente, c'est-à-dire même après une coupure d'alimentation de l'UC (exemples : codes défauts, paramètres de configuration, etc.). Cette mémoire NVRAM n'est pas protégée en écriture contrairement à la mémoire Flash Eprom qui contient le code du programme applicatif. Des services de lecture et d'écriture par adresse dans la mémoire EEPROM sont disponibles de manière standard dans chaque UC, services génériques imposés par le protocole de communication. [0022] Les règles métier du développement logiciel imposent de conserver une marge de sécurité (zone libre) dans l'utilisation de la mémoire NVRAM. On peut estimer que l'espace libre dans la mémoire NVRAM est au moins de 10%. Par exemple, sur un véhicule actuel, la capacité mémoire disponible peut varier de 1300 octets à 1900 octets selon le nombre de calculateurs présents et en ne considérant que les calculateurs situés sous le capot. Les UC situées ailleurs dans le véhicule, dans l'habitacle par exemple, peuvent éventuellement être mis à contribution pour augmenter encore les possibilités du procédé de l'invention. [0023] Dans les utilisations actuelles, la quantité d'informations sauvegardées dans l'outil de diagnostic lors du remplacement d'un calculateur est bien souvent inférieure à 1 Ko. Le véhicule dispose donc de suffisamment de mémoire NVRAM disponible pour héberger temporairement les informations d'un calculateur à remplacer. On peut tolérer une utilisation de la mémoire NVRAM proche de 100% dans un ou plusieurs calculateurs pendant l'opération, car celle-ci n'aura lieu que très exceptionnellement dans la vie du véhicule, sur une période de très courte durée, à un moment où les fonctionnalités des UC ne seront pas sollicitées et où les conditions sécuritaires seront satisfaites (le changement d'un UC se faisant généralement à l'arrêt du véhicule, et comme indiqué ci-après avec l'alimentation électrique coupée). [0024] A la mise sous tension des UC, toutes les UC doivent émettre une trame événementielle (trame non périodique, qui n'est envoyée qu'à la mise sous tension des calculateurs). Cette trame doit contenir l'adresse et la taille de la zone de mémoire NVRAM disponible. [oo25] Les requêtes suivantes sont à implémenter dans l'écran multifonction (EMF) (ces requêtes sont habituellement implémentées dans l'outil de diagnostic): • ouverture de session de communication : cette requête permet d'initialiser la liaison de communication entre le requêteur (EMF) et les UC pour l'échange de données diagnostic. • écriture / lecture par adresse : cette requête permet d'écrire / lire n octets dans la mémoire de l'UCcible à partir d'une adresse mémoire donnée. L'adresse et la taille du bloc de données sont définies dans la requête (ce qui nécessite la connaissance de la cartographie mémoire de l'UCcible)• • écriture / lecture par repère logique : cette requête permet d'écrire / lire un bloc de données associé à un repère logique dans la mémoire de l'UCsource et de l'UCrechange (même repère logique dans tous les calculateurs). L'adresse et la taille du bloc ne sont pas définies dans la requête (ne nécessite pas la connaissance de la cartographie mémoire de l'UC). • fermeture de session de communication : cette requête permet de terminer la 20 communication entre le requêteur (EMF) et les UC. [0026] Une table, appelée ci-après Table 1 et montrée à la figure 1, est implémentée dans le logiciel applicatif de l'EMF situé dans la mémoire Flash Eprom ou ROM. Cette table est prédéfinie lors de la phase de conception par les responsables de la messagerie fonctionnelle du véhicule (c'est-à-dire le dictionnaire des trames et signaux échangés sur le 25 réseau de communication). La Table 1 indique, pour chaque UC susceptible d'être montée sur le véhicule, les informations suivantes : • l'identifiant de la trame événementielle émise une seule fois à chaque initialisation de l'UC, • l'identifiant de trame utilisé par l'outil de diagnostic pour transmettre une requête au 30 calculateur, et • l'identifiant de trame utilisé par l'UC pour répondre à l'outil de diagnostic. [0027] Un drapeau (� flag �), appelé ci-après flag REMPLACEMENT, est implémenté dans la mémoire NVRAM de l'EMF, permettant d'indiquer si une opération de changement d'UC est en cours de réalisation sur le véhicule. Lorsqu'une opération de remplacement est en cours, le drapeau est mis à la valeur 1 et lorsqu'une opération n'est pas en cours le drapeau est mis à la valeur 0. [0028] La procédure de remplacement d'un UCsource se décompose principalement en deux phases bien distinctes : • Phase I : Transfert des données à sauvegarder de l'UC à remplacer (UCsource) vers un ou plusieurs autres UC du véhicule (UCcibles) (étapes 1 à 7 du tableau ci-après). • Le transfert est effectué avant le remplacement du calculateur défaillant (UCsource) par le calculateur de remplacement (UCrechange). • Phase Il : Restitution des données stockées dans les UCcibles vers la nouvelle UC montée en pièce de rechange (UCrechange) (étapes 8 à 12 du tableau ci-après). [0029] Lorsque l'opérateur souhaite remplacer un calculateur du véhicule, il effectue les opérations suivantes, conformément au tableau ci-après et au logigramme de la figure 5. (Rappel : IHM désigne l'interface homme/machine). [0030] Une option � Annulation � permet à l'opérateur d'abandonner lorsque le flag REMPLACEMENT est positionné à 1 mais qu'il ne souhaite pas exécuter la phase Il. Dans ce cas, les données sauvegardées sont définitivement perdues. [0031] Pour éviter tout risque de perturbation du bon fonctionnement des UC pendant que la personne conduit son véhicule, on préfère interdire l'opération tant que le véhicule ne se trouve pas dans des conditions dynamiques sécuritaires. Toute tentative d'écriture (étapes 5 et 10 ci-après) est refusée si les conditions sécuritaires ne sont pas remplies. Ces conditions concernent généralement la vitesse du véhicule et/ou le régime moteur. Selon le procédé, l'EMF affiche un message demandant à l'opérateur de placer son véhicule à l'arrêt et moteur non tournant avant de commencer l'opération. Tableau des actions réalisées par l'opérateur et des tâches de l'EMF Actions réalisées par l'opérateur Tâches réalisées par l'EMF L'opérateur met l'alimentation Etape 0 : Initialisation des calculateurs. électrique du véhicule en marche (+APC). L'IHM affiche sa page d'accueil et son menu standard. L'opérateur sélectionne l'option Si flag REMPLACEMENT=0 : � Remplacer un calculateur � dans le Etape 1 : Détermination des UC présentes dans le menu de l'IHM. véhicule. L'IHM affiche la liste des UC présentes dans le véhicule. L'opérateur sélectionne l'UC à Etape 2 : Détermination de la taille des enregistrements à remplacer (UCsource) sauvegarder (blocs de données adaptatives à récupérer dans UCsource). Etape 3 : Vérification de la taille disponible dans les UCcibles. Etape 4 : Préparation au transfert des données. Etape 5 : Transfert des données de UCso,nee vers les UCcibles. Etape 6 : Vérification de l'intégrité des données écrites dans les UCcibles (Flag REMPLACEMENT = 1). Etape 7 : L'IHM invite l'opérateur à remplacer UCsource par UCrechange• L'opérateur coupe l'alimentation électrique du véhicule (+APC). L'opérateur débranche la batterie du véhicule. L'opérateur remplace UCsource par UCrechange L'opérateur rebranche la batterie du véhicule. L'opérateur met en marche Etape 0 : Initialisation des calculateurs. l'alimentation électrique (+APC). L'IHM affiche sa page d'accueil et son menu standard. L'opérateur sélectionne l'option Si flag REMPLACEMENT=1 : � Remplacer un calculateur � dans le Etape 8 : Détermination de l'UC en cours de menu de l'IHM. remplacement. L'IHM propose à l'opérateur de terminer le transfert des données dans l'UC en cours de remplacement. L'opérateur accepte. Etape 9 : Vérification de l'intégrité des données. Etape 10 : Transfert des données des UCcibles vers UCrechange. Etape 11 : Vérification de l'intégrité des données écrites dans UCrechange• Etape 12 : Libération de la mémoire (flag REMPLACEMENT = 0). L'opération est terminée, l'opérateur L'IHM indique à l'opérateur que l'opération s'est peut couper le +APC. terminée avec succès. [0032] Le logigramme de la figure 5 schématise les diverses étapes du procédé. Au départ (référence 10), l'opérateur tourne la clé de contact de façon à alimenter électriquement les UC. Ces dernières se réveillent et se signalent en émettant sur le réseau de communication une trame d'initialisation (référence 12). Chaque trame d'initialisation contient un identifiant propre à chaque UC, la taille de la zone NVRAM disponible et l'adresse de début de la zone NVRAM disponible. L'EMF écoute et stocke dans sa mémoire RAM (dans une table désignée par Table 2 û figure 2) la présence des UC avec pour chacune l'adresse du début de la mémoire NVRAM disponible et la taille de la mémoire disponible. Cette Table 2 est conservée en mémoire et ne doit pas être altérée jusqu'à la prochaine coupure de l'alimentation électrique. La taille et l'adresse de la zone mémoire NVRAM non utilisée est déterminée par le fournisseur lors du figeage du logiciel. Ces valeurs peuvent être considérées comme constantes. [0033] A la question (référence 14) "L'opérateur a-t-il sélectionné l'option REMPLACER UC ?" à l'aide de l'interface homme/machine (IHM), si la réponse est NON, alors le procédé s'arrête. Si la réponse est OUI, cela signifie que l'opérateur veut changer une UC; on pose alors la question suivante (référence 16) "Le drapeau (flag) REMPLACEMENT = 0?", autrement-dit, Aucune UC en cours de remplacement ? Si la réponse est OUI (=pas d'UC en cours de remplacement) (flag= 0), l'IHM indique à l'opérateur la liste des UC présentes dans le véhicule (référence 18). On pénètre alors dans la branche de gauche du logigramme, cette branche concernant la phase I (transfert des données de UCsource vers UCcibles), la branche à droite concernant la phase Il (restitution des données stockées dans UCcibles vers UCrechange). [0034] L'opérateur sélectionne l'UC à remplacer, (référence 20) Ce n'est pas l'opérateur qui choisit les UCcibles mais le calculateur EMF. Ce dernier sélectionne de préférence les UCcibles par ordre décroissant de capacité mémoire disponible, afin de minimiser le nombre d'opérations à réaliser (nombre de trames échangées entre les calculateurs). [0035] L'identifiant de l'UC sélectionnée est stocké en mémoire NVRAM de l'IHM dans la table 3 (mémoire tampon non volatile car l'alimentation électrique est coupée par la suite) (référence 22). [0036] La phase I est ensuite exécutée (référence 24), les données à sauvegarder sont transférées de l'UCsource vers le ou les UCcibles• [0037] Le drapeau flag REMPLACEMENT est alors positionné à la valeur 1 (référence 26) et l'opérateur est invité à couper l'alimentation électrique +APC du véhicule et éventuellement débrancher la batterie (référence 28). L'opérateur peut alors procéder au remplacement de l'UC à changer. Lorsque le changement est effectué, l'opérateur rétablit l'alimentation électrique +APC (après avoir rebranché la batterie si nécessaire) et on se retrouve dans le logigramme dans la situation de la référence 16, mais cette fois avec flag= 1 (réponse NON au bloc 16) Au préalable au bloc 14, l'opérateur doit sélectionner � Remplacer une UC � car il n'est pas obligé de lancer la phase Il immédiatement. Il peut en effet réaliser d'autres opérations entre la mise du +APC et le lancement de la phase Il, voire même couper plusieurs fois le +APC. On passe alors aux opérations de la branche droite de l'organigramme. [0038] L'IHM propose à l'opérateur de transférer les données stockées dans la ou les UC 10 cibles vers l'UC de rechange (référence 30). L'opérateur accepte (référence 32) et la phase Il s'exécute (référence 34). [0039] Lorsque les données ont été transférées, leur intégrité est vérifiée et le drapeau flag REMPLACEMENT est placé à la valeur 0 (référence 36). [0040] L'opérateur est ensuite appelé à couper l'alimentation électrique +APC du véhicule 15 (référence 28). [0041] La description qui suit est la description détaillée d'un mode de réalisation du procédé de l'invention. Cette description reprend les étapes successives indiquées précédemment, 1 à 7 pour la Phase I et 8 à 12 pour la Phase Il. 20 Etape 1 : Détermination des UC présentes dans le véhicule [0042] L'EMF balaie la liste des identifiants de trames d'initialisation stockés dans la colonne I de la Table 2 (figure 2), laquelle contient, à la colonne I, les identifiants des trames d'initialisation des UC et des données qu'elles contiennent (dans la colonne Il, les adresses des débuts de zone de mémoire disponibles et , dans la colonne III, les tailles de ces 25 mémoires disponibles, la colonne I indiquant les identifiants ID des trames d'initialisation). L'EMF identifie le nom des calculateurs correspondants dans la Table 1 (figure 1), la colonne UC de cette Table indiquant les différents calculateurs du véhicule, la colonne I l'ID des trames d'initialisation, la colonne Il les identifiants des requêtes de diagnostic et la colonne III les identifiants de réponse diagnostic). L'IHM, qui comporte un écran d'affichage, peut ainsi 30 afficher la liste des calculateurs présents dans le véhicule. Cette liste pourra prendre une forme textuelle ou bien graphique si l'on souhaite éviter les traductions en plusieurs langues. L'opérateur sélectionne le calculateur qu'il souhaite remplacer parmi ceux proposés grâce à un bouton de saisie de l'IHM (ou toute autre interface permettant à l'opérateur de saisir un choix, par exemple écran tactile) Etape 2: Détermination de la taille des enregistrements présents dans UCsource [0043] Grâce à la Table 1 (figure 1), l'EMF détermine les identifiants normalement utilisés par les outils de diagnostic externes pour dialoguer sur le réseau de communication avec UCsource. Pour mémoire, on rappelle que chaque famille de calculateur dispose d'une paire d'identifiants : • un identifiant pour les requêtes (outil vers UC), • un identifiant pour les réponses (UC vers outil). [0044] Le protocole de communication diagnostic est implémenté dans tous les calculateurs du véhicule. En utilisant les requêtes normalement employées par l'outil de diagnostic externe du garagiste, l'EMF peut leurrer les autres calculateurs du véhicule, se faire passer pour un requêteur, entrer en communication point à point avec chacun d'entre eux et ainsi lire et écrire des informations dans leur mémoire interne. [0045] L'EMF commence par ouvrir une session de diagnostic point à point avec l'UCsource en utilisant les identifiants diagnostic indiqués dans la Table 1. Une fois la communication établie, l'EMF envoie autant de requêtes de lecture que nécessaire pour lire l'ensemble des enregistrements stockés dans la mémoire non volatile de UCsource. Il n'est pas nécessaire que I'EMF connaisse les adresses des enregistrements contenus dans UCsource car chaque enregistrement dispose d'un repère logique (les repères logiques sont les mêmes quel que soit le calculateur sélectionné). [0046] Les opérations suivantes doivent être exécutées pour chaque repère logique supporté par UCsource • l'EMF envoie à UCsource une requête de lecture de l'enregistrement associé au repère 25 logique n, • UCsource répond à l'EMF par une trame (trame T2) contenant les données contenues dans l'enregistrement associé au repère logique n. [0047] L'EMF compte le nombre d'octets de données contenus dans la trame T2 reçue et stocke dans sa mémoire NVRAM la taille de l'enregistrement et son repère logique (ce qui constitue la Table 3 û Figure 3 qui indique dans la colonne de gauche les repères logiques et dans la colonne de droite les tailles d'enregistrement correspondants). Cette opération doit être recommencée en balayant tous les repères logiques autorisés. Le calculateur UCsource indique les repères logiques inutilisés en renvoyant une réponse négative. Lorsque tous les repères logiques ont été interrogés, l'EMF ferme la session de diagnostic avec UCsource. [0048] En additionnant (ou toute autre opération pouvant être utilisée par un algorithme de contrôle d'intégrité des données) les valeurs de tous les octets de données contenus dans les trames T2 renvoyées par UCsource, l'EMF est en mesure de calculer un checksum global sur l'ensemble des enregistrements transmis. Celui-ci est également mémorisé dans la mémoire NVRAM de l'EMF (Table 3) et sera utilisé ultérieurement pour contrôler l'intégrité des données sauvegardées. [0049] Enfin, l'EMF stocke l'identifiant de UCsource dans la Table 3 afin de pouvoir identifier, lors de la phase Il, l'UC qui aura été remplacée. Etape 3: Vérification de la taille mémoire disponible dans les UCcibles [0050] L'EMF vérifie que la capacité mémoire totale disponible dans l'ensemble des autres calculateurs présents dans le véhicule est bien supérieure ou égale à la capacité mémoire nécessaire au stockage des informations contenues dans UCsource. Pour cela, l'EMF additionne les capacités mémoires disponibles indiquées dans la Table 2 (en omettant, bien entendu, la ligne de la Table 2 correspondant à UCsource) et compare le résultat obtenu à la somme des tailles des enregistrements stockés dans la Table 3. Si la capacité disponible totale n'est pas suffisante pour accueillir les données de UCsource alors l'opération est avortée et l'IHM affiche un message indiquant à l'opérateur que l'opération ne peut être effectuée et qu'elle nécessite l'assistance d'un garagiste. Celui-ci utilisera alors la mémoire externe de son outil de diagnostic pour mener à bien l'opération (méthode actuellement utilisée). Etape 4: Préparation au transfert de données [0051] Si la capacité mémoire disponible totale est suffisante, l'EMF classe les calculateurs présents dans la Table 2 (excepté UCsource) par ordre décroissant de capacité mémoire disponible afin d'optimiser le nombre de trames à transmettre et obtient la Table 4 - Figure 4 qui indique dans la colonne I les identifiants ID des UCcibles, dans la colonne Il les ID des trames d'initialisation, dans la colonne III les adresses de début de mémoire disponibles et dans la colonne IV les tailles correspondantes de mémoire disponible. Etape 5 : Transfert des données de I'UCsourcevers les UCcibles [0052] L'EMF ouvre une session de diagnostic avec UCsource et également avec les UCcibles (L'identifiant de UCsource est indiqué dans la Table 3, les identifiants des UCcibles sont indiqués dans la Table 4). [0053] Pour chacun des repères logiques figurant dans la Table 3, les opérations suivantes sont réalisées : • l'EMF envoie une requête de lecture de l'enregistrement associé au repère logique sélectionné. • UCsource renvoie une réponse positive contenant les données de l'enregistrement 10 sélectionné. • L'EMF stocke le contenu de l'enregistrement sélectionné dans sa mémoire RAM. [0054] L'EMF envoie autant de requêtes d'écritures que nécessaire pour recopier les données contenues dans sa mémoire RAM vers la mémoire NVRAM des UCcibles . Pour cela, l'EMF initie les opérations suivantes : 15 • Ecriture par adresse (et non par repère logique), l'adresse de début des zones mémoire disponibles est indiquée pour chaque UCcible dans la Table 4, • Si la taille de l'enregistrement à écrire est supérieure à la taille mémoire disponible dans l'UCcible p, alors l'EMF doit utiliser toute la place disponible dans l'UC p et écrire le reste dans l'UC p+1 (fragmentation d'un enregistrement). 20 • Au contraire, si la taille de l'enregistrement à écrire est inférieure à la taille mémoire disponible dans l'UCcible p, l'EMF peut compléter avec le début de l'enregistrement suivant (concaténation des enregistrements). [0055] Ces opérations doivent être réitérées pour chaque enregistrement dont le repère logique est indiqué dans la Table 3. Puis, l'EMF ferme la session de diagnostic avec UCsource 25 et les UCcibles. [0056] Si le véhicule n'est pas en conditions sécuritaires, les requêtes d'écriture seront refusées par les UCcibles. En cas de réponse négative d'au moins une UC, l'EMF doit avorter l'opération et afficher un message indiquant que l'opération a été abandonnée pour des raisons sécuritaires. Etape 6 : Vérification de l'intégrité des données écrites dans les UCcibles [0057] L'EMF relit les données écrites dans les UCcibles grâce à des requêtes de lecture par adresse (les adresses de début de zone mémoire sont indiquées dans la Table 4 pour chaque UC). L'EMF additionne (ou toute autre opération pouvant être utilisée par un algorithme de contrôle d'intégrité des données) les valeurs contenues dans les octets relus et obtient un checksum qu'il compare avec le checksum global stocké dans la Table 3. Si les checksums sont identiques, l'EMF positionne le drapeau flag REMPLACEMENT à la valeur 1. [0058] Si les 2 checksums ne sont pas identiques, alors lEMF doit avorter l'opération et afficher un message indiquant que l'opération a été abandonnée suite à une erreur d'écriture. Etape 7 : Invitation au remplacement du calculateur [0059] Un message s'affiche pour indiquer à l'opérateur la marche à suivre pour remplacer le calculateur défaillant : • couper le contact, • débrancher la batterie, • remplacer le calculateur défaillant par un nouveau calculateur, • rebrancher la batterie, • remettre le contact, • lancer la phase Il depuis le menu de l'IHM. (Pas de trames échangées entre les UC à cette étape). La description qui suit est la description détaillée d'un mode de réalisation de la Phase Il. Etape 8 : Détermination de l'UC en cours de remplacement [0060] L'EMF lit l'identifiant stocké dans la Table 3 située dans sa mémoire NVRAM et identifie le nom du calculateur correspondant dans la Table 1 (calculateur UCrechange). L'IHM peut ainsi proposer à l'opérateur de lancer la phase Il de l'opération (restitution des données) sur le calculateur UCrechange. Etape 9 : Vérification de l'intégrité des données présentes dans les UCcibles [0061] Lors de l'initialisation suivant le remplacement du calculateur défaillant, l'EMF a reconstitué dans sa mémoire RAM la liste des calculateurs présents dans le véhicule (Table 2). L'EMF classe ensuite les calculateurs présents dans la Table 2 (excepté UCsource dont l'identifiant figure dans la Table 3) par ordre décroissant de capacité mémoire disponible afin de reconstituer à l'identique la Table 4 de la phase I. L'EMF effectue un contrôle de checksum globale de manière à vérifier que toutes les informations sauvegardées sont bien présentes dans les calculateurs qui se sont manifestés sur le réseau et que leur contenu n'a pas été altéré depuis la phase I (c'est également un bon moyen pour détecter les UC manquantes ou remplacées entre la phase I et la phase Il). Pour cela, l'EMF lit les données stockées dans les UCcibles grâce à des requêtes de lecture par adresse. L'EMF balaie ligne par ligne la Table 4 : les identifiants et les adresses de début de zone mémoire disponible y sont indiquées pour chaque UC. L'EMF additionne les valeurs contenues dans les octets relus et obtient un checksum qu'il compare avec le checksum global stocké dans la Table 3 située dans sa mémoire NVRAM. Si les deux checksums ne sont pas identiques, alors l'EMF doit avorter l'opération et afficher un message indiquant que l'opération a été abandonnée pour une erreur d'écriture. Etape 10 : Transfert des données des UCcibles vers l'UCrechan e [0062] L'EMF peut maintenant entamer l'opération de transfert des données sauvegardées dans les UCcibles vers l'UCrechange. [0063] L'EMF commence par ouvrir une session de diagnostic avec l'UCrechange et également avec les UCcibles. Pour chacun des repères logiques figurant dans la Table 3, l'EMF envoie autant de requêtes de lecture par adresse que nécessaire pour lire dans les UCcibles les informations permettant de reconstituer dans sa mémoire RAM les données contenues dans l'enregistrement correspondant au repère logique considéré (le nombre d'octets à lire pour chaque repère logique est indiqué dans la deuxième colonne de la table 3). Pour cela, l'EMF gère les opérations suivantes: • Lecture par adresse (et non par repère logique), l'adresse de début des zones mémoire disponibles est indiquée pour chaque UCcible dans la Table 2, • Si la taille de l'enregistrement à lire (indiquée dans la table 3) est supérieure à la taille mémoire disponible dans l'UCcible p (indiquée dans la table 4), alors l'EMF doit lire d'abord la première partie correspondant à toute la place disponible dans l'UC p et lire le reste dans l'UC p+1 (fragmentation d'un enregistrement). • Au contraire, si la taille de l'enregistrement à lire est inférieure à la taille mémoire disponible dans l'UCcible p, la lecture de l'enregistrement suivant débutera dans la même UC p (concaténation des enregistrements). [0064] Une fois l'enregistrement totalement reconstitué dans sa RAM, l'EMF envoie une requête d'écriture à UCrechange pour écrire l'enregistrement à l'emplacement de sa mémoire NVRAM associée au repère logique considéré. [0065] Ces opérations doivent être réitérées pour chaque enregistrement dont le repère logique est indiqué dans la Table 3. Enfin, l'EMF ferme la session de diagnostic avec UCrechange et les UCcibles. [0066] Si le véhicule n'est pas en conditions sécuritaires, les requêtes d'écriture seront refusées par l'UCrechange. En cas de réponse négative d'UCrechange, l'EMF doit avorter l'opération et afficher un message indiquant que l'opération a été abandonnée pour des raisons sécuritaires. Etape 11 : Vérification de l'intégrité des données écrites dans UCrechanqe [0067] L'EMF relit les données écrites dans l'UCrechange grâce à des requêtes de lecture par repère logique (il balaie les repères logiques indiqués dans la Table 3). L'EMF envoie autant de trames que nécessaire pour lire tous les repères logiques supportés. L'EMF additionne (ou toute autre opération pouvant être utilisée par un algorithme de contrôle d'intégrité des données) les valeurs contenues dans les octets relus et obtient un checksum qu'il compare avec le checksum global stocké dans la Table 3 située dans sa mémoire NVRAM. Si les 2 checksums ne sont pas identiques, alors l'EMF doit avorter l'opération et afficher un message indiquant que l'opération a été abandonnée pour une erreur d'écriture. Etape 12 : Libération de la mémoire [0068] Une fois le transfert des données terminé et l'intégrité des données vérifiées, l'EMF peut libérer la zone mémoire utilisée dans chaque UCcible et dans l'EMF (table 3). La technologie EEPROM ne nécessite pas d'effacer les données pour pouvoir écrire à nouveau dans la zone concernée. Il suffit donc de positionner le flag REMPLACEMENT à la valeur 0 dans la mémoire NVRAM de IEMF pour indiquer au logiciel que les données stockées dans les UCcibles ne sont plus valides et qu'elles peuvent être écrasées lors d'une nouvelle utilisation. [0069] La présente invention apporte de nombreux avantages. Par exemples, elle permet de transférer les données, notamment les données adaptatives, d'un calculateur à remplacer vers un calculateur de rechange sans nécessiter l'utilisation d'un outil de diagnostic. Elle n'impose pas à l'automobiliste d'amener le véhicule chez son garagiste et lui permet de remplacer lui-même son calculateur acheté en pièce de rechange. Ceci est d'autant plus appréciable pour l'automobiliste lorsque le véhicule est immobilisé à son domicile. [0070] Chez le garagiste, l'invention permet de réaliser l'opération sans connecter d'outil de diagnostic, ce qui peut se révéler très utile lorsque les différents opérateurs doivent se partager une seule station de diagnostic au sein de l'atelier. Elle contribue donc à diminuer le temps passé sur chaque véhicule à réparer. [0071] La solution proposée est peu coûteuse à implémenter car elle n'impacte pas le matériel des véhicules, les évolutions affectant uniquement le logiciel et principalement celui du calculateur EMF. Les autres calculateurs ne nécessitent qu'un paramétrage de la trame d'initialisation généralement déjà existante. Elle permet aussi de bénéficier d'une prestation supplémentaire en exploitant des ressources NVRAM déjà présentes dans les calculateurs ù et dont le coût est déjà supporté par le constructeur automobile - mais actuellement inutilisées. [0072] D'autres modes de réalisation que ceux décrits et représentés peuvent être conçus par l'homme du métier sans sortir du cadre de la présente invention. Par exemple, afin d'utiliser moins d'espace mémoire non volatile dans l'EMF, la liste des UCcibles présentes dans le véhicule est reconstituée à chaque initialisation du véhicule. Elle est stockée dans la mémoire volatile de lEMF (RAM) et les UCcibles sont classées par taille de mémoire disponible décroissante (étape 9). L'EMF s'assure que la topologie des UC dans le véhicule n'a pas évoluée en effectuant un calcul des checksums. Il est possible de faire autrement, par exemple en stockant la cartographie des UCcibles dans la mémoire non volatile de I'EMF une fois pour toutes au début de l'opération. De même, dans l'exemple détaillé seuls les UC présentes sous le capot moteur ont été indiquées, alors qu'il est possible de faire également appel aux UC présentes ailleurs dans le véhicule (dans l'habitacle par exemple). Egalement, l'exemple de réalisation décrit en détails fait référence aux données adaptatives, mais il est évident que le procédé peut s'appliquer à d'autres sortes de données. Le procédé peut être utilisé pour tous types de véhicules, automobiles ou non, pour lesquels se pose le problème du remplacement d'un calculateur sans perte de données. REVENDICATIONS1. Procédé de sauvegarde de données enregistrées dans la mémoire d'une unité de contrôle, appelée unité de contrôle source (UCsource), lors du remplacement de ladite unité par une unité de contrôle de rechange (UCrechange), ladite unité de contrôle source étant connectée par un réseau de communication à une pluralité d'unités de contrôle (UC) d'un véhicule, le procédé étant caractérisé par les étapes suivantes : • transfert et enregistrement des données à sauvegarder de l'UCsource respectivement vers et dans au moins l'une desdites unités de contrôle, appelée unité de contrôle cible 10 (UCcible), choisie parmi lesdites UC ; • remplacement de ladite UCsource par ladite UCrechange ; et • transfert et enregistrement des données enregistrées dans ladite UCcible respectivement vers et dans ladite UCrechange 2. Procédé selon la revendication 1 caractérisé en ce que, préalablement au transfert 15 et à l'enregistrement des données à sauvegarder, l'espace mémoire disponible dans chaque UC est vérifiée et la taille des données à sauvegarder est déterminée. 3. Procédé selon l'une des revendications précédentes caractérisé en ce que, après au moins l'une desdites étapes de transfert et d'enregistrement des données, l'intégrité des données enregistrées est vérifiée. 20 4. Procédé selon l'une des revendications précédentes caractérisé en ce que, le véhicule étant équipé d'une interface homme-machine (IHM) muni d'un calculateur, la gestion desdites étapes du procédé est confiée au calculateur de cette interface. 5. Procédé selon l'une des revendications précédentes caractérisé en ce que, la première étape du procédé consiste à mettre en marche le contact du véhicule de façon à 25 alimenter électriquement les unités de contrôle. 6. Procédé selon la revendication 5 caractérisé en ce que, à la mise en marche du contact, les UC émettent une trame d'initialisation, ce qui permet de déterminer les UC présentes dans le véhicule. 7. Procédé selon la revendication 6 caractérisé en ce que la trame d'initialisation d'un 30 UC contient un identifiant propre audit UC, la taille de la zone mémoire de type NVRAM disponible et l'adresse de début de ladite zone mémoire disponible 8. Procédé selon les revendications 4 et 6 caractérisé en ce que, l'IHM étant muni d'un écran, les UC présentes sont affichés à l'écran et l'opérateur sélectionne l'UC à remplacer (UCsource) 9. Procédé selon la revendication 7 caractérisé en ce que le calculateur associé à l'IHM 5 choisi au moins une UC en tant que UCcible parmi les UC présentes en fonction de leur taille mémoire disponible et en fonction de la taille des données à sauvegarder de ladite UCsource• 10. Procédé selon l'une des revendications précédentes caractérisé en ce que, avant le remplacement de ladite UCsource par ladite UCrechange , l'opérateur est invité à couper le contact du véhicule (+ APC). 10 15 20 25