Brevet FR2778993A1 — publié le 19991126

I Arrière plan technologique de l'invention. La présente invention concerne un procédé de pro- tection des données de calculateur dédoublés commandés par programme, avec des paramètres de commande fixes, mis en mé- moire, et des paramètres de commande appris, la zone de mé- moire de paramètres disponibles dans la mémoire EEPROM pour l'enregistrement des paramètres de commande et des données de contrôle associées, étant répartie en au moins deux zones partielles associées chaque fois à l'un et l'autre des calcu- lateurs. Etat de la technique. La figure 1 montre un système de commande connu selon l'état de la technique servant par exemple à commander le moteur d'un véhicule automobile et comportant pour cela deux calculateurs microcontrôleurs redondants 1 et 2 (uCl, gC2). Une mémoire morte effaçable et programmable électrique- ment 3, associée aux deux microcontrôleurs ou calculateurs 1, 2, encore appelée en abrégé EEPROM, est répartie pour sa zone attribuée aux données paramétrées fixes et aux grandeurs ap- prises (auto-apprise), en deux zones I et II associées à cha- cun des microcontrôleurs 1 et 2; ces zones se correspondent dans un rapport 1/1. Pour chaque microcontrôleur 1, 2, on dispose en principe des mêmes informations dans chacune des zones de mémoire I et II de la mémoire EEPROM 3. Selon l'état de la technique, toutes les données sont en outre mémorisées en elles-mêmes avec leur complément. Cet enregistrement de données dans des mémoires EEPROM est utilisé pour manipuler de manière souple des appa- reils de commande et pour programmer les paramètres les plus différents afin de tenir compte des exigences très différen- tes des clients, à la fin de la fabrication, au cours du con- trôle de sortie ou à l'endroit de l'utilisation. De cette manière, on minimise les modifications de programme ou des états de programme qui dépendent des clients. Pour cette raison, il faut enregistrer un nombre aussi grand possible de données avec la plus grande sécurité et disponibilité possibles dans une mémoire EEPROM 3. La figure 2 montre de manière détaillée une orga- nisation de données usuelle selon l'état de la technique, dans une telle mémoire EEPROM 3. Une première zone partielle I associée au micro- contrôleur 1, contient par exemple, dans les cellules 1-128, les paramètres fixes associés à ce microcontrôleur 1 et les grandeurs apprises (grandeurs auto apprises) par ce microcon- trôleur 1, comme donnée 1 à donnée 64, avec leurs compléments respectifs 1-64, enregistrées successivement dans les cellu- les 1-128. Dans une seconde zone partielle II associée au second microcontrôleur 2 se trouvent les paramètres fixes as- sociés à ce second microcontrôleur 2, et les grandeurs appri- ses par lui (grandeurs auto-apprises), à chaque fois sous la forme d'une donnée 1 à 64, avec les compléments respectifs 1- 64; ces données et compléments sont mémorisés les uns der- rière les autres dans les lignes 129-256. On réduit de cette manière à un quart de sa taille globale, la taille effectivement utilisable de l'ensemble de la plage de la mémoire EEPROM. Pour garantir la consistance des paramètres im- portants de l'appareil de commande dans la mémoire EEPROM 3, l'état de la technique prévoit les étapes de surveillance et de correction suivantes: a) mise en mémoire complémentaire de toutes les données: si le complément ne correspond pas à une donnée, alors: * on déclare la mémoire EEPROM défectueuse s'il s'agit d'un paramètre fixe, e on déclare la donnée comme non plausible s'il s'agit d'une grandeur auto-apprise; * on peut éventuellement effectuer une correction de données en s'appuyant sur la redondance des données. b) surveillance des valeurs autorisées pour les grandeurs auto- apprises: si la donnée dépasse la valeur limite chaque fois autorisée, elle est déclarée comme non plausible; une cor- rection de données est éventuellement possible sur la base de la redondance des données, c) enregistrement redondant des données dans deux plages de mémoires séparées I et II pour corriger les données non plausibles découvertes dans les étapes a) ou b). Pour ce- la, on exécute les étapes de correction suivante: - la donnée et son complément sont corrects et identiques dans les deux microcontrôleurs 1 et 2. Les données sont valables. - La donnée et son complément sont corrects dans les deux mi- crocontrôleurs 1 et 2 mais différents: - La donnée et son complément sont programmées par le micro- contrôleur 2 avec la donnée et son complément du microcon- trôleur 1, pour rétablir de nouveau la redondance totale. - La donnée ou son complément sont non plausibles pour le mi- crocontrôleur 1. - La donnée et son complément du microcontrôleur 1 sont pro- grammés avec la donnée et son complément du microcontrôleur 2, pour rétablir toute la redondance. - La donnée ou son complément sont non plausibles pour le mi- crocontrôleur 2: - La donnée et son complément du microcontrôleur 2 sont pro- grammés avec la donnée et son complément du microcontrôleur 1, pour rétablir de nouveau toute la redondance. - Les données ou leurs compléments des deux microcontrôleurs ne sont pas plausibles. On prend des valeurs par défaut et on déclare la mémoire EEPROM comme défectueuse. Résumé de l'invention. La présente invention a pour but de mémoriser au- tant de paramètres que possible dans une mémoire EEPROM pour deux microcontrôleurs ou calculateurs redondants d'un système de commande, cette mémoire étant utilisée en commun, sans re- noncer à la garantie de la consistance des données en cas de défaut. Ce problème est résolu selon l'invention par un procédé caractérisé en ce qu': on effectue une étape de gestion de mémoire consistant à sub- diviser la zone de mémoire de paramètres de la mémoire EEPROM en trois zones partielles dans lesquelles: * une première zone partielle sert à enregistrer des paramè- tres communs fixes accessibles aux deux calculateurs, para- mètres sans leur complément, ainsi qu'en plus une somme de contrôle concernant tous les paramètres fixes, * une seconde zone partielle accessible seulement aux deux calculateurs pour enregistrer les grandeurs apprises par ces paramètres sans leur complément, et une somme de con- trôle concernant toutes les grandeurs apprises, et * une troisième zone partielle accessible seulement à l'autre des deux calculateurs pour enregistrer les grandeurs appri- ses par ce calculateur sans les compléments de ces gran- deurs, et une somme de contrôle relative à toutes ces grandeurs apprises. Selon le procédé de l'invention, l'emplacement de mémoire disponible dans la mémoire EEPROM est réparti en trois zones. Chaque zone se surveille avec une somme de con- trôle. Seules les grandeurs auto apprises sont redondantes. Ainsi, le procédé selon l'invention permet pour une même sé- curité de données et une même disponibilité, d'enregistrer plus de données que jusqu'à présent dans la mémoire EEPROM, et d'avoir ainsi des solutions plus souples pour s'adapter aux différentes exigences des clients. Suivant d'autres caractéristiques avantageuses de l'invention: - dans une première étape de surveillance, on calcule une somme de contrôle pour les données de chacune des trois zo- nes partielles de mémoire, et on compare les sommes de con- trôle ainsi calculées, chaque fois avec la somme de contrôle correspondante enregistrée dans les zones de par- tie de mémoire, - une première étape de décision considère la mémoire EEPROM comme défectueuse si la somme de contrôle calculée pour la zone de partie de mémoire avec les paramètres fixes, ne correspond pas à la somme de contrôle enregis- trée, et qui caractérise, pour chacune des zones de partie de mémoire avec les grandeurs apprises, ces grandeurs comme non plausibles si les sommes de contrôle calculés pour ces zones partielles de mémoire ne correspondent pas aux sommes de contrôle correspondantes enregistrées dans ces zones partielles de mémoire, - selon une seconde étape de surveillance, on surveille les données apprises pour les valeurs autorisées et on caracté- rise celles-ci comme non plausibles en cas de dépassement d'une valeur limite correspondante, - une étape de correction de données pour corriger les don- nées considérées comme non plausibles dans les zones par- tielles de mémoire pour les grandeurs apprises, et a) selon une étape de comparaison, on compare les grandeurs apprises et leur somme de contrôle respective dans chaque zone partielle de mémoire associée à chaque calculateur aux grandeurs apprises et, b) une première étape de décision est prévue pour déclarer les grandeurs comme valables si l'étape de comparaison montre que les grandeurs apprises et les sommes de con- trôle sont correctes et identiques et, - si les grandeurs apprises et les sommes de contrôle des deux calculateurs sont correctes mais différentes, bl) selon une première étape de correction, on programme la donnée et la somme de contrôle des deux calculateurs avec les données et la somme de contrôle du premier cal- culateur, et on rétablit toute la redondance, - si les grandeurs apprises et la somme de contrôle du calculateur sont non plausibles, b2) au cours d'une seconde étape de correction, on programme les données et la somme de contrôle du premier calcula- teur avec les données et la somme de contrôle du second calculateur, et on rétablit toute la redondance, - si les grandeurs apprises et la somme de contrôle du second calculateur sont non plausibles, b3) par une troisième étape de correction, on programme les données et les sommes de contrôle du second calculateur avec les données et la somme de contrôle du premier cal- culateur, et on rétablit de nouveau la redondance et, c) on a une seconde étape de décision si les grandeurs ap- prises et les sommes de contrôle des deux calculateurs ne sont pas plausibles, en prenant les valeurs par dé- faut et en caractérisant la mémoire EEPROM comme défec- tueuse. Le problème ci-dessus est en outre résolu selon l'invention par un système pour la mise en oeuvre du procédé, ce système étant caractérisé en ce que: chacun des deux calculateurs, des moyens de gestion de mé- moire qui subdivisent la zone de mémoire de paramètres de la mémoire EEPROM, en trois zones partielles, de façon que: - une première zone partielle soit associée en commun aux deux calculateurs pour servir à l'enregistrement des para- mètres fixes communs aux deux calculateurs sans les complé- ments de ces paramètres, et à l'enregistrement d'une somme de contrôle concernant tous les paramètres fixes, - dans une seconde zone partielle qui n'est associée qu'à un calculateur, on enregistre les grandeurs apprises par ce calculateur sans les compléments de ces grandeurs, ainsi qu'une somme de contrôle relative à toutes les grandeurs apprises et, une troisième zone partielle soit associée seulement à l'autre des deux calculateurs qui sert à l'enregistrement des grandeurs apprises de l'autre calculateur sans leur complément, et d'une somme de contrôle concernant toutes ces grandeurs apprises. Suivant d'autres caractéristiques avantageuses: - chacun des deux calculateurs comporte des moyens de sur- veillance pour calculer une somme de contrôle des données dans chacune des trois zones partielles de mémoire, et pour comparer les sommes de contrôle calculées avec les sommes de contrôle enregistrées dans chacune des trois zones par- tielles de mémoire, et - un premier moyen de décision considère comme défectueuse la mémoire EEPROM si la somme de contrôle calculée pour la zone partielle de mémoire avec les paramètres fixes ne cor- respond pas à la somme de contrôle enregistrée dans cette zone, et déclare les données de chacune des zones partiel- les de mémoire avec les grandeurs apprises, comme non plau- sibles si pour les grandeurs apprises, la somme de contrôle calculée chaque fois ne correspond pas à la somme de con- trôle mémorisée dans chacune des zones partielles de mé- moire respectives. La présente invention sera décrite ci-après de manière plus détaillée à l'aide des dessins annexés dans les- quels: * la figure 1 montre schématiquement un système de protection de données, * la figure 2 montre un tableau des zones de mémoire I et II de la mémoire EEPROM de la figure 1, * la figure 3 montre un exemple de réalisation d'une organi- sation de mémoire d'une mémoire EEPROM pour la mise en oeu- vre de l'invention. La figure 3 montre que l'emplacement de mémoire disponible dans la mémoire EEPROM (3' à la figure 1) est sub- divisé en trois zones partielles A, B, C. La zone A contient les paramètres fixes sans leur complément, avec une somme de contrôle concernant cette zone. Cette zone A est accessible dans les deux microcontrôleurs (MC1, gC2) 1, 2. La seconde zone partielle B contient les gran- deurs auto-apprises sans leur complément, avec une somme de contrôle concernant cette zone; cette zone est seulement ac- cessible au premier microcontrôleur (^C1) 1. La zone partielle C contient les grandeurs auto apprises sans leur complément, avec une somme de contrôle re- lative à cette zone; cette zone C n'est accessible qu'au se- cond microcontrôleur 1 (pC2). La taille effective, utilisable, de toute la zone de la mémoire EEPROM représente ainsi au moins la moitié de la taille totale à savoir, quand il ne s'agit que de gran- deurs auto apprises enregistrées de manière redondante, et cette taille utilisable effective augmente avec le nombre de paramètres fixes qui ne sont pas enregistrés en double. Le procédé de surveillance et de correction de données selon l'invention sera décrit ci-après à l'aide de la figure 3. De manière détaillée, à partir de la structure de données présentée et décrite ci-dessus dans la mémoire EEPROM selon la figure 3, on exécute les étapes de surveillance et de correction suivantes: a) enregistrement de la somme de contrôle pour chacune des trois zones de mémoire A, B, C. Si la somme de contrôle ne correspond pas aux données enregistrées, on effectue les opérations suivantes: - la mémoire EEPROM est déclarée défectueuse s'il s'agit, pour la zone A, des paramètres fixes et, - la donnée est déclarée comme non plausible s'il s'agit d'une des zones B et C pour des grandeurs auto appri- ses; il est alors éventuellement possible de faire une correction des données en utilisant la redondance des don- nées. b) Surveillance des valeurs autorisées pour des grandeurs autoapprises: si la donnée dépasse la valeur limite autorisée, elle est jugée comme non plausible; une correction de données est éventuellement pos- sible sur la base de la redondance des données. c) Enregistrement de données redondantes dans deux zones de mémoire distinctes B et C pour les grandeurs auto-apprises, pour corriger des données considérées comme non plausibles dans les points a) ou b) ci-dessus. On effectue les étapes de correction suivantes: - la donnée et la somme de contrôle dans les deux microcontrôleurs 1 et 2 sont correctes et identiques: => les données sont valables. - la donnée et la somme de contrôle dans les deux microcontrôleurs 1 et 2 sont correctes mais différentes: => la donnée et la somme de contrôle du microcon- trôleur 2 sont programmées avec la donnée et la somme de con- trôle du microcontrôleur 1, et on rétablit toute la redondance. - la donnée et la somme de contrôle du microcon- trôleur 1 ne sont pas plausibles: => la donnée et la somme de contrôle du microcon- trôleur 1 sont programmées avec la donnée et la somme de con- trôle du microcontrôleur 2, pour rétablir toute la redondance. - la donnée et la somme de contrôle du microcon- trôleur 2 ne sont pas plausibles, => la donnée et la somme de contrôle du microcon- trôleur 2 sont programmées avec la donnée et la somme de con- trôle du microcontrôleur 1, et on rétablit toute la redondance, - les données ou les sommes de contrôle des deux microcontrôleurs 1 et 2 ne sont pas plausibles: => on prend les valeurs par défaut et on déclare la mémoire EEPROM comme défectueuse. Résumé des caractéristiques de l'invention: Selon le procédé ancien, l'espace de mémoire dis- ponible dans la mémoire EEPROM est réparti en deux zones I et II avec attribution aux microcontrôleurs 1 et 2 (figures 1 et 2). Dans chaque zone de mémoire I et II, on enregistre les mêmes données, c'est-à-dire les paramètres fixes et les gran- deurs auto apprises, de façon redondante et chaque fois avec leur complément. Selon le procédé de l'invention, on répartit l'espace de mémoire disponible dans la mémoire EEPROM 3' en trois zones A, B, C. On surveille chaque zone avec une somme de contrôle. Seules les grandeurs auto apprises sont tenues en redondance. C'est pourquoi, le procédé selon l'invention offre pour une même sécurité de données et une même disponi- bilité, la possibilité d'enregistrer plus de données que jus- qu'alors dans la mémoire EEPROM, et d'offrir ainsi des solutions plus souples adaptées aux différentes exigences des clients. R E V E N D I C A T IONS 1 ) Procédé de protection des données de calculateur dédou- blés commandés par programme, avec des paramètres de commande fixes, mis en mémoire, et des paramètres de commande appris, la zone de mémoire de paramètres disponibles dans la mémoire EEPROM pour l'enregistrement des paramètres de commande et des données de contrôle associées, étant répartie en au moins deux zones partielles associées chaque fois à l'un et l'autre des calculateurs, caractérisé en ce qu' on effectue une étape de gestion de mémoire consistant à sub- diviser la zone de mémoire de paramètres de la mémoire EEPROM (3') en trois zones partielles (A, B, C) dans lesquelles: * une première zone partielle (A) sert à enregistrer des pa- ramètres communs fixes accessibles aux deux calculateurs (1, 2), paramètres sans leur complément, ainsi qu'en plus une somme de contrôle concernant tous les paramètres fixes, * une seconde zone partielle (B) accessible seulement aux deux calculateurs (1) pour enregistrer les grandeurs appri- ses par ces paramètres sans leur complément, et une somme de contrôle concernant toutes les grandeurs apprises, et * une troisième zone partielle (C) accessible seulement à l'autre des deux calculateurs (2) pour enregistrer les grandeurs apprises par ce calculateur sans les compléments de ces grandeurs, et une somme de contrôle relative à tou- tes ces grandeurs apprises. 2 ) Procédé selon la revendication 1, caractérisé en ce que dans une première étape de surveillance, on calcule une somme de contrôle pour les données de chacune des trois zones par- tielles de mémoire (A, B, C), et on compare les sommes de contrôle ainsi calculées, chaque fois avec la somme de con- trôle correspondante enregistrée dans les zones de partie de mémoire (A, B, C), - une première étape de décision considère la mémoire EEPROM (3') comme défectueuse si la somme de contrôle calculée pour la zone de partie de mémoire (A) avec les paramètres fixes, ne correspond pas à la somme de contrôle enregis- trée, et qui caractérise, pour chacune des zones de partie de mémoire (B, C) avec les grandeurs apprises, ces gran- deurs comme non plausibles si les sommes de contrôle calcu- lés pour ces zones partielles de mémoire (B, C) ne correspondent pas aux sommes de contrôle correspondantes enregistrées dans ces zones partielles de mémoire (B, C). 3 ) Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que selon une seconde étape de surveillance, on surveille les données apprises pour les valeurs autorisées et on caracté- rise celles-ci comme non plausibles en cas de dépassement d'une valeur limite correspondante. 4 ) Procédé selon la revendication 3, caractérisé par une étape de correction de données pour corriger les données considérées comme non plausibles dans les zones partielles de mémoire (B, C) pour les grandeurs apprises, et a) selon une étape de comparaison, on compare les grandeurs apprises et leur somme de contrôle respective dans chaque zone partielle de mémoire (B, C) associée à chaque calcu- lateur (1, 2) aux grandeurs apprises et, b) une première étape de décision est prévue pour déclarer les grandeurs comme valables si l'étape de comparaison (a) montre que les grandeurs apprises et les sommes de contrôle sont correctes et identiques et, - si les grandeurs apprises et les sommes de contrôle des deux calculateurs (1, 2) sont correctes mais différen- tes, bl) selon une première étape de correction, on programme la donnée et la somme de contrôle des deux calculateurs (2) avec les données et la somme de contrôle du premier cal- culateur (1), et on rétablit toute la redondance, - si les grandeurs apprises et la somme de contrôle du calculateur (1) sont non plausibles, b2) au cours d'une seconde étape de correction, on programme les données et la somme de contrôle du premier calcula- teur (1) avec les données et la somme de contrôle du se- cond calculateur (2), et on rétablit toute la redondance, - si les grandeurs apprises et la somme de contrôle du second calculateur (2) sont non plausibles, b3) par une troisième étape de correction, on programme les données et les sommes de contrôle du second calculateur (2) avec les données et la somme de contrôle du premier calculateur (1), et on rétablit de nouveau la redondance et, c) on a une seconde étape de décision si les grandeurs ap- prises et les sommes de contrôle des deux calculateurs (1, 2) ne sont pas plausibles, en prenant les valeurs par défaut et en caractérisant la mémoire EEPROM comme défectueuse. ) Système pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que chacun des deux calculateurs (1, 2), des moyens de gestion de mémoire qui subdivisent la zone de mémoire de paramètres de la mémoire EEPROM (3'), en trois zones partielles (A, B, C), de façon que: une première zone partielle (A) soit associée en commun aux deux calculateurs (1, 2) pour servir à l'enregistrement des paramètres fixes communs aux deux calculateurs (1, 2) sans les compléments de ces paramètres, et à l'enregistrement d'une somme de contrôle concernant tous les paramètres fixes, - dans une seconde zone partielle (B) qui n'est associée qu'à un calculateur (1), on enregistre les grandeurs apprises par ce calculateur (1) sans les compléments de ces gran- deurs, ainsi qu'une somme de contrôle relative à toutes les grandeurs apprises et, - une troisième zone partielle (C) soit associée seulement à l'autre des deux calculateurs (2) qui sert à l'enregistrement des grandeurs apprises de l'autre calcula- teur sans leur complément, et d'une somme de contrôle con- cernant toutes ces grandeurs apprises. 6 ) Système selon la revendication 5, caractérisé en ce que chacun des deux calculateurs comporte des moyens de sur- veillance pour calculer une somme de contrôle des données dans chacune des trois zones partielles de mémoire (A, B, C), et pour comparer les sommes de contrôle calculées avec les sommes de contrôle enregistrées dans chacune des trois zones partielles de mémoire, et un premier moyen de décision considère comme défectueuse la mémoire EEPROM (3') si la somme de contrôle calculée pour la zone partielle de mémoire (A) avec les paramètres fixes ne correspond pas à la somme de contrôle enregistrée dans cette zone, et déclare les données de chacune des zones partielles de mémoire (B, C) avec les grandeurs apprises, comme non plausibles si pour les grandeurs apprises, la somme de con- trôle calculée chaque fois ne correspond pas à la somme de contrôle mémorisée dans chacune des zones partielles de mé- moire respectives (B, C).