FR3098316A1 - Procédé de test d’un dispositif de réinitialisation de calculateur - Google Patents

Procédé de test d’un dispositif de réinitialisation de calculateur Download PDF

Info

Publication number
FR3098316A1
FR3098316A1 FR1907441A FR1907441A FR3098316A1 FR 3098316 A1 FR3098316 A1 FR 3098316A1 FR 1907441 A FR1907441 A FR 1907441A FR 1907441 A FR1907441 A FR 1907441A FR 3098316 A1 FR3098316 A1 FR 3098316A1
Authority
FR
France
Prior art keywords
reset
test
computer
duration
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1907441A
Other languages
English (en)
Other versions
FR3098316B1 (fr
Inventor
Jean-Luc Boyer
Xavier Guillaume
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vitesco Technologies GmbH
Original Assignee
Continental Automotive France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Automotive France SAS filed Critical Continental Automotive France SAS
Priority to FR1907441A priority Critical patent/FR3098316B1/fr
Priority to PCT/EP2020/067077 priority patent/WO2021001168A1/fr
Priority to US17/618,645 priority patent/US11687394B2/en
Priority to CN202080048903.0A priority patent/CN114144766A/zh
Publication of FR3098316A1 publication Critical patent/FR3098316A1/fr
Application granted granted Critical
Publication of FR3098316B1 publication Critical patent/FR3098316B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

Procédé de test in situ et en fonctionnement d’un dispositif de réinitialisation (1) d’un calculateur (2), comprenant une séquence d’exécution et une séquence de vérification, la séquence d’exécution étant exécutée en cours d’exécution du logiciel (L1, L2) et comprenant les étapes suivantes : - incrémentation d’un compteur de test, - stockage du compteur de test dans une mémoire non volatile (3), - déclenchement d’une réinitialisation du calculateur (2), la séquence de vérification étant exécutée au démarrage du logiciel (L1, L2) et comprenant les étapes suivantes : - lecture depuis la mémoire non volatile (3) du compteur de test, - comparaison du compteur de test, si il est égal à sa valeur initiale augmentée de 1, réinitialisation du compteur de test (CT), le résultat du test est positif, et si il est supérieur à sa valeur initiale augmentée de 1, le résultat du test est négatif. Figure d’abrégé : Figure 1

Description

Procédé de test d’un dispositif de réinitialisation de calculateur
L’invention concerne les calculateurs en environnement critique, tels que les calculateurs pour contrôler les moteurs, et plus particulièrement un procédé permettant de tester le bon fonctionnement d’un dispositif de réinitialisation d’un tel calculateur.
Un calculateur comprend typiquement un matériel et un logiciel. Le matériel est apte à exécuter le logiciel afin de réaliser une fonction de pilotage d’un organe. Il est connu de sécuriser un tel calculateur en lui adjoignant au moins un module matériel et/ou logiciel apte à surveiller le bon fonctionnement du calculateur et, le cas échéant, à prendre des mesures conservatoires.
Tel qu’illustré à la figure 1, montrant une organisation utilisée dans l’automobile, selon la norme VDA, un calculateur 2, tel un calculateur moteur, exécute un logiciel nominal L1 (de niveau 1 ou « level 1 » en anglais) assurant les fonctions de contrôle moteur. Un premier module de surveillance, sous la forme d’un logiciel de surveillance L2 (de niveau 2 ou « level 2 » en anglais) surveille le bon fonctionnement du logiciel L1, notamment en reproduisant certains calculs critiques et en comparant ses résultats avec ceux obtenus par le logiciel nominal L1. Lorsque L2 détecte un problème, L2 met en œuvre une stratégie conservatoire en fonction du problème. Une telle stratégie conservatoire, comprend par ordre croissant de gravité du problème : un fonctionnement en mode dégradé, un arrêt de l’injection ou une réinitialisation du calculateur 2.
Le mode dégradé suppose que le calculateur 2 et le logiciel L1 maintiennent certaines capacités de fonctionnement. Le logiciel L2 envoi un ordre de passage en mode dégradé au logiciel L1 qui l’exécute. Le mode dégradé permet un fonctionnement dégradé, par exemple imposer une vitesse réduite, du moteur, permettant de déplacer le véhicule, typiquement pour le conduire jusqu’à un garage.
L’arrêt de l’injection vise à stopper le moteur afin d’éviter un accident. Il est supposé que le calculateur 2 et/ou le logiciel L1 n’est plus assez fiable. Aussi cette commande, décidée par le logiciel L2, est réalisée par un dispositif L3 (de niveau ou « level » en anglais 3) indépendant du calculateur 2 et typiquement matériel uniquement (typiquement un circuit électronique, tel un ASIC), qui agit directement sur les injecteurs.
La réinitialisation, en dernier recours, a pour but de réinitialiser le calculateur 2 en espérant remettre, tant le calculateur 2 que le logiciel L1et le logiciel L2, dans un état nominal. La fiabilité du calculateur 2 et/ou du logiciel L1 étant questionné, cette commande, généralement décidée/déclenchée par le logiciel L2, est réalisée par le dispositif L3 indépendant du calculateur 2 qui agit directement sur le calculateur 2. Le dispositif L3 est aussi apte à réaliser certains tests de bon fonctionnement de lui-même, du calculateur 2 et/ou du moyen de communication entre lui et le calculateur 2. En cas de détection d’une défaillance, le dispositif L3 peut décider de déclencher une réinitialisation.
S’agissant d’une sécurité de niveau ultime, la réinitialisation peut être critique. Il convient de vérifier que le déclenchement d’une réinitialisation fonctionne bien. Il est connu de tester cette fonction en sortie de fabrication. Ensuite, selon l’art antérieur elle n’est généralement plus testée.
Afin de pallier cette carence, l’invention propose un procédé de test d’un dispositif de réinitialisation L3 d’un calculateur 2, avantageusement utilisable in situ et même durant le fonctionnement du calculateur 2 et de l’organe M.
Pour cela l’invention concerne un procédé de test in situ et en fonctionnement d’un dispositif de réinitialisation d’un calculateur, ledit dispositif exécutant au moins un logiciel de réinitialisation, le dit calculateur exécutant au moins un logiciel de pilotage afin de piloter un organe, ledit procédé comprenant une séquence d’exécution et une séquence de vérification, la séquence d’exécution étant exécutée en cours d’exécution du logiciel de pilotage et comprenant les étapes suivantes : - incrémentation d’un compteur de test, - stockage du compteur de test dans une mémoire non volatile, - déclenchement d’une réinitialisation du calculateur,
la séquence de vérification étant exécutée au démarrage du logiciel de pilotage et comprenant les étapes suivantes : - lecture depuis la mémoire non volatile du compteur de test, - comparaison du compteur de test, si le compteur de test est égal à sa valeur initiale il n’y a pas de résultat de test, si le compteur de test est égal à sa valeur initiale augmentée de 1, réinitialisation du compteur de test, le résultat du test est positif, et si la valeur du compteur de test est autre, création d’une erreur « réinitialisation », le résultat du test est négatif.
Des caractéristiques ou des modes de réalisation particuliers, utilisables seuls ou en combinaison, sont :
- la séquence d’exécution comprend encore une étape de : - stockage d’un indicateur de test dans une mémoire non volatile, et la séquence de vérification comprend encore les étapes suivantes : - vérification de la présence de l’indicateur de test dans la mémoire non volatile, réinitialisation du compteur de test seulement si l’indicateur de test est présent, suppression de l’indicateur de test.
- la séquence d’exécution comprend encore une étape de : - stockage d’une date de réinitialisation dans une mémoire non volatile, et la séquence de vérification comprend encore les étapes suivantes : - lecture de la date de réinitialisation depuis la mémoire non volatile, - détermination d’une durée de réinitialisation par différence entre la date de réinitialisation et la date courante, - comparaison de la durée de réinitialisation avec un seuil maximum, si la durée de réinitialisation est supérieure au seuil maximum : création d’une erreur « durée » et le résultat du test est négatif.
- la séquence d’exécution comprend encore une étape initiale de : - vérification de l’état de l’organe, les autres étapes de la séquence d’exécution n’étant exécutées que quand l’organe est inactif.
- l’organe est un moteur à explosion, et est inactif lorsque l’injection est arrêtée.
- le procédé comprend encore une étape préalable de vérification d’une condition préalable à son exécution, ladite condition étant préférentiellement déterminée selon au moins un critère parmi : durée calendaire, durée de fonctionnement du calculateur et/ou nombre de cycles de fonctionnement de l’organe.
- le procédé comprend encore une étape de : - allumage d’au moins un témoin si le résultat du test est négatif, si l’erreur « réinitialisation » est créée et/ou si l’erreur « durée » est créée.
L’invention sera mieux comprise à la lecture de la description qui suit, faite uniquement à titre d’exemple, et en référence aux figures en annexe dans lesquelles :
représente un synoptique d’organisation du calculateur et de son dispositif de réinitialisation,
montre un organigramme de la séquence d’exécution du procédé,
montre un organigramme de la séquence de vérification du procédé.
Le procédé selon l’invention intervient en relation avec un calculateur 2 tel qu’illustré à la figure 1. Ce calculateur 2 exécute au moins un logiciel L1, L2, afin de piloter un organe M. L’organe peut par exemple être un moteur M à explosion et le calculateur 2 est un calculateur de contrôle moteur. Le logiciel L1 dispose de capteurs 11 afin d’observer l’état de l’organe M et d’actionneurs 10 afin d’influer sur ledit état. Du fait de la possible criticité des actions commandées par le calculateur 2, ce dernier est sécurisé. Un premier niveau de sécurité est apporté par un logiciel L2 de surveillance. Ce dernier échange des informations avec L1 au moyen de liens 13,14. Il peut encore être équipé de capteurs 12 supplémentaires. Une mémoire non volatile 3 permet d’enregistrer des informations rémanentes d’un arrêt du calculateur 2, par coupure d’alimentation ou encore par réinitialisation. Le logiciel L2 et/ou le calculateur 2 pouvant aussi être défaillants, comme décrit plus haut, le calculateur 2 est équipé d’un dispositif de réinitialisation 1, L3, apte à réinitialiser le calculateur 2 en cas de défaillance détectée. La réinitialisation a pour but, en dernier recours, de réinitialiser le calculateur 2 en espérant remettre, tant le calculateur 2 que le logiciel L1et éventuellement le logiciel L2, dans un état nominal. La fiabilité du calculateur 2 et/ou du logiciel L1 étant questionné, la réinitialisation est réalisée par le dispositif 1, L3 indépendant du calculateur 2. Ce dernier agit directement sur le calculateur 2 via le moyen 17, par exemple en agissant sur la broche reset du calculateur 2. La réinitialisation est généralement décidée par le logiciel L2 et transmise via le moyen de communication 15. Le moyen de communication 16 permet au dispositif L3, 1, d’informer L2 en retour. Le dispositif L3 est aussi apte à réaliser certains tests de bon fonctionnement de lui-même, du calculateur 2 et/ou des moyens de communication 15, 16, 17 entre lui et le calculateur 2. En cas de détection d’une défaillance, le dispositif L3 peut décider de lui-même de déclencher une réinitialisation, toujours via le moyen 17.
L’invention a pour objet de vérifier que l’exécution de la réinitialisation, depuis sa décision, jusqu’au retour du calculateur 2 à un état fonctionnel, se déroule correctement, afin que la sécurité puisse compter sur ce dispositif 1, L3 de sécurité. Pour cela, l’invention a pour objet d’exécuter une réinitialisation de test afin de vérifier qu’une décision de réinitialisation aboutit bien à une réinitialisation effective du calculateur 2. Cette réinitialisation est avantageusement réalisée in situ, le calculateur 2 étant opérationnellement installé, et en fonctionnement, le calculateur 2 et l’organe M étant en fonctionnement lors du test. Ladite réinitialisation est observée pendant son exécution afin de vérifier son bon déroulement.
Pour cela le procédé de test comprend une séquence d’exécution S1 apte à commander une réinitialisation en envoyant un ordre de réinitialisation au dispositif 1 de réinitialisation. La séquence d’exécution S1 est exécutée en cours d’exécution du logiciel L1, L2. Le cas échéant, le procédé peut choisir un moment privilégié plus propice qu’un autre.
De plus, le procédé comprend encore une séquence de vérification S2. Cette séquence est apte à observer le dispositif 1 et/ou le calculateur 2, suite à l’envoi de l’ordre de réinitialisation, afin de vérifier que ce dernier a bien été exécuté et qu’une réinitialisation du calculateur 2 fait suite au dit ordre et qu’elle se déroule correctement. Pour cela la séquence de vérification S2 est préférentiellement exécutée suite au (re)démarrage du logiciel L1, L2. Ceci permet d’exécuter la séquence de vérification S2 immédiatement après un démarrage du calculateur 2 et ainsi au plus près après un redémarrage du calculateur 2 qui suit une réinitialisation.
Tant la séquence d’exécution S1 que la séquence de vérification S2 sont avantageusement des modules logiciels. Ces modules sont fonctionnellement de niveau L3 ou de niveau L2. Ils sont exécutés par le calculateur 2 et avantageusement déclenchés par le logiciel L1.
La figure 2 illustre la séquence d’exécution S1. Le calculateur 2 voit sa mémoire effacée pendant une réinitialisation. Aussi avant de procéder à une réinitialisation, la séquence d’exécution S1 réalise une ou plusieurs étapes de stockage d’information. Ces informations sont stockées dans une mémoire non volatile 3 afin d’être persistantes. L’état de ces informations, lors de leur relecture par la séquence de vérification S2 va permettre de distinguer un démarrage nominal, un démarrage suite à un test de réinitialisation ou encore une absence de réinitialisation alors qu’un test avait été demandé et ainsi permettre de déterminer un résultat de test.
Selon une caractéristique, une étape E13 réalise une incrémentation d’un compteur de test CT. Ce compteur de test CT compte le nombre de tests de réinitialisation demandés par la séquence d’exécution S1. Il est ensuite enregistré en mémoire non volatile 3 au cours d’une étape E14. Le compteur de test CT est avantageusement stocké dans une mémoire non volatile permanente. Ensuite la séquence d’exécution S1 procède au déclenchement, lors d’une étape E17, d’une réinitialisation du calculateur 2. Ceci s’effectue en adressant une demande au dispositif 1, L3, via le moyen 15.
La séquence d’exécution S1 est avantageusement implémentée par un logiciel s’exécutant sur le calculateur 2. Aussi l’étape E17 met normalement fin à la séquence d’exécution S1, si le calculateur 2 est réinitialisé. Une étape faisant suite à E17 pourrait permettre de constater une absence de réinitialisation. Cette option n’a pas été retenue par l’invention.
Selon l’invention, la séquence de vérification S2 est en charge de détecter le bon ou le mauvais fonctionnement de la réinitialisation. Pour cela la séquence de vérification S2 est exécutée au démarrage du calculateur 2. Elle comprend les étapes suivantes illustrées à la figure 3. Selon une caractéristique, une première étape E23 consiste en une lecture, depuis la mémoire non volatile 3, du compteur de test CT. Au cours d’une étape E24 suivante, ce compteur de test CT est comparé avec ses possibles valeurs. Si le compteur de test CT est égal à sa valeur initiale, soit la valeur avant toute incrémentation E13, ceci est indicatif d’une absence d’exécution préalable de la séquence d’exécution S1. Aussi, aucun test de réinitialisation n’a encore été demandé. Aussi il ne peut y avoir de résultat de test. Il peut être mis fin à la séquence de vérification S2 en branchant vers l’étape E30 terminale. Si le compteur de test CT est égal à sa valeur initiale augmentée de 1, il peut être considéré que la séquence d’exécution S1 a été exécutée une fois et que le redémarrage en cours fait suite à la réinitialisation E17 qui a suivi. Il peut ainsi être considéré qu’un test a été demandé et qu’il s’est bien déroulé. Aussi dans ce cas, la comparaison E24 branche sur l’étape E25 qui réalise une réinitialisation du compteur de test CT, qui reprend sa valeur initiale, par exemple 0. Le test s’étant bien déroulé, la séquence de vérification S2 peut se poursuivre à l’étape E29 avec un résultat de test positif, OK. Si la valeur du compteur de test CT est autre, et notamment si elle est supérieure à la valeur initiale augmentée de 1, ceci résulte d’au moins deux opérations d’incrémentation dans une étape E13, et donc d’au moins deux exécutions de la séquence d’exécution S1 avec deux déclenchements E17 d’une réinitialisation, sans exécution en suivant d’une séquence de vérification S2. Il peut ici être déduit qu’au moins une des demandes de réinitialisation E17 qui a suivi une étape d’incrémentation E13 n’a pas été suivie d’une réinitialisation effective du calculateur 2. Sinon le compteur de test CT aurait été réinitialisé à l’étape E25. Aussi, dans ce cas, la comparaison E24 branche sur une étape E31 de création d’une erreur « réinitialisation ». La séquence de vérification S2 se poursuit et se termine à l’étape E32 avec un résultat de test négatif, NOK.
Le procédé de test peut encore comprendre d’autres caractéristiques, seules ou en combinaison, permettant autant de variantes de modes de réalisation.
Selon une autre caractéristique, la séquence d’exécution S1 comprend encore une étape d’écriture/ stockage E15 d’un indicateur de test IT dans une mémoire non volatile 3. L’indicateur de test IT est avantageusement stocké dans une mémoire non effacée lors d’une réinitialisation. Cet indicateur de test IT comprend typiquement une donnée présente ou absente ou encore une variable contenant une certaine valeur. La séquence de vérification S2 comprend encore, de manière complémentaire, les étapes suivantes. La présence dudit indicateur de test IT est vérifiée par une lecture E21 de la mémoire non volatile 3 à sa recherche. Si cet indicateur de test IT est trouvé E22, ceci confirme qu’un test de réinitialisation est en cours. Aussi une réinitialisation E25 du compteur de test CT peut être réalisée. Au cours de l’étape E25 l’indicateur de test est alors aussi supprimé. A défaut, si aucun indicateur de test IT ne peut être trouvé dans la mémoire non volatile 3, la comparaison E22 branche vers l’étape E30 qui met fin à la séquence de vérification S2. Il n’y a pas de résultat de test dans ce cas. L’utilisation d’un indicateur de test IT permet de confirmer le cas où un test a été demandé sans s’appuyer uniquement sur le compteur de test CT.
Selon une autre caractéristique, le procédé de test encore mis à profit pour tester, si la réinitialisation s’exécute, qu’elle s’exécute dans un temps suffisamment court. Pour cela, la séquence d’exécution S1 comprend encore une étape de stockage E16 d’une date de réinitialisation TR dans une mémoire non volatile 3. La date de réinitialisation TR est avantageusement stockée dans une mémoire non volatile permanente. Cette date de réinitialisation TR est suffisamment proche de la demande de réinitialisation E17 pour être considérée être la date de début de réinitialisation. La séquence de vérification S2 comprend encore, de son côté, les étapes suivantes : lecture E26 de la date de réinitialisation TR depuis la mémoire non volatile 3 et détermination E27 d’une durée de réinitialisation DR, par différence, DR = T – TR, entre la date de réinitialisation TR et la date courante T. La date courante T est suffisamment proche de l’instant où le calculateur 2 et son logiciel redeviennent opérationnels après la réinitialisation, pour être considérée être la date de fin de réinitialisation. Aussi la durée DR peut être considérée être la durée totale de réinitialisation, depuis la demande de réinitialisation E17 jusqu’au retour à un état opérationnel. La séquence de vérification S2 comprend encore avantageusement une étape de comparaison E28 de la durée de réinitialisation DR avec un seuil maximum S. Ce seuil S de durée est typiquement fixé de manière réglementaire ou législative. A titre indicatif, le seuil S est de quelques dizaines de millisecondes, préférentiellement 150 ms. Si la durée de réinitialisation DR est supérieure au seuil maximum S, la séquence de vérification S2 branche vers une étape E33 de création d’une erreur « durée ». La séquence de vérification S2 se poursuit à l’étape terminale E34 avec un résultat de test négatif, NOK. Si au contraire, la durée de réinitialisation DR est inférieure au seuil S, la séquence de vérification S2 se poursuit à l’étape terminale E29 avec un résultat de test positif.
Afin de ne pas perturber le pilotage de l’organe M, l’instant où une réinitialisation E17 est déclenchée est choisi de préférence lorsque l’organe M est inactif. Ceci garantit que le pilotage de l’organe M est peu ou pas perturbé par le test, qui peut ainsi être réalisé in situ et en cours de fonctionnement. Pour cela la séquence d’exécution S1 comprend encore une étape E12 de vérification de l’état de l’organe M. Si l’organe M est actif, la vérification E12 branche sur une étape E18 de fin de la séquence d’exécution S1. Alternativement, la séquence d’exécution S1 peut être mise en attente, jusqu’à ce que l’état de l’organe M devienne inactif. Si l’organe M est ou devient inactif la séquence d’exécution S1 se poursuit par la réalisation des autres étapes E13-E17, telles que décrites précédemment.
Dans le cas où l’organe M est un moteur à combustion interne, le moteur M est considéré inactif lorsque l’injection est coupée. Ceci correspond, par exemple, à un moteur M arrêté ou à un moteur en marche, dans une phase de décélération et/ou de relâchement de la pédale d’accélérateur. Ceci assure que le test n’est pas perçu par le conducteur ou s’il est perceptible, qu’il n’est pas gênant pour le conducteur.
La fonction de réinitialisation doit être testée de temps en temps. Il n’est cependant pas nécessaire de reproduire le test trop souvent. Aussi selon une autre caractéristique, une condition préalable CP est vérifiée au cours d’une étape E11 de la séquence d’exécution S1 avant tout déclenchement E17 d’une réinitialisation. Cette condition préalable CP peut être déterminée selon tout critère permettant de différer une exécution. Ainsi la condition préalable CP peut, par exemple, être déterminée sur un ou plusieurs critères choisis parmi : une durée calendaire, une durée de fonctionnement du calculateur 2 et/ou un nombre de cycles de fonctionnement de l’organe M.
Si le critère de durée calendaire est utilisé, la séquence d’exécution S1 d’un test de réinitialisation et donc un déclenchement d’une réinitialisation de test E17 ne pourra être exécutée que si la dernière réinitialisation de test E17 a été exécutée il y a plus que ladite durée calendaire. Une durée calendaire peut, par exemple, être une heure, 3 jours ou encore 1 mois. De même si le critère de durée de fonctionnement du calculateur 2 est utilisé, un déclenchement d’une réinitialisation de test E17 ne pourra être exécuté que si le calculateur a fonctionné au moins la durée de fonctionnement prescrite depuis la dernière réinitialisation de test E17. Une durée de fonctionnement peut, par exemple, être une heure, 3 jours ou encore 1 mois. De même si le critère de nombre de cycles de fonctionnement de l’organe M est utilisé, un déclenchement d’une réinitialisation de test E17 ne pourra être exécuté que si l’organe M a effectué au moins ledit nombre de cycles de fonctionnement depuis la dernière réinitialisation de test E17. Un nombre de cycles de fonctionnement peut, par exemple, être 100. Dans le cas où l’organe M est un moteur à combustion interne, un cycle comprend un fonctionnement compris entre un démarrage et une coupure de contact.
Deux ou plus critères peuvent être combinés par des opérateurs OU et/ou ET.
Selon une autre caractéristique, le procédé comprend encore une étape d’allumage d’au moins un témoin si le résultat du test est négatif NOK. Un témoin individualisé ou un unique témoin commun peut être allumé en cas d’erreur « réinitialisation » et/ou en cas d’erreur « durée ». Le ou les témoins peuvent être visuels et/ou sonores. Dans le cas d’un véhicule automobile le témoin est avantageusement affiché à la planche de bord de manière à alerter le conducteur.
Avantageusement un allumage d’un témoin est doublé d’un enregistrement, avantageusement daté, préférentiellement en mémoire non volatile, à l’attention des équipes de maintenance.
L’invention a été illustrée et décrite en détail dans les dessins et la description précédente. Celle-ci doit être considérée comme illustrative et donnée à titre d’exemple et non comme limitant l’invention à cette seule description. De nombreuses variantes de réalisation sont possibles.
1 : dispositif de réinitialisation, L3,
2 : calculateur,
3 : mémoire non volatile,
10, 11 : entrées/sorties de L1 avec organe,
12 : entrées de L2,
13, 14 : moyens de communication entre L1 et L2,
15, 16 : moyens de communication entre L2 et L3,
17 : moyen de communication de réinitialisation,
L1, L2 : logiciel de niveau 1, respectivement 2,
L3 : dispositif de réinitialisation, de niveau 3,
S1 : séquence d’exécution,
S2 : séquence de vérification,
E11-E18 : étapes de S1,
E21-E34 : étapes de S2,
M : organe,
CP : condition préalable,
CT : compteur de test,
IT : indicateur de test,
TR : temps de réinitialisation,
T : temps courant,
DR : durée de réinitialisation.

Claims (7)

  1. Procédé de test in situ et en fonctionnement d’un dispositif de réinitialisation (1) d’un calculateur (2), ledit dispositif exécutant au moins un logiciel (L3) de réinitialisation, le dit calculateur (2) exécutant au moins un logiciel (L1, L2) de pilotage afin de piloter un organe (M), caractérisé en ce qu ’il comprend une séquence d’exécution (S1) et une séquence de vérification (S2), la séquence d’exécution (S1) étant exécutée en cours d’exécution du logiciel (L1, L2) de pilotage et comprenant les étapes suivantes :
    - incrémentation (E13) d’un compteur de test (CT),
    - stockage (E14) du compteur de test (CT) dans une mémoire non volatile (3),
    - déclenchement (E17) d’une réinitialisation du calculateur (2),
    la séquence de vérification (S2) étant exécutée au démarrage du logiciel (L1, L2) de pilotage et comprenant les étapes suivantes :
    - lecture (E23) depuis la mémoire non volatile (3) du compteur de test (CT),
    - comparaison (E24) du compteur de test (CT), si le compteur de test (CT) est égal à sa valeur initiale il n’y a pas de résultat de test, si le compteur de test (CT) est égal à sa valeur initiale augmentée de 1, réinitialisation (E25) du compteur de test (CT), le résultat (E29) du test est positif (OK), et si la valeur du compteur de test (CT) est autre, création (E31) d’une erreur « réinitialisation », le résultat (E32) du test est négatif (NOK).
  2. Procédé selon la revendication 1, où la séquence d’exécution (S1) comprend encore une étape de :
    - stockage (E15) d’un indicateur de test (IT) dans une mémoire non volatile (3),
    et la séquence de vérification (S2) comprend encore les étapes suivantes :
    - vérification (E21, E22) de la présence de l’indicateur de test (IT) dans la mémoire non volatile (3), réinitialisation (E25) du compteur de test (CT) seulement si l’indicateur de test (IT) est présent, suppression (E25) de l’indicateur de test (IT).
  3. Procédé selon l’une quelconque des revendications 1 ou 2, où la séquence d’exécution (S1) comprend encore une étape de :
    - stockage (E16) d’une date de réinitialisation (TR) dans une mémoire non volatile (3),
    et la séquence de vérification (S2) comprend encore les étapes suivantes :
    - lecture (E26) de la date de réinitialisation (TR) depuis la mémoire non volatile (3),
    - détermination (E27) d’une durée de réinitialisation (DR) par différence entre la date de réinitialisation (TR) et la date courante (T),
    - comparaison (E28) de la durée de réinitialisation (DR) avec un seuil maximum (S), si la durée de réinitialisation (DR) est supérieure au seuil maximum (S) : création (E33) d’une erreur « durée » et le résultat (E34) du test est négatif (NOK).
  4. Procédé selon l’une quelconque des revendications 1 à 3, où la séquence d’exécution (S1) comprend encore une étape initiale de :
    - vérification (E12) de l’état de l’organe (M), les autres étapes de la séquence d’exécution (S1) n’étant exécutées que quand l’organe (M) est inactif.
  5. Procédé selon la revendication 4, où l’organe (M) est un moteur à explosion, et est inactif lorsque l’injection est arrêtée.
  6. Procédé selon l’une quelconque des revendications 1 à 4, comprenant encore une étape (E11) préalable de vérification d’une condition préalable (CP) à son exécution, ladite condition étant préférentiellement déterminée selon au moins un critère parmi : durée calendaire, durée de fonctionnement du calculateur (2) et/ou nombre de cycles de fonctionnement de l’organe (M).
  7. Procédé selon l’une quelconque des revendications 1 à 5, comprenant encore une étape de :
    - allumage d’au moins un témoin si le résultat du test est négatif (NOK), si l’erreur « réinitialisation » est créée et/ou si l’erreur « durée » est créée.
FR1907441A 2019-07-04 2019-07-04 Procédé de test d’un dispositif de réinitialisation de calculateur Active FR3098316B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1907441A FR3098316B1 (fr) 2019-07-04 2019-07-04 Procédé de test d’un dispositif de réinitialisation de calculateur
PCT/EP2020/067077 WO2021001168A1 (fr) 2019-07-04 2020-06-19 Procede de test d'un dispositif de reinitialisation de calculateur
US17/618,645 US11687394B2 (en) 2019-07-04 2020-06-19 Method for testing a computer reset device
CN202080048903.0A CN114144766A (zh) 2019-07-04 2020-06-19 计算机的重新初始化装置的测试方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1907441A FR3098316B1 (fr) 2019-07-04 2019-07-04 Procédé de test d’un dispositif de réinitialisation de calculateur
FR1907441 2019-07-04

Publications (2)

Publication Number Publication Date
FR3098316A1 true FR3098316A1 (fr) 2021-01-08
FR3098316B1 FR3098316B1 (fr) 2021-05-28

Family

ID=68138497

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1907441A Active FR3098316B1 (fr) 2019-07-04 2019-07-04 Procédé de test d’un dispositif de réinitialisation de calculateur

Country Status (4)

Country Link
US (1) US11687394B2 (fr)
CN (1) CN114144766A (fr)
FR (1) FR3098316B1 (fr)
WO (1) WO2021001168A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014019416A (ja) * 2012-07-24 2014-02-03 Hitachi Automotive Systems Ltd 車両制御装置
US20160117132A1 (en) * 2013-06-06 2016-04-28 Continental Automotive France Method for optimizing the use of a non-volatile memory in a motor vehicle computer for monitoring a functional member
US20190188084A1 (en) * 2016-09-13 2019-06-20 Psa Automobiles Sa Device for controlling the reinitialization of a computer on board an automobile

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647301B1 (en) 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
JP2001063492A (ja) 1999-08-27 2001-03-13 Nec Corp 車両安全制御装置の電子制御装置
US9043078B2 (en) * 2010-08-13 2015-05-26 Deere & Company Method and system for performing diagnostics or software maintenance for a vehicle
US9823296B2 (en) 2012-06-07 2017-11-21 Nxp Usa, Inc. Built-in self test system, system on a chip and method for controlling built-in self tests
US10018267B2 (en) * 2016-03-11 2018-07-10 Ford Global Technologies, Llc Vehicle transmission control module reset detection and mitigation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014019416A (ja) * 2012-07-24 2014-02-03 Hitachi Automotive Systems Ltd 車両制御装置
US20160117132A1 (en) * 2013-06-06 2016-04-28 Continental Automotive France Method for optimizing the use of a non-volatile memory in a motor vehicle computer for monitoring a functional member
US20190188084A1 (en) * 2016-09-13 2019-06-20 Psa Automobiles Sa Device for controlling the reinitialization of a computer on board an automobile

Also Published As

Publication number Publication date
FR3098316B1 (fr) 2021-05-28
US11687394B2 (en) 2023-06-27
WO2021001168A1 (fr) 2021-01-07
CN114144766A (zh) 2022-03-04
US20220358004A1 (en) 2022-11-10

Similar Documents

Publication Publication Date Title
FR2894548A1 (fr) Procede de controle du fonctionnement d'un vehicule base sur une strategie de diagnostic embarque definissant differents types de pannes
FR2681302A1 (fr) Dispositif de direction assistee.
WO2017036584A1 (fr) Procédé de détection d'une erreur non corrigible dans une mémoire non volatile d'un microcontrôleur
WO2007042695A1 (fr) Procede d'amelioration d'un diagnostic d'une eventuelle defaillance dans un vehicule
WO2014195012A1 (fr) Procédé d'optimisation de l'utilisation de la mémoire non volatile d'un calculateur de véhicule automobile pour la surveillance d'un organe fonctionnel
FR3098316A1 (fr) Procédé de test d’un dispositif de réinitialisation de calculateur
FR2958060A1 (fr) Procede et dispositif de detection d'une defaillance electrique affectant un systeme electrique de commande d'un actionneur hydraulique de geometries variables d'un moteur d'aeronef.
WO2018050994A1 (fr) Procédé de détection de défaillances
FR3105595A1 (fr) Procédé de charge d’une batterie électrique de véhicule
FR3006384A1 (fr) Procede et dispositif d'arbitrage entre plusieurs organes de (re)demarrage lors d'une anomalie (re)demarrage moteur thermique
FR3010554A1 (fr) Procede de detection et de prevention de panne de composant de vehicule automobile
EP3711203B1 (fr) Système et procédé de datation d'un événement détecté dans un véhicule automobile
FR2785389A1 (fr) Procede de controle de capteurs analogiques
FR2972029A1 (fr) Dispositif d'inhibition d'une commande d'arret/redemarrage automatique d'un moteur thermique
EP2296950B1 (fr) Procede et dispositif de diagnostic d'un systeme de controle d'un vehicule automobile
FR2897650A1 (fr) Procede de commande d'un moteur de vehicule pour le declenchement d'une phase de regeneration d'un filtre a particules
FR3089315A1 (fr) Procédé de détection d’une disparition de tache
WO2023083703A1 (fr) Procédé et dispositif de contrôle et commande d'un moteur de véhicule
FR2964747A1 (fr) Procede et systeme de supervision de fonctions electroniques d'un vehicule, vehicule comprenant un systeme de supervision de fonctions electroniques
EP1069299B1 (fr) Dispositif d'injection pour moteur à combustion interne
WO2020053208A1 (fr) Procédé de détection d'une disparition de tâche
FR3072778B1 (fr) Procede de diagnostic d’un capteur de presence d’eau dans un circuit de carburant de vehicule
WO2021001131A1 (fr) Procede de controle moteur pour la protection d'un moteur a combustion interne lors de la rotation en sens inverse
FR3097986A1 (fr) Calculateur de contrôle moteur pour véhicule automobile
FR2877750A1 (fr) Procede d'activation/desactivation d'une fonction de pilotage d'un organe fonctionnel d'un vehicule automobile

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210108

PLFP Fee payment

Year of fee payment: 3

TP Transmission of property

Owner name: VITESCO TECHNOLOGIES, DE

Effective date: 20210629

CA Change of address

Effective date: 20220103

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6