Brevet FR2942893A1 — publié le 20100910

CALCULATEUR MOTEUR A ACTIVATION PROLONGEE [000l] L'invention concerne les calculateurs associés aux moteurs de véhicules automobiles. L'invention concerne en particulier l'activation prolongée d'un tel 5 calculateur après que l'utilisateur ait coupé le contact du véhicule. [0002] Selon un mode de fonctionnement largement répandu dans les véhicules automobiles, le calculateur moteur du véhicule comprend un processeur. Lorsque l'utilisateur introduit la clé de contact dans le contacteur du véhicule et la tourne vers une position d'activation, un signal électrique est transmis au processeur. Ce signal 10 permet d'alimenter transitoirement le processeur, qui ne nécessite qu'une tension d'alimentation très faible. À réception de ce signal, le processeur commande un transistor commutant un relais. Ce relais raccorde alors le calculateur et différents actionneurs à la batterie pour les alimenter. Par conséquent, on considère que le calculateur commande sa propre alimentation. Le calculateur moteur commande en 15 pratique de nombreux consommateurs électriques du moteur ainsi que des périphériques du véhicule autres que le moteur. [0003] Lorsque l'utilisateur tourne la clé de contact jusqu'à un premier cran, le calculateur active un certain nombre de fonctionnalités du véhicule, notamment l'affichage d'informations sur le tableau de bord. Lorsque l'utilisateur tourne la clé 20 jusqu'à un deuxième cran, le moteur à combustion interne du véhicule est démarré, puis la clé revient jusqu'au premier cran. Une fois le moteur démarré, le calculateur va autoriser l'exécution de fonctions correspondant à l'utilisation du véhicule, jusqu'à ce que l'utilisateur commute la clé de contact vers une position d'arrêt. Le moteur à combustion interne est alors arrêté. L'utilisateur peut alors retirer la clé du contacteur. 25 [0004 Lorsque la clé revient à la position d'arrêt, le calculateur reste provisoirement alimenté et reste activé pendant une durée prolongée. Durant cette activation prolongée (également appelée phase d'endormissement ou Power-latch en langue anglaise), le calculateur exécute plusieurs fonctionnalités. Le calculateur commande notamment une ventilation du moteur afin de favoriser son refroidissement et de 30 préserver les organes mécaniques. En effet, la température dans le moteur atteint naturellement un maximum lorsque le moteur vient d'être éteint : le moteur ne bénéficie plus du refroidissement par le flux d'air généré durant le roulage et ne bénéficie plus non plus de l'écoulement du liquide à l'intérieur du circuit de refroidissement. [0005i Le calculateur commande également un transfert d'éventuelles anomalies de fonctionnement détectées et mémorisées dans une mémoire vive vers une mémoire non volatile. Le calculateur met également à jour l'état de défauts préalablement mémorisés dans cette mémoire non volatile. Le véhicule pourra ainsi redémarrer en mode dégradé si des défauts constatés peuvent perturber le fonctionnement du véhicule. Le calculateur inscrit également dans la mémoire non volatile des paramètres qu'il prendra en compte lors d'un prochain démarrage du moteur, par exemple des paramètres initiaux pour les différents actionneurs. Le transfert d'informations de la mémoire vive vers la mémoire non volatile en simultané avec l'exécution de différents programmes en mémoire vive peut conduire à une interruption de fonctionnement accidentelle du calculateur, nécessitant sa réinitialisation. Une telle interruption de fonctionnement durant le roulage peut s'avérer particulièrement dangereuse, puisque le conducteur pourrait se retrouver par exemple dans l'incapacité d'accélérer durant un dépassement. Par conséquent, ce transfert d'informations est réalisé uniquement après l'arrêt du moteur. [0006] Afin de sécuriser l'étape de transfert vers la mémoire non volatile, le calculateur peut empêcher tout redémarrage du moteur durant cette étape. Ainsi, si une perturbation électromagnétique affecte les paramètres inscrits dans la mémoire non volatile, le calculateur est incapable de redémarrer, ce qui ne met pas en péril la sécurité des occupants du véhicule. Selon une alternative, un redémarrage du moteur est autorisé et interrompt le transfert des paramètres vers la mémoire non volatile. Cependant, les paramètres encore mémorisés dans la mémoire vive du calculateur sont utilisés lors du redémarrage plutôt que les paramètres mémorisés dans la mémoire non volatile. Le transfert des paramètres vers la mémoire non volatile sera alors ré-exécuté en intégralité lors d'une activation prolongée ultérieure. [0007] En pratique, les calculateurs utilisent un nombre croissant de stratégies auto-30 adaptatives. Le calculateur pourra notamment mémoriser des paramètres de fonctionnement modifiés en fonction de l'utilisation faite du véhicule. Le calculateur pourra notamment déterminer des régimes de changements de rapports de boîte de vitesses ou des stratégies d'alimentation du moteur favorisant plus ou moins les performances, puis inscrire ces paramètres dans la mémoire non volatile. [0008] Lorsque ces différentes fonctionnalités ont été exécutées durant l'activation prolongée après l'arrêt du moteur, le processeur commande alors au transistor de commuter le relais de puissance pour interrompre l'alimentation du calculateur et des différents actionneurs. [0009] Certains calculateurs comprennent une mémoire non volatile de type EEPROM mémorisant des paramètres de fonctionnement, et une mémoire non volatile de type flash EPROM mémorisant le logiciel définissant le fonctionnement du calculateur. Cependant, afin de réduire le coût des calculateurs, la mémoire de type EEPROM est parfois supprimée dans les calculateurs. Dans ce cas, les paramètres de fonctionnement sont mémorisés dans une partie de la mémoire de type flash EPROM émulant un fonctionnement en EEPROM. La mémoire de type flash EPROM ne permet cependant pas simultanément d'écrire des paramètres et d'exécuter un programme qu'elle mémorise. [ooio] Le déploiement de fonctions électroniques toujours plus complexes au sein des véhicules automobiles et l'exigence industrielle de réduire le temps de montage du véhicule sont souvent antagonistes. Cette difficulté est encore accentuée par une exigence croissante de qualité du produit imposant notamment le renforcement des contrôles durant le montage, destinés à garantir la conformité des véhicules livrés au client. De tels contrôles ont nécessairement une incidence négative sur le temps de montage du véhicule. [0011] Durant le montage, la maintenance ou l'équipement en deuxième monte du véhicule, l'opérateur peut être amené à déconnecter la batterie avant la fin de l'ensemble des fonctionnalités réalisées durant l'activation prolongée. Dans ce cas de figure, la mémoire vive n'est plus alimentée et ses données sont irrémédiablement perdues et ne peuvent donc plus être transférées dans la mémoire non volatile. De telles déconnexions de la batterie sont particulièrement pénalisantes durant l'assemblage du véhicule car une exécution préalable complète des fonctionnalités durant l'activation prolongée du calculateur est indispensable pour que les paramètres de configuration soient correctement inscrits dans la mémoire non volatile et que le véhicule sortant de la chaîne soit pleinement opérationnel. Un opérateur souhaitant intervenir dans le compartiment moteur du véhicule doit ainsi attendre la fin de l'activation prolongée pour pouvoir déconnecter la batterie et ainsi assurer sa propre sécurité. L'opérateur ne pouvant déterminer si l'écriture en mémoire non volatile est terminée, pour maximiser la probabilité que l'activation prolongée soit terminée lors de son intervention, il attend une durée prédéterminée suffisante dans la plupart des cas pour exécuter l'ensemble des fonctionnalités de l'activation prolongée. [0012] La durée de l'activation prolongée nécessaire pour exécuter les différentes fonctionnalités varie énormément en fonction de l'état dans lequel se trouve le véhicule. Cette durée peut notamment être fonction de défauts rencontrés sur le véhicule sur la ligne de montage. [0013] Comme l'exécution des fonctionnalités durant l'activation prolongée ne peut pas systématiquement être réalisée en temps masqué lors du montage du véhicule, une durée excessive de l'activation prolongée peut perturber le fonctionnement d'une ligne de montage. Un certain nombre d'opérations électroniques ne pourront par exemple être exécutées correctement qu'une fois que le calculateur aura été correctement configuré, ce qui implique que l'activation prolongée du calculateur soit préalablement terminée. [0014] Dans un exemple pratique, le test d'une sonde de température du moteur peut nécessiter une activation prolongée du calculateur allant d'une dizaine de secondes jusqu'à plusieurs dizaines de minutes même en l'absence de défauts. En effet, s'il s'avère que le véhicule est très chaud, l'activation prolongée provoquera le déclenchement du ventilateur afin de rabaisser la température lue au niveau de la sonde, ce qui induit une augmentation conséquente de la durée d'activation prolongée. Le fabriquant déterminera que la sonde est défectueuse si elle renvoie des valeurs hors des tolérances après une activation prolongée d'une durée prédéterminée. De plus, si le fabricant souhaite avoir la certitude que la sonde est défectueuse avant de procéder à son remplacement, il laissera l'activation prolongée s'exécuter le plus longtemps possible avant de conclure qu'une valeur anormalement élevée renvoyée par la sonde est due à un défaut de cette sonde. [0015] L'invention vise à résoudre un ou plusieurs de ces inconvénients. L'invention porte ainsi sur un calculateur de contrôle moteur, comprenant : • une interface de réception de commandes d'activation ou de désactivation du calculateur par un utilisateur ; • une mémoire non volatile destinée à mémoriser des paramètres de fonctionnement du calculateur ; • un module de traitement connecté à l'interface de réception pour détecter une commande de désactivation du calculateur, maintenant l'alimentation du calculateur et lançant l'écriture de paramètres de fonctionnement du calculateur dans la mémoire non volatile après la détection d'une commande de désactivation du calculateur. [0016] La mémoire non volatile comprend une zone mémorisant un état d'exécution de l'écriture des paramètres, le module de traitement détermine la fin de l'écriture des paramètres de fonctionnement dans la mémoire non volatile et inscrit dans ladite zone mémoire postérieurement à cette détermination un état de fin d'écriture des paramètres. Le calculateur comprend en outre une interface de consultation de l'état d'exécution accessible depuis l'extérieur du calculateur. [0017] Selon une variante, le calculateur comprend en outre une interface d'inscription d'un état d'écriture non terminée dans ladite zone mémoire. [0018] Selon encore une variante, le module de traitement commande l'interruption de l'alimentation du calculateur après l'inscription de l'état de fin d'écriture des paramètres dans ladite zone de la mémoire non volatile. [0019] Selon une autre variante, le calculateur comprend une interface de commande d'actionneurs, et le module de traitement est apte à appliquer des commandes sur l'interface de commande en fonction de paramètres de fonctionnement mémorisés dans la mémoire non volatile. [0020] Selon encore une autre variante, le calculateur comprend une mémoire vive, la mémoire non volatile mémorisant des programmes exécutables par le module de traitement, le module de traitement mémorisant des paramètres de fonctionnement du calculateur dans la mémoire vive durant l'exécution desdits programmes, le module de traitement écrivant lesdits paramètres de fonctionnement dans ladite zone après la détection d'une commande de désactivation du calculateur. [0021] Selon une variante, lesdits programmes exécutables sont des programmes de contrôle d'actionneurs, le module de traitement exécutant ces programmes de contrôle après la détection d'une commande de désactivation du calculateur. [0022] Selon une autre variante, la mémoire non-volatile est du type flash et mémorise un programme d'écriture dans ladite zone, le module de traitement est configuré pour recopier ledit programme d'écriture dans la mémoire vive et pour exécuter ledit programme d'écriture dans la mémoire vive durant l'inscription dans ladite zone de l'état de fin d'écriture des paramètres. [0023] L'invention concerne également un procédé de fonctionnement d'un calculateur de contrôle moteur muni d'une mémoire non volatile, comprenant les étapes de : • recevoir une commande de désactivation du calculateur par un utilisateur ; • maintenir l'alimentation du calculateur et lancer une écriture de paramètres de fonctionnement dans la mémoire non volatile après la réception de la commande de désactivation ; • déterminer la fin de l'écriture des paramètres de fonctionnement et inscrire un état de fin d'écriture dans une zone de la mémoire non volatile ; • transmettre la valeur de l'état de fin d'écriture vers l'extérieur du calculateur. [0024] D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est faite ci-après, à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels : • la figure 1 est une représentation schématique du mécanisme de power-latch d'un calculateur de contrôle moteur implanté dans un véhicule ; • la figure 2 est un chronogramme illustrant différentes phases de fonctionnement d'un calculateur ; • la figure 3 est une représentation schématique d'un exemple de calculateur de contrôle moteur selon l'invention ; • la figure 4 est un algorithme d'une phase de programmation d'un calculateur ; • la figure 5 est un algorithme d'une phase de contrôle d'un calculateur ; • la figure 6 est un algorithme illustrant le traitement des requêtes dans le logiciel d'un calculateur selon l'invention. [0025] L'invention propose un calculateur de contrôle moteur comprenant une mémoire non volatile. Le calculateur est apte à exécuter une activation prolongée durant laquelle le calculateur est maintenu alimenté. Le calculateur écrit des paramètres de fonctionnement dans sa mémoire non volatile durant cette activation prolongée. La mémoire non volatile comprend une zone de mémorisation de l'état d'exécution d'écriture des paramètres. À la fin de l'écriture des paramètres dans la mémoire non volatile, le calculateur inscrit un état de fin d'écriture dans la zone de mémorisation. Le calculateur comprend de plus une interface de consultation de l'état d'exécution accessible depuis l'extérieur du calculateur. [0026] Ainsi, durant le montage ou la maintenance de véhicules, un opérateur pourra déterminer si l'écriture des paramètres dans la mémoire non volatile durant l'activation prolongée a été menée à bien ou non. Ainsi, l'opérateur pourra déterminer si la batterie peut être déconnectée pour garantir sa sécurité lors d'une intervention, sans pour autant nuire au processus de mémorisation des paramètres de fonctionnement. De plus, d'autres opérations de montage pourront être initiées dès que l'opérateur constate la fin de l'activation prolongée, une durée d'attente minimale prédéfinie pour l'exécution de l'activation prolongée n'étant plus nécessaire. [0027] La figure 1 est une représentation schématique d'un calculateur de contrôle moteur 1 implanté dans un véhicule et connecté à un moteur à combustion interne. Un contacteur 4 destiné à commander le démarrage du moteur est connecté à une interface d'entrée du calculateur 1. Une batterie 2 comprend une première borne connectée à la masse et une seconde borne connectée à une interface d'entrée d'un relais 3. Le relais 3 comprend une bobine connectée entre l'interface d'entrée et une interface de commande. Le relais 3 comprend un interrupteur connecté entre l'interface d'entrée et une borne de sortie. Lorsque l'interface de commande est raccordée à la masse, la bobine commande la fermeture de l'interrupteur. Un actionneur 5 est connecté entre la borne de sortie du relais 3 et une masse. L'interface de commande du relais 3 est connectée à une borne de commande du calculateur 1. Une borne d'alimentation du calculateur 1 est connectée à la borne de sortie du relais 3. [0028] Le calculateur 1 comprend un circuit d'alimentation 13 connecté à la borne d'alimentation. Le circuit d'alimentation 13 pourra alimenter différents actionneurs. Le calculateur 1 comprend un module de traitement 12, pouvant par exemple être réalisé sous la forme d'un microprocesseur. Le module de traitement 12 est alimenté par l'interface d'entrée du calculateur ou par l'alimentation 13 par l'intermédiaire d'un circuit 11. Le module de traitement 12 est connecté à la borne de commande du relais 3. Le calculateur 1 présente une borne connectée à la masse. Le calculateur 1 présente également une interface de commande non illustrée destinée à être connectée à différents actionneurs. [0029] Un procédé de fonctionnement usuel du calculateur 1 est illustré à la figure 2. Lorsqu'un utilisateur introduit une clé dans le contacteur 4 et la tourne jusqu'à un premier cran à l'instant 106, un signal électrique d'alimentation est appliqué sur l'interface d'entrée du calculateur 1, ce qui initie une phase d'activation 101 du calculateur 1. Ce signal d'alimentation est appliqué sur le module de traitement 12 par l'intermédiaire du circuit 11. Ce signal permet d'alimenter transitoirement le module de traitement 12. Le module de traitement 12 génère alors une commande d'alimentation par le relais 3. Dans l'exemple, la commande rend un transistor passant pour raccorder l'interface de commande du relais 3 à la masse, par l'intermédiaire de la borne de commande et de la borne de masse du calculateur 1. La bobine du relais 3 ferme l'interrupteur, de sorte que la batterie 2 applique une tension d'alimentation sur la borne d'alimentation du calculateur 1. Le module de traitement 12 est donc alimenté en continu par la batterie 2. Le calculateur 1 commande alors le fonctionnement d'un certain nombre de périphériques et d'actionneurs dans le véhicule. [0030] A l'instant 107, l'utilisateur tourne la clef dans le contacteur 4 jusqu'à un deuxième cran. Une phase de fonctionnement 102 du moteur est alors initiée. Durant cette phase, le calculateur 1 commande le démarrage du moteur à combustion interne. Une fois que le moteur a démarré, le calculateur 1 commande le fonctionnement d'un certain nombre d'actionneurs associés au moteur. Le calculateur 1 commande le fonctionnement de ces actionneurs en fonction de mesures réalisées par différents capteurs auxquels il est connecté et en fonction de programmes d'exécution et de paramètres mémorisés. [0031] À l'instant 108, l'utilisateur tourne la clé dans le contacteur 4 jusqu'à une position d'arrêt. Aux étapes 103 et 104, le calculateur 1 exécute dans une mémoire vive des programmes postérieurs à l'arrêt du moteur. Ces programmes permettent notamment de ramener un certain nombre d'actionneurs vers une position destinée à accélérer le démarrage suivant du moteur (par exemple le repositionnement de différentes vannes), ou permettent également de ventiler le moteur après son arrêt. L'exécution de ces programmes se termine à la fin de l'étape 104. Des paramètres de fonctionnement du calculateur 1 restent alors mémorisés dans la mémoire vive. Lorsque le calculateur 1 détermine la fin de l'exécution de ces programmes, il initie la phase 105 de recopie des paramètres dans sa mémoire non volatile. Ainsi, l'exécution de programmes dans la mémoire vive et l'évolution des paramètres de fonctionnement ne sont pas simultanées à l'étape d'écriture en mémoire non volatile, ce qui évite des éventuelles erreurs d'écriture dans la mémoire non volatile. À la fin de l'étape 105, le module de traitement 12 détermine la fin de l'étape d'écriture dans la mémoire non volatile. À l'instant 109, le module de traitement 12 commande l'ouverture de l'interrupteur du relais 3 pour couper sa propre alimentation. Les données mémorisées dans la mémoire vive sont alors effacées. [0032] La figure 3 détaille plus précisément la structure du calculateur 1. Le calculateur présente une borne 91 recevant le signal électrique provenant du contacteur 4, une borne d'alimentation 92 recevant la tension de la batterie 2 par l'intermédiaire du relais 3, une borne 93 de commande du relais 3 et une borne de connexion à un réseau CAN (non illustrée) formant une interface de consultation d'un état d'écriture dans la mémoire non volatile et une interface d'inscription d'un état d'écriture dans cette mémoire non volatile, comme détaillé par la suite. [0033] Par l'intermédiaire du contacteur 4, un utilisateur peut appliquer des commandes d'activation ou de désactivation du calculateur 1 sur la borne 91. La borne 93 permet de commander l'ouverture ou la fermeture de l'interrupteur du relais 3, afin de recevoir sélectivement l'alimentation de la batterie 2 sur la borne 92. [0034] Le module de traitement 12 est connecté d'une part à une mémoire vive 16 et d'autre part à une mémoire non volatile 15. La mémoire non volatile 15 présente une zone 17 mémorisant un état d'exécution de l'écriture des paramètres dans la mémoire non volatile 15. Le module de traitement 12, la mémoire vive 16 et la mémoire non volatile 15 pourront être intégrés dans un microcontrôleur. [0035] Le module de traitement 12 est connecté à une interface de commande (non illustrée) de différents actionneurs. Durant les phases 102, 103 et 104, le module de traitement 12 contrôle le fonctionnement de ces actionneurs. Le module de traitement 12 charge au préalable des paramètres de fonctionnement et/ou des programmes exécutables de la mémoire non volatile 15 vers la mémoire vive 16. Les commandes appliquées sur les différents actionneurs seront donc fonction de paramètres de fonctionnement provenant de la mémoire non volatile 15. Durant l'exécution de ces programmes, le module de traitement 12 modifie les paramètres de fonctionnement des différents actionneurs. [0036] Durant l'activation prolongée, le module de traitement 12 détermine la fin de l'exécution des programmes gérant les différents actionneurs. Les paramètres de fonctionnement mémorisés dans la mémoire vive sont alors figés. Le module de traitement 12 initie alors le transfert de ces paramètres de fonctionnement vers la mémoire non volatile 15. Durant l'activation prolongée, en séparant les phases d'exécution des programmes de contrôle des actionneurs de la phase d'écriture des paramètres de fonctionnement en mémoire non volatile, on réduit considérablement les risques d'erreurs d'écriture dans la mémoire non volatile ou de blocage accidentel du calculateur 1. À la fin de l'étape d'écriture de paramètres de fonctionnement dans la mémoire non volatile 15, le module de traitement 12 écrit un état de fin d'écriture dans la zone 17. Cette écriture est très rapide puisque la quantité d'informations nécessaires est extrêmement réduite. La zone 17 pourra être une zone de mémoire de la mémoire non volatile à une adresse prédéfinie dédiée à l'inscription de cet état. Le module de traitement 12 empêchera toute tentative d'écriture de paramètres de fonctionnement dans la zone 17. Après avoir inscrit l'état de fin d'écriture des paramètres dans la zone 17, le module de traitement 12 commande l'interruption de l'alimentation du calculateur 1 au relais 3 par l'intermédiaire de la borne de commande 93. [0037] Durant l'activation du calculateur 1, le module de traitement 12 rend accessible depuis l'extérieur l'état d'exécution de l'écriture en mémoire non volatile 15, mémorisé dans la zone 17. Ainsi, le calculateur 1 pourra par exemple être connecté au tableau de bord du véhicule. Le module de traitement 12 pourra éclairer un voyant lumineux lorsque l'état lu dans la zone 17 indique que l'écriture dans la mémoire non volatile 15 n'est pas terminée ou ne s'est pas réalisée correctement auparavant. Ce voyant lumineux pourra être le voyant lumineux indiquant un dysfonctionnement électronique sur le tableau de bord. [0038] La zone 17 pourra contenir un code d'erreur indiquant la non exécution 15 complète de l'écriture des paramètres de fonctionnement dans la mémoire 15. [0039] Avant le montage du calculateur 1 sur un véhicule, l'état mémorisé dans la zone 17 est préalablement fixé pour indiquer une écriture non terminée en mémoire non volatile. La fixation de cet état pourra être réalisée durant la fabrication du calculateur 1, ou lors du montage du calculateur 1 sur un véhicule. L'état mémorisé 20 dans la zone 17 pourra par exemple être réinitialisé par une commande appliquée par l'intermédiaire d'un appareil externe connecté au réseau de communication et exécutée par le module de traitement 12. Afin de permettre la réinitialisation de l'état mémorisé dans la zone 17, le véhicule pourra comprendre une borne accessible depuis l'extérieur du véhicule et connectée au calculateur 1 par l'intermédiaire d'un 25 réseau CAN ou d'une ligne bidirectionnelle. La commande de réinitialisation pourra être transmise depuis un outil connecté sur le réseau CAN (Controler Area Network en langue anglaise) selon un des standards de communication suivants, en fonction de l'architecture retenue pour le véhicule concerné : `Keyword Protocol 2000' ou `Unified Diagnostic Services'. La consultation d'une information d'état d'écriture se 30 fera généralement également au moyen d'une requête de diagnostic depuis un outil connecté sur le réseau CAN. Pour l'affichage sur un module (un voyant lumineux au combiné par exemple), en fonction de l'architecture du véhicule, la liaison peut être du type filaire nécessitant donc une borne de sortie sur le calculateur 1 ou de type liaison CAN si l'information doit être transmise à un autre calculateur pilotant ce voyant. [0040] L'état mémorisé dans la zone 17 sera avantageusement réinitialisé lorsque le calculateur a déjà été alimenté entre sa livraison sur la ligne de fabrication et la mise en service des opérations électroniques. En effet, plusieurs jours peuvent s'écouler entre la livraison, le test du calculateur et son montage effectif sur le véhicule. Un constructeur peut être amené dans le cadre de la correction d'une prestation à procéder à une mise à jour des programmes exécutables mémorisés dans le calculateur 1, et à vérifier leur inscription dans la mémoire non volatile 15. [0041] De même, si l'on veut tester des phases spécifiques de montage du véhicule mettant en oeuvre le calculateur 1, on réinitialisera avantageusement l'état mémorisé dans la zone 17. On pourra ainsi interrompre l'alimentation du calculateur 1 après avoir vérifié l'inscription des paramètres de fonctionnement d'une nouvelle fonctionnalité dans la mémoire non volatile 15. [0042] La figure 4 est un algorithme d'une phase de programmation d'un calculateur 1 sur une ligne de fabrication d'un véhicule. Le calculateur 1 est préalablement assemblé au véhicule. Lors d'une étape 201, l'état d'exécution de l'écriture dans la zone 17 de la mémoire non volatile 15 est forcé vers une valeur indiquant une écriture non terminée. Ensuite, durant une étape 202, on réalise une mise en service électronique du calculateur que l'on souhaite contrôler plus tard. Durant la mise en service électronique, le véhicule poursuit son parcours sur la ligne de fabrication. Durant ce temps, une activation prolongée du calculateur 1 s'exécute. [0043] Comme illustré à la figure 5, à une étape ultérieure sur la ligne de fabrication, un opérateur pourra lire si l'activation prolongée s'est intégralement exécutée jusqu'à l'écriture des paramètres en mémoire non volatile en contrôlant le non allumage d'un voyant sur le tableau de bord du véhicule lors d'une étape 301. Si l'activation prolongée s'est intégralement exécutée avant le contrôle, ce voyant sera alors éteint : lors d'une étape 302, on poursuit les tests de contrôle sur le véhicule. Lors d'une étape 303, on détermine que tous les tests sont positifs et la commercialisation du véhicule est autorisée. Si l'activation prolongée ne s'est pas intégralement exécutée avant le contrôle, lors d'une étape 304, le véhicule est écarté de la ligne de fabrication et orienté vers un poste de retouche. Une fois les problèmes résolus, on repasse à l'étape 303. [0044] Le moteur du véhicule est usuellement démarré pour permettre au véhicule de quitter la ligne de fabrication. L'extinction du moteur permet de lancer une nouvelle activation prolongée. Lors d'un contrôle final, un opérateur pourra encore lancer l'activation prolongée en allumant et en coupant le contact avec la clé du véhicule. Il pourra ainsi laisser l'activation prolongée s'exécuter à nouveau, puis réaliser un nouveau contrôle ultérieurement. S'il constate que l'afficheur au tableau de bord reste allumé, il pourra décider de conduire le véhicule à un poste de retouche pour résoudre un éventuel problème. Un opérateur déterminera alors quel programme de surveillance empêche la bonne exécution de l'activation prolongée. [0045] La figure 5 illustre le fonctionnement du calculateur 1 dans différents modes. Lors d'une étape 401, le calculateur 1 est mis sous tension. Lors d'une étape 402, le calculateur 1 détermine si un appareil extérieur requiert une intervention. Si aucun appareil extérieur ne requiert d'intervention, le calculateur 1 indique dans l'état mémorisé dans la zone 17 que l'écriture dans la mémoire non volatile est incomplète, puis exécute les différents programmes de contrôle des actionneurs à l'étape 403. À l'étape 404, le calculateur détermine si une commande de désactivation est émise par l'utilisateur par l'intermédiaire du contacteur. Si ce n'est pas le cas, le calculateur 1 poursuit l'exécution des programmes de contrôle de l'étape 403. Si c'est le cas, lors de l'étape 405, le calculateur 1 passe en mode d'activation prolongée. À la fin de l'activation prolongée, le calculateur 1 recopie les paramètres de fonctionnement de la mémoire vive vers la mémoire non volatile. À l'étape 406, le calculateur 1 détermine si l'écriture des paramètres dans la mémoire non volatile est terminée. Si tel n'est pas le cas, il laisse la recopie des paramètres se poursuivre. Si la recopie des paramètre est terminée, à l'étape 407, il modifie l'état mémorisé dans la zone 17 pour indiquer que l'écriture en mémoire non volatile est complète. Un témoin sur le tableau de bord est alors éteint à l'étape 408. Le calculateur 1 commande la coupure de son alimentation à l'étape 409. [0046] Si un appareil extérieur requiert une intervention à l'étape 402, le calculateur 1 détermine à l'étape 410 si l'appareil requiert la réinitialisation de l'état mémorisé dans la zone 17. Si une réinitialisation est requise, on détermine à étape 411 si les paramètres mesurés correspondent bien à un véhicule arrêté. Si tel n'est pas le cas, on passe à l'étape 414 à l'exécution des programmes de contrôle des actionneurs (équivalente à l'étape 403). On évite ainsi un accès à la mémoire non volatile 15 avec un véhicule roulant. Si les paramètres mesurés correspondent à un véhicule à l'arrêt, l'état mémorisé dans la zone 17 est réinitialisé à l'étape 412. Ensuite, un témoin sur le tableau de bord est allumé à l'étape 413. On passe ensuite à l'étape 414 où les programmes de contrôle des actionneurs sont exécutés. [0047] Si une réinitialisation n'est pas requise à l'étape 410, on détermine si une lecture de l'état mémorisé dans la zone 17 est requise. Si tel n'est pas le cas, on passe à l'étape 414. Si une lecture de l'état est requise, l'état mémorisé dans la zone 17 est lu à l'étape 416. À l'étape 417, la valeur de l'état mémorisé dans la zone 17 est renvoyée à l'appareil extérieur. On passe alors à l'étape 414. [0048] Un système de surveillance du calculateur pourra limiter l'exécution de la réinitialisation de l'état mémorisé dans la zone 17 à une durée calibrée. En effet, la durée de réinitialisation sera parfaitement connue au préalable, même lorsque la taille des programmes exécutables mémorisés dans la mémoire non volatile varie, puisque la taille de l'état reste inchangée quelle que soit la taille des programmes ou des paramètres mémorisés par ailleurs. Par conséquent, une durée excessivement longue de l'écriture de cet état implique une anomalie. De plus, cette durée de réinitialisation sera extrêmement courte car la quantité d'informations à écrire dans l'état est très réduite. [0049] L'utilisation d'un état d'une taille connue permet de ne pas programmer au préalable la durée d'écriture des paramètres de fonctionnement dans la mémoire non volatile. On évite ainsi d'avoir à réaliser une modification fastidieuse des paramètres d'écriture lors de l'adaptation d'un calculateur à une nouvelle série de véhicules. De plus, l'utilisation de l'état permet en pratique de connaître l'état de réalisation de l'étape d'écriture des paramètres de fonctionnement, quelle que soit la durée de cette écriture. [ooso] La mémoire non volatile 15 peut par exemple être réalisée sous forme de mémoire EEPROM ou de mémoire Flash-EPROM. Dans une mémoire Flash-EPROM, il n'est pas possible d'exécuter un programme et d'écrire simultanément un paramètre. Par conséquent, le programme permettant d'écrire l'état dans la zone 17 ne peut pas être exécuté dans une telle mémoire durant l'écriture de l'état. Dans ce cas particulier, on copie le programme d'écriture de l'état dans la mémoire vive, puis on exécute ce programme en mémoire vive pour écrire dans la zone 17 une éventuelle modification de l'état. REVENDICATIONS1. Calculateur de contrôle moteur (1), comprenant une interface de réception (91) de commandes d'activation ou de désactivation du calculateur par un utilisateur ; une mémoire non volatile (15) destinée à mémoriser des paramètres de fonctionnement du calculateur ; un module de traitement (12) connecté à l'interface de réception pour détecter une commande de désactivation du calculateur, maintenant l'alimentation du calculateur et lançant l'écriture de paramètres de fonctionnement du calculateur dans la mémoire non volatile (15) après la détection d'une commande de désactivation du calculateur ; caractérisé en ce que la mémoire non volatile comprend une zone (17) mémorisant un état d'exécution de l'écriture des paramètres ; le module de traitement (12) déterminant la fin de l'écriture des paramètres de fonctionnement dans la mémoire non volatile et inscrivant dans ladite zone mémoire postérieurement à cette détermination un état de fin d'écriture des paramètres ; le calculateur comprend en outre une interface de consultation de l'état d'exécution accessible depuis l'extérieur du calculateur. 2. Calculateur de contrôle moteur selon la revendication 1, comprenant en outre une interface d'inscription d'un état d'écriture non terminée dans ladite zone mémoire (17). 3. Calculateur de contrôle moteur selon la revendication 1 ou 2, dans lequel le module de traitement (12) commande l'interruption de l'alimentation du calculateur (1) après l'inscription de l'état de fin d'écriture des paramètres dans ladite zone (17) de la mémoire non volatile. 4. Calculateur de contrôle moteur selon l'une quelconque des revendications précédentes, comprenant une interface de commande d'actionneurs, et dans lequel le module de traitement est apte à appliquer des commandes sur l'interface de commande en fonction de paramètres de fonctionnement mémorisés dans la mémoire non volatile (15). 5. Calculateur de contrôle moteur selon l'une quelconque des revendications précédentes, comprenant une mémoire vive (16), la mémoire non volatile (15) mémorisant des programmes exécutables par le module de traitement, le module detraitement mémorisant des paramètres de fonctionnement du calculateur dans la mémoire vive durant l'exécution desdits programmes, le module de traitement écrivant lesdits paramètres de fonctionnement dans ladite zone (17) après la détection d'une commande de désactivation du calculateur. 6. Calculateur de contrôle moteur selon la revendication 5, dans lequel lesdits programmes exécutables sont des programmes de contrôle d'actionneurs, le module de traitement exécutant ces programmes de contrôle après la détection d'une commande de désactivation du calculateur. 7. Calculateur de contrôle moteur selon la revendication 5 ou 6, dans lequel la mémoire non-volatile est du type flash et mémorise un programme d'écriture dans ladite zone (17), et dans lequel le module de traitement (12) est configuré pour recopier ledit programme d'écriture dans la mémoire vive (16), et pour exécuter ledit programme d'écriture dans la mémoire vive (16) durant l'inscription dans ladite zone (17) de l'état de fin d'écriture des paramètres. 8. Procédé de fonctionnement d'un calculateur de contrôle moteur (1) muni d'une mémoire non volatile (15), comprenant les étapes de recevoir une commande de désactivation du calculateur par un utilisateur ; maintenir l'alimentation du calculateur et lancer une écriture de paramètres de fonctionnement dans la mémoire non volatile après la réception de la commande de désactivation ; déterminer la fin de l'écriture des paramètres de fonctionnement et inscrire un état de fin d'écriture dans une zone de la mémoire non volatile ; transmettre la valeur de l'état de fin d'écriture vers l'extérieur du calculateur.