FR 3055991 A1 20180316 FR 1658574 A 20160914 1 La présente invention se rapporte de manière générale à la protection de dispositifs électroniques comme par exemple un calculateur. Elle concerne plus particulièrement un procédé dédié à la détection d'une défaillance d'un calculateur sur au moins une sortie pouvant entrainer une destruction 5 partielle ou totale dudit calculateur. L'invention trouve des applications, en particulier, dans le domaine automobile. Elle peut être mise en oeuvre, par exemple, dans un calculateur de contrôle moteur. Un véhicule automobile comporte de nos jours de plus en plus d'électronique 10 embarquée comme par exemple des calculateurs. Ces calculateurs peuvent être dédiés à la gestion de l'habitacle, du freinage mais aussi à la gestion du moteur. Un calculateur moteur, aussi nommé calculateur de contrôle moteur est adapté pour gérer des fonctions du moteur comme par exemple l'admission, l'échappement et/ou aussi l'injection. Pour gérer ces fonctions, le calculateur de contrôle moteur présente une unité 15 de calcul et de contrôle adaptée pour effectuer des taches permettant la commande et le contrôle du moteur par exemple thermique, au moins une mémoire adaptée pour stocker par exemple un programme informatique, des étages d'adaptation et des étages de puissance. Ainsi, dans le cas de la gestion de l'injection d'un moteur diesel, le calculateur de contrôle moteur présente un étage de puissance adapté pour commander des 20 injecteurs. Des puissances relativement élevées sont générées et parfois des défaillances peuvent apparaître et engendrer une destruction partielle ou totale du calculateur de contrôle moteur. Ces défaillances peuvent être des défaillances logicielles comme par exemple une perte d'information au niveau de l'étage d'adaptation provocant une activation en 25 continue ou durant une durée relativement longue de l'injecteur pouvant engendrer une destruction de l'injecteur et/ou un calage du moteur thermique voire dans le pire des cas une casse dudit moteur thermique. Ces défaillances peuvent aussi détériorer le calculateur de contrôle moteur. En effet, l'activation pendant une durée relativement longue d'une ou des sorties de puissance du calculateur de contrôle moteur peut 30 provoquer une surconsommation desdites sorties et engendrer une surchauffe voire une destruction soit de l'étage de puissance soit du calculateur de contrôle moteur. Pour protéger le calculateur de contrôle moteur de telles défaillances, il est connu d'installer des moyens de protection au niveau du calculateur de contrôle moteur pour surveiller, en fonction d'une stratégie déterminée, l'état des étages de sorties. Ces 35 moyens de protection, lors de la détection d'une défaillance au niveau de l'étage de sortie, 3055991 2 provoquent une remise à zéro partielle ou totale du calculateur de contrôle moteur évitant ainsi une casse de ce dernier. Parfois, dans des configurations très spécifiques et souvent aléatoires, les moyens de protection ne détectent pas suffisamment tôt la défaillance au niveau des 5 sorties de l'étage de puissance ce qui peut provoquer la destruction du calculateur de contrôle moteur. L'invention propose un procédé destiné à la protection d'une défaillance d'un calculateur de contrôle moteur permettant de remédier partiellement ou totalement au manque technique de l'art antérieur cité. 10 A cet effet, un premier aspect de l'invention propose un procédé de détection de défaillances d'un calculateur de contrôle moteur ; le calculateur de contrôle moteur comprenant au moins : - une couche matérielle avec une unité de calcul et de contrôle, une unité de commande, un module de puissance adapté pour commander au moins une 15 charge, - une couche logicielle exécutée au moins partiellement par l'unité de calcul et de contrôle et comportant n étapes de lancement d'au moins un cycle d'activation de la charge, un cycle d'activation de la charge comprenant m phase(s) d'activation de ladite charge, une phase d'activation de la charge 20 comportant des étapes suivantes : ^ actionnement de la charge à l'aide d'un premier signal de commande d'une première durée, ^ première temporisation d'un premier temps minimum de maintien, ^ désactivation de la charge à l'aide d'un deuxième signal de 25 commande d'une deuxième durée, ^ deuxième temporisation d'un deuxième temps minimum de maintien, caractérisé en ce que le procédé de détection de défaillances comporte une fenêtre temporelle de mesure présentant une durée égale à la durée d'une phase d'activation de la charge et pendant laquelle les étapes suivantes sont réalisées : 30 a) initialisation des variables de mesures AT-I, 312, AT3, AT4, Seuil_min, Seuil_max et défaut, b) détection d'un actionnement de la charge, c) mesure durant la phase d'activation de la charge de : o la première durée du premier signal de commande, 3055991 3 o la deuxième durée du deuxième signal de commande, o la première temporisation du premier temps minimum de maintien, o de la deuxième temporisation du deuxième temps minimum de maintien, o une amplitude minimale et une amplitude maximale d'un cinquième signal de commande, d) enregistrement de valeurs des mesures effectuées à l'étape c) : o enregistrement de la valeur de la première durée du premier signal de commande dans la variable AT-I, o enregistrement de la valeur de la deuxième durée du deuxième signal de commande dans la variable AT3, o enregistrement de la valeur de la première temporisation du premier temps minimum de maintien dans la variable AT2, o enregistrement de la valeur de la deuxième temporisation du deuxième temps minimum de maintien dans la variable 314, o enregistrement de la valeur de l'amplitude minimale dans la variable Seuil_min, et o enregistrement de la valeur de l'amplitude maximale dans la variable Seuil_max. e) comparaison des valeurs des variables Arl , AT2, AT3, AT4, Seuil_min, Seuil_max stockées à l'étape d) à des valeurs références respective AT1_ref, AT2_ref, AT3_ref, AT4_ref, Seuil_min_ref, Seuil_max_ref, f) action de réinitialisation du calculateur de contrôle moteur si au moins une des conditions suivantes est valide : o AT1 > Arl_ref, o 312 AT3_ref, , o AT4 Grâce à un tel procédé il est maintenant possible de détecter une défaillance d'un calculateur de contrôle moteur au niveau d'une sortie commandant la charge avant une défaillance possible et une destruction de celui-ci. Dans un souci de discrimination de l'importance du type d'anomalie, il est avantageusement proposé par exemple qu'à l'étape f) une étape complémentaire d'action de réinitialisation de la couche logicielle et de la couche matérielle du calculateur de contrôle moteur dans le cas où la variable défaut = 0 et qu'au moins une des conditions ci-dessous est valide : 3055991 4 o ATI > 3,T1_ref, o 3,T2 3,T1_ref, o 3,T3 > 3,T3_ref. Avantageusement, grâce à cette étape il est possible de réinitialiser qu'une 15 partie logicielle du calculateur de contrôle moteur. Afin de d'améliorer la discrimination il est aussi proposé en variante qu'à l'étape f) une étape complémentaire d'action de réinitialisation de la couche logicielle du calculateur de contrôle moteur dans le cas où la variable défaut = 1 et qu'au moins une des conditions ci-dessous est valide : 20 o AT-I > 3,T1_ref, o 3,T3 > 3,T3_ref. Lorsqu'un doute subsiste sur la gravité de la défaillance alors il est, par exemple, proposé à l'étape f) une étape complémentaire d'action de réinitialisation de la couche logicielle et de la couche matérielle du calculateur de contrôle moteur dans le cas 25 où la variable défaut > 1. Pour protéger le calculateur lorsqu'il est en fonctionnement, il est par exemple prévu que les étapes réalisées dans une fenêtre temporelle de mesure sont répétées un nombre e de fois ; le nombre e correspondant au nombre n d'étapes de lancement d'au moins un cycle d'activation de la charge. 30 Dans un souci d'optimisation de l'espace mémoire occupé dans le calculateur de contrôle moteur, il est en variante proposé que les valeurs références 3,T1_ref, 3,T3_ref sont identiques. Dans le cas d'un moteur thermique, il est par exemple proposé que la charge soit un injecteur. 35 Par exemple, le procédé peut commander un injecteur d'un moteur diesel. 3055991 5 D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés dans lesquels : La figure 1 est un schéma de principe d'une architecture d'un 5 calculateur de contrôle moteur, La figure 2 est une vue simplifiée du calculateur de contrôle moteur représenté à la figure 1, La figure 3 est un graphe illustrant des états des principaux signaux transitant dans le calculateur de contrôle moteur des deux précédentes 10 figures, La figure 4 est un algorigramme de détection de défaillance selon le procédé de la présente invention, et La figure 5 est un schéma de principe illustratif de la couche logicielle du procédé de la figure 4. 15 La figure 1, représente un schéma de principe d'une architecture d'un calculateur 2. Le calculateur 2 de la figure 1 est par exemple un calculateur de contrôle moteur installé sur un véhicule automobile présentant une motorisation diesel. Ainsi, le calculateur 2 de contrôle moteur comporte entre autre, une unité de calcul et de contrôle 4, une unité de commande 6, un module de puissance 8 couplé à des sorties de 20 puissance 10 et un bus de communication 12. L'unité de calcul et de contrôle 4 comporte entre autre un microcontrôleur maître 14, au moins une mémoire 16 adaptée pour stocker des programmes et des étages d'entrées/sorties 18. Les différents éléments de l'unité de calcul et de contrôle 4 sont couplés entre eux par des liaisons non représentées sur les figures pour ne pas 25 surcharger les dessins. Le microcontrôleur maître 14 est par exemple un microcontrôleur multi-cceur 32 bits cadencé à une fréquence de 128 MHz. Le bus de communication 12 est par exemple un bus de communication de type SPI pour «Serial Peripheral Interface » en anglais, adapté pour recevoir et délivrer des signaux de communication et des signaux de contrôle aux modules du calculateur 2 30 de contrôle moteur. Les étages d'entrées/sorties 18 sont par exemple des convertisseurs analogique/numérique adaptés pour recevoir et délivrer des signaux de commande vers les modules du calculateur 2 de contrôle moteur. Bien entendu, l'homme de l'art comprendra aisément à la lecture des paragraphes précédents et des dessins que seules les unités utiles à la compréhension 35 de l'invention ont été décrites. En outre, les types de composants utilisés et présentés succinctement dans les paragraphes précédents sont donnés à titre purement illustratif. 3055991 6 L'unité de calcul et de contrôle 4 comporte entre autre, une couche composant précédemment décrite qui peut être aussi nommée par l'homme de l'art couche « hardware ou HW » et une couche logicielle ou aussi nommée couche « software ou SW ». La couche logicielle est très complexe et comporte différentes sections 5 logicielles permettant de contrôler et/ou commander un moteur à combustion interne. Dans la suite de la description, le moteur à combustion interne sera parfois nommé moteur thermique. Il y a des sections dites de logiciel applicatif permettant de commander divers paramètres du moteur thermique et au moins une section logicielle adaptée pour piloter et contrôler au moins un injecteur 20 du moteur thermique. 10 Cette section logicielle est adaptée pour piloter et contrôler les injecteurs 20 du moteur thermique et est souvent appelée par l'homme de l'art « basic software ». Elle permet en fonction d'une stratégie déterminée de contrôler l'injection du moteur thermique via les injecteurs 20. Bien entendu, l'homme de l'art comprendra que la couche logicielle est adaptée pour délivrer à l'aide de composants électroniques adaptés des signaux de 15 commande aux différents modules du calculateur 2 de contrôle moteur, c'est-à-dire à l'unité de commande 6 et au module de puissance 8. Ainsi, il est délivré des requêtes, dites requêtes d'injection, en fonction d'événements temps réels, d'interruptions, d'horloges internes, aussi nommées par l'homme de l'art « timer interne », de calculs effectués par le microcontrôleur maître 14 et aussi en réponse à des signaux provenant 20 du moteur thermique. Les signaux utilisés pour commander les injecteurs 20 seront présentés plus loin dans la description. L'unité de commande 6 comporte par exemple un premier microcontrôleur esclave 22 et au moins un module de conversion 23 adapté pour convertir des signaux électriques provenant de l'unité de calcul 4. Le premier microcontrôleur esclave 22 est 25 adapté pour exécuter des taches demandées par le microcontrôleur maître 14 et pour analyser/traiter des signaux provenant du module de puissance 8. En outre, le premier microcontrôleur esclave 22 comporte une couche logicielle adaptée pour effectuer le suivi de la position des injecteurs 20. Ainsi, grâce à cette couche logicielle, il est possible de connaître avec précision l'état des injecteurs 20 en temps réel. Pour ce faire, l'unité de 30 commande 6 reçoit sur une de ces entrées un signal nommé V_inj_retour provenant de module de puissance 8, signal représentatif de la position des injecteurs 20. Dans une variante de réalisation, le premier microcontrôleur esclave 22 peut être un composant programmable de type ASIC, abréviation de l'anglais « Application Specific Integrated Circuit ». Le module de puissance 8 ne sera pas plus décrit dans la description car son 35 architecture est bien connue de l'homme de l'art. Afin de protéger d'éventuelles défaillances le calculateur 2 de contrôle moteur et aussi les injecteurs 20 un module de surveillance 24 est intégré au calculateur 2 de 3055991 7 contrôle moteur. Ce module de surveillance 24 comporte par exemple un second microcontrôleur esclave 26. Le module de surveillance 24 est couplé à l'unité de calcul et de contrôle 4 à l'aide du bus de communication 12 et au module de puissance 8 à l'aide d'un bus de contrôle 28. Dans l'exemple représenté à la figure 1, le bus de contrôle 28 5 comporte une seule connexion. En variante et en fonction du type de calculateur 2 de contrôle moteur et aussi du moteur à commander, le bus de contrôle 28 peut comporter un nombre n de connexions. Ce type de bus de contrôle 28 peut être par exemple un bus de communication série asynchrone connu de l'homme de l'art. Il est possible que des défaillances surviennent durant la commande et le 10 contrôle de l'injection du moteur à combustion interne. Ces défaillances peuvent être physique, c'est-à-dire par exemple une défaillance d'un injecteur 20 ; dans ce cas le calculateur 2 de contrôle moteur détecte l'injecteur 20 défaillant et en informe le conducteur. De part la complexité de l'architecture du calculateur 2 de contrôle moteur et de la commande en temps réel des injecteurs 20, il est possible que des défaillances 15 logicielles surviennent comme par exemple des requêtes faites par l'unité de commande 6 avec un temps de commande des injecteurs 20 trop long ou décalé par rapport au cycle de combustion du moteur. Ainsi, lorsqu'une défaillance de ce type survient alors un casse du calculateur est possible. Les injecteurs 20 sont par exemple des injecteurs piézoélectriques. Dans la 20 suite de la description, les injecteurs 20 seront considérés dans une première approche comme des capacités. Cette simplification du comportement des injecteurs 20 permettra de mieux comprendre l'invention. Il est à noter que l'homme de l'art utilise souvent ce type d'approche pour illustrer le fonctionnement d'un injecteur piézoélectrique. La figure 2 est une vue simplifiée du calculateur 2 de contrôle moteur 25 représenté à la figure 1. On y retrouve l'unité de calcul et de contrôle 4, l'unité de commande 6, le module de puissance 8, les injecteurs 20, le module de surveillance 24 et le bus de contrôle 28. Seuls les signaux utiles à la compréhension du procédé de l'invention sont représentés à la place du bus de communication 12. Ainsi, une première liaison 30 et une deuxième liaison 32 couplent l'unité de 30 calcul et de contrôle 4 à l'unité de commande 6. La première liaison 30 et la deuxième liaison 32 délivrent respectivement un premier signal de commande 30_1 et un deuxième signal de commande 32_1. Une troisième liaison 34 et une quatrième liaison 36 couplent l'unité de commande 6 au module de puissance 8. La troisième liaison 34 et la quatrième liaison 36 délivrent respectivement un troisième signal de commande 34_1 et un 35 quatrième signal de commande 36_1. Ces signaux seront présentés ultérieurement dans le texte de la description. Dans une mode de réalisation préféré, la première liaison 30, la deuxième liaison 32, la troisième liaison 34 et la quatrième liaison 36 sont des liaisons 3055991 8 avec un transfert de données unidirectionnel. Dans une variante de réalisation, au moins une de ces quatre liaisons est bidirectionnelle diminuant ainsi la complexité du câblage interne du calculateur 2 de contrôle moteur. Une cinquième liaison 38 couple le module de puissance 8 à un injecteur 20. 5 Bien entendu, l'homme de l'art comprendra que le nombre de cinquièmes liaisons 38 est proportionnel au nombre d'injecteurs 20 à commander. Ainsi, pour une meilleure lisibilité du schéma de la figure 2 une seule cinquième liaison 38 est représentée. Cette cinquième liaison 38 est adaptée pour délivrer à un injecteur 20 un cinquième signal de commande 38_1 permettant de le commander. 10 La figure 3 représente le premier signal de commande 30_1, le deuxième signal 32_1, le troisième signal de commande 34_1, le quatrième signal de commande 36_1 et le cinquième signal de commande 38_1 lors d'une phase d'injection d'un cycle d'injection. Afin de faciliter sa lecture, une seule phase d'injection a été représentée sur la figure 3. Cependant, il est connu de l'homme de l'art qu'un cycle 15 d'injection comporte un nombre déterminé de phases d'injection. Dans l'exemple de la figure 3, une phase d'injection présente une durée D d'une valeur de 600gs (lgs = 10-6s) ; cette valeur est purement illustrative et non limitative. Le premier signal de commande 30_1 délivré par l'unité de calcul et de contrôle 4 est représentatif d'un ordre d'injection, ou comme mentionné plus haut dans la 20 description, si nous considérons un injecteur 20 comme une capacité alors, le premier signal de commande 30_1 est représentatif d'un ordre de charge de la capacité. La durée d'activation dépend du type d'injecteur 20, dans l'exemple de la figure 3 nous considérons que le premier signal de commande 30_1 présente une première durée 30_1_D d'une valeur de 200gs (1gs = 10-6s). Cette première durée 30_1_D est 25 symbolisée par la mise à « 1 » ou état haut, du premier signal de commande 30_1. Durant le reste de la phase d'injection, le premier signal de commande 30_1 est à l'état bas ou « 0 ». Le deuxième signal de commande 32_1 délivré par l'unité de calcul et de contrôle 4 est représentatif d'un ordre d'arrêt d'injection, ou comme mentionné plus haut 30 dans la description si nous considérons un injecteur 20 comme une capacité alors, le deuxième signal de commande 32_1 est représentatif d'un ordre de décharge de la capacité. La durée pour désactiver un injecteur 20 dépend aussi du type d'injecteur 20. Dans l'exemple de la figure 3, il est considéré que le deuxième signal de commande 32_1 présente une deuxième durée 32_1_D d'une valeur 35 de 200gs (lgs = 10-6s). Cette deuxième durée 32_1_D est symbolisée par la mise à « 1 », ou état haut, du deuxième signal de commande 32_1. Durant le reste de la phase d'injection, le deuxième signal de commande 32_1 est à l'état bas ou à « 0 ». 3055991 9 Le troisième signal de commande 34 présente une troisième durée 34_1_D d'une valeur de 200gs. Dans un mode de réalisation préféré la valeur de la troisième durée 34_1_D est identique à la valeur de la première durée 30_1_D. Le quatrième signal de commande 36 présente une quatrième durée 36_1_D 5 d'une valeur de 200gs. Dans un mode de réalisation préféré, la valeur de la quatrième durée 36_1_D est identique à la valeur de la deuxième durée 34_1_D. Le troisième signal de commande 34 et le quatrième signal de commande 36 sont, par exemple des signaux de type PWM, pour « Pulse Width Modulation » en anglais, ou modulation de largeur d'impulsion en français. Ainsi, il est possible grâce au 10 troisième signal de commande 34 et au quatrième signal de commande 36 de commander un ou plusieurs injecteur(s) 20. Un signal PWM est principalement caractérisé par une fréquence et surtout par une valeur de rapport cyclique. En fonction de l'injecteur 20 à commander, la fréquence ainsi que le rapport cyclique du troisième signal de commande 34_1 et du quatrième signal de commande 36_1 peuvent être 15 modifiés. Durant le reste de la phase d'injection, le troisième signal de commande 34_1 et le quatrième signal de commande 36_1 sont à l'état bas ou à « 0 ». Les valeurs numériques citées ci-dessus sont données à titre purement illustratif et en aucune cas limitent la portée de l'invention. Comme illustré sur la figure 3, le cinquième signal de commande 38_1 20 présente sur une phase d'injection d'une durée D une forme générale de charge et décharge d'un condensateur en réponse au troisième signal de commande 34_1 et au quatrième signal de commande 36_1. Le cinquième signal de commande 38_1 présente une amplitude minimale 38_1_m et une amplitude maximale 38_1_M. La valeur de l'amplitude minimale 38_1_m est par exemple de 27V. Cette valeur minimale correspond 25 à la valeur seuil à partir de laquelle l'injecteur 20 n'est plus considéré comme actif. La valeur de l'amplitude maximale 38_1_M est par exemple de 140V. La valeur de l'amplitude maximale 38_1_M est donnée à titre d'exemple et est de préférence comprise entre 130V et 180V. La valeur de l'amplitude maximale 38_1_M correspond à la valeur à partir de laquelle l'injecteur 20 est activé, c'est-à-dire que du carburant est pulvérisé dans 30 une chambre de combustion correspondante du moteur thermique. Les valeurs de l'amplitude minimale 38_1_m et de l'amplitude maximale 38_1_M sont contrôlées par la troisième durée 34_1_D et la quatrième durée 36_1_D respectivement du troisième signal de commande 34 et du quatrième signal de commande 36. Pour éviter toute défaillance, il est connu de l'homme de l'art de laisser un 35 temps minimum de maintien T_m entre un état haut du troisième signal de commande 34_1 et un état haut du quatrième signal de commande 38_1. Ce temps minimum de maintien T_m peut aussi être parfois appelé dans la description première 3055991 10 temporisation. Par exemple, le temps minimum de maintien T_m présente une valeur minimale de 10gs (1gs = 10-6s). Dans le cas où le temps minimum de maintien T_m est inférieur à 10gs (1gs = 10-6s) un cas de défaillance sur un injecteur 20 est possible pouvant provoquer soit la casse de ce dernier soit la destruction du calculateur 2 de 5 contrôle moteur. Le procédé de la présente invention qui va être décrit ci-dessous permet de détecter une défaillance de commande d'au moins un injecteur 20 afin de protéger à la fois ledit injecteur 20 mais aussi le calculateur 2 de contrôle moteur. La figure 4 représente ledit procédé de détection de défaillance sous la forme 10 d'un algorigramme. Ce procédé de détection de défaillance peut être implémenté soit dans l'unité de calcul et de contrôle 4 soit dans l'unité de commande 6 soit dans le module de surveillance 24. La figure 5 illustre symboliquement la couche logicielle du procédé de l'invention de la figure 4. Bien entendu, la couche logicielle du procédé de l'invention 15 illustrée à la figure 4 peut être ajoutée à des couches logicielles déjà présentes dans l'unité de commande 6. En variante, dans un souci d'amélioration des performances et de la fiabilité du procédé de l'invention, ce dernier peut être implémenté dans un composant programmable de type ASIC. Ledit composant programme de type ASIC pouvant être soit l'unité de commande 6 soit l'unité de contrôle 4. Il peut aussi être envisagé d'implémenter 20 le procédé de l'invention dans un composant dédié. Ce composant dédié peut être soit ajouté à la structure interne du calculateur 2 de contrôle moteur (dans son boitier) soit de manière externe, comme par exemple avec un module déporté couplé au calculateur 2 de contrôle moteur via un bus de communication. Le procédé de l'invention consiste en l'ajout d'une fenêtre de mesure 50. 25 Cette fenêtre de mesure 50 permet la mesure de l'état des signaux délivrés par l'unité de commande 6 et par le module de puissance 8. Ainsi comme représenté sur la figure 5, les signaux surveillés par le procédé de présente invention sont le troisième signal de commande 34_1, le quatrième signal de commande 36_1 et le cinquième signal de commande 38_1. Bien entendu pour faciliter la communication avec l'unité de calcul et de 30 contrôle 4, le procédé de l'invention traite des informations provenant du bus de communication 12. En outre, le procédé de l'invention (et sa couche logicielle) est aussi adapté pour générer des informations via ledit bus de communication 12. Afin de protéger le calculateur 2 de contrôle moteur, le procédé de détection de défaillance ici présenté est adapté pour émettre un sixième signal de commande 60_1, 35 un septième signal de commande 60_2 et un huitième signal de commande 60_3. Ces trois signaux de commande sont dans un exemple de réalisation intégrés au bus de 3055991 11 communication 12 et permettent une communication avec l'unité de calcul et de contrôle 4 pour la surveillance de défaillance. Dans la suite de la description va être présenté des étapes du procédé de détection de défaillance selon la présente invention et tel qu'il est représenté à la figure 4. 5 Afin de simplifier l'explication du procédé et comme expliqué plus haut dans la description un injecteur 20 sera considéré comme une capacité et donc nous parlerons ici de charge ou de décharge à la place d'activation ou de désactivation de l'injecteur 20. En outre, afin de simplifier la description du procédé, ce dernier sera présenté dans le cas d'une seule phase d'injection tel que représenté sur la figure 3. 10 Le procédé de la présente invention débute par une première étape 70_1 de lancement. Cette première étape 70_1 peut être par exemple activée lors du placement de la clef de contact dans le neiman du véhicule automobile. Après la première étape 70_1 de lancement, une deuxième étape 70_2 d'initialisation est réalisée. Durant cette deuxième étape 70_2 d'initialisation plusieurs 15 variables sont remises à zéro. Dans l'exemple ici décrit, huit variables sont utilisées et se nomment FLAG, 3,T1, 312, 313, 314, Seuil_m in, Seuil_max et défaut. Bien entendu, le nombre de variables est dépendant du type de calculateur 2 de contrôle moteur et/ou du type de moteur et de son injection. Avantageusement, le nombre de variable peut être modifié. 20 Une troisième étape 70_3 de surveillance d'ordre de charge ou de décharge est ensuite réalisée. Lorsqu'un ordre de charge ou de décharge est détecté alors une quatrième étape 70_4 d'activation de mesure est lancée. Pour mémoire, nous nous placerons ici dans le cas où une phase d'injection comporte un ordre de charge et un ordre de décharge (de l'injecteur 20). Cette quatrième étape 70_4 d'activation de mesure 25 consiste à mesurer durant la phase d'injection : - la première durée 30_1_D du premier signal de commande 30_1, - la deuxième durée 32_1_D du deuxième signal de commande 32_1, - le temps minimum de maintien T_m, - une durée T_cd entre un ordre de charge et un ordre de décharge. 30 II est aussi mesuré durant la quatrième étape 70_4 d'activation de mesure l'amplitude minimale 38_1_m et l'amplitude maximale 38_1_M du cinquième signal de commande 38_1. La quatrième étape 70_4 est active durant une phase d'injection complète, c'est-à-dire tant que la phase d'injection n'est pas terminée ce qui est représenté par une 35 cinquième étape 70_5 d'attente de la fin de la phase d'injection. 3055991 12 Lors de la fin de la phase d'injection correspondant à l'étape 70_5 le procédé comporte une sixième étape 70_6 d'enregistrement des valeurs des variables comme suit : - enregistrement de la valeur de la première durée 30_1_D du premier 5 signal de commande 30_1 dans la variable 3,T1, - enregistrement de la valeur de la deuxième durée 32_1_D du deuxième signal de commande 32_1 dans la variable 313, - enregistrement de la valeur du temps minimum de maintien T_m dans la variable 312, 10 - enregistrement de la valeur de la durée T_cd correspondant au temps entre un ordre de charge et un ordre de décharge dans la variable 314, - enregistrement de la valeur de l'amplitude minimale 38_1_m dans la variable Seuil_min, et - enregistrement de la valeur de l'amplitude maximale 38_1_M dans la 15 variable Seuil_max. Comme mentionné plus haut, un cycle d'injection peut comporter plusieurs phases d'injection. Ainsi le procédé de l'invention comporte une septième étape 70_7 de détection de fin d'un cycle d'injection. Dans le cas d'un cycle d'injection avec par exemple cinq phases d'injection, le 20 procédé de l'invention effectue cinq mesures et cinq enregistrements des variables présentées dans l'étape précédente. Bien entendu, l'homme de l'art comprendra aisément que dans ce cas les données seront stockées indépendamment dans des mémoires prévues à cet effet. En variante, le procédé peut comporter à la fin d'un cycle d'injection, une étape qui consiste en une opération mathématique pour effectuer une moyenne des 25 cinq valeurs de chaque variable (non représenté sur l'algorigramme). Une huitième étape 70_8 d'analyse des paramètres est ensuite effectuée. Cette huitième étape 70_8 consiste en une comparaison des valeurs des variables 3,T1, 312, 313, 314, Seuil_min et Seuil_max à des valeurs références au préalable enregistrées par exemple dans une mémoire flash du calculateur 2 de contrôle moteur. 30 Les valeurs références sont par exemple enregistrées lors de la programmation en usine du calculateur 2 de contrôle moteur en fonction du type d'injection à contrôler. Ces valeurs sont nommées : 3,T1_ref, 3,T2_ref, 3,T3_ref, 3,T4_ref, Seuil_min_ref, Seuil_max_ref. Les valeurs des variables 3,T1, 312, 313, 3,T4, Seuil_min et Seuil_max sont 35 alors comparées aux valeurs 3,T1_ref, 3,T2_ref, 3,T3_ref, 3,T4_ref, Seuil_min_ref, Seuil_max_ref. En fonction des résultats de chaque comparaison et de conditions préétablies qui seront présentées dans la suite de la description, le procédé de l'invention 3055991 13 réalisera différentes actions. Le procédé prévoit que si aucun cas de défaillance n'est détecté alors la variable défaut reste à « 0 » et dans le cas où, au moins une des conditions n'est pas respectée alors la variable défaut est positionnée à « 1 ». Ensuite, une neuvième étape 70_9 de test de la variable défaut est réalisée. 5 Dans le cas où la variable défaut est à « 0 » alors cela a pour signification, selon le procédé de l'invention, qu'aucun défaillance n'a été détectée lors d'un cycle d'injection. Dans ce cas, le procédé de détection de défaillance se positionne à nouveau à la troisième étape 70_3 et les étapes précédemment décrites sont à nouveau exécutées. Dans le cas où, la variable défaut est à « 1 » alors cela a pour signification 10 qu'une potentielle défaillance a été détectée durant le précédent cycle d'injection et l'étape ci-dessous est réalisée. Avantageusement, lorsqu'une possible défaillance est détectée, il est important de savoir si cette défaillance est risquée pour le calculateur 2 de contrôle moteur et aussi pour l'injecteur 20. De façon originale le procédé de l'invention prévoit, en 15 fonction des résultats des comparaisons effectuées à la huitième étape 70_8, des cas qui sont considérés comme destructifs pour le calculateur 2 de contrôle moteur et des cas qui sont considérés moins risqués pour le calculateur 2 de contrôle moteur mais qui, selon le procédé de l'invention, nécessitent une action sur au moins un module du calculateur 2 de contrôle moteur. Le tableau 1 ci-dessous mentionne lesdits cas. CiT1 PT2 1111-3 872 Description du oh ruche Cas de dysfonctionnement T OFF entre la - CMD_DiSC T OFF entre 2 - CMD_CEIRG charge et injections décharge OK OK NUK OK OK ou N[: 'Destr.:ction oe i ,,to,, c _,jection AT2 220(es ou en permanence "Calage véhicule / Non-redémarrage possible 4 NOK OK ou NOK NOK OK ou NOK *Cas non destructif pour l'ECU *Calage véhicule *Redémarrage possible 6T2 > 220(es ou en permanence Non actif (Pas de décharge) 5 NOK OK ou NOK NOK Actif en OK ou NOK "Destruction potentielle de l'étage d'injection *Calage véhir .'e / tion-reJle'ioarrage possible ou redémarrage suiva --. -.: .vol:e de pilotage 6T2 > 220us ou en permanence permanence 6 NOK OK ou NOK NOK Actif en OK ou NOK *Cas non destructif pour l'ECU "Calage véhicule *Redémarrage possible Non actif (Pas permanence de charge) 7 OK OK ou NOK NOK OK ou NOK *Cas non destructif pour l'ECU *Calage véhicule "Redémarrage possible 6T3 > 220(es ou en permanence NOK OK ou NOK OK OK ou NOK *Destruction potentielle de l'étage d iection Problème > *Calage véhicule / Non-redéma.. age t,- -,-, -- - ou redémarrage suivant le mode de c ,ge seuil max 20 Tableau 1 : cas possibles de défaillance. Huit cas sont répertoriés comme étant à risque pour le calculateur 2 de contrôle moteur. Parmi ces huit cas, le cas n°1, le cas n°2 et le cs n°3 sont considérés par le procédé de l'invention comme destructifs pour le calculateur 2 de contrôle moteur. 3055991 14 Le cas n°4, le cas n° 6 et le cas n°7 sont eux conislérés par le procédé de l'invention comme étant non destructifs pour le calculateur 2 de contrôle moteur mais nécessitant cependant une action sur au moins un module dudit calculateur 2 de contrôle moteur. 5 Enfin le cas n°5 et le cas n°8 sont eux considéréscomme potentiellement destructifs pour le calculateur 2 de contrôle moteur et nécessite donc une action sur au moins un module du calculateur 2 de contrôle moteur. Pour déterminer le cas de figure présent, le procédé comporte une dixième étape 70_10 d'identification du type de défaillance. Ainsi, trois possibilités sont 10 envisagées : - défaillance de type « destruction », - défaillance de type « destruction potentielle » nécessitant une action sur le calculateur 2 de contrôle moteur, et - défaillance de type « non destructif » mais nécessitant une action sur le 15 calculateur 2 de contrôle moteur. Les cas 1, à 3 correspondent d'après le procédé de l'invention à des cas de destruction du calculateur 2 de contrôle moteur. Plus précisément, ces trois cas correspondent à une destruction possible du module de puissance 8 si aucune action n'est réalisée. 20 Afin d'éviter cette destruction, le procédé de l'invention propose avantageusement une onzième étape 71_1 de remise à zéro complète du calculateur 2 de contrôle moteur, c'est-à-dire une remise à zéro de la couche logicielle et de la couche matérielle. Ainsi, le calculateur 2 de contrôle moteur est relancé et un nouveau cycle d'injection peut débuter. Cette onzième étape 71_1 nécessite que quelques millisecondes 25 et est imperceptible pour le conducteur. Grâce au procédé de l'invention, aucun calage moteur n'est réalisé lors de cette étape du procédé de l'invention. En variante, le procédé prévoit une douzième étape 71_2 de remise à zéro supplémentaire de la variante FLAG. Dans une autre variante, non représentée sur l'algorigramme, il peut être 30 aussi prévu d'afficher sur un tableau de bord du véhicule une information d'alerte après un nombre déterminé de onzième étapes 71_1. Dans le cas où, la défaillance détectée par le procédé n'est pas celle des cas destructeur, c'est-à-dire des cas 1 à 3 alors une treizième étape 72_1 d'identification de défaillance est réalisée. 35 Cette treizième étape 72_1 permet d'identifier si nous sommes en présence d'une défaillance de type « destruction potentielle » c'est-à-dire en référence au tableau 1 les cas n°5 et n°8, ou d'une défaillance du type «non destructif » c'est-à-dire en référence 3055991 15 au tableau 1 les cas n°4, n°6 et n°7. Pour ce fairê la treizième étape 72_1 teste la variable FLAG. Dans le cas où, une défaillance de type « non destructif » est identifiée ce qui correspond au cas où la variable FLAG est à « 0 » alors une quatorzième étape 72_2 de 5 remise à zéro hardware est réalisée. Cette quatorzième étape 72_2 consiste en une remise à zéro du l'unité de commande 6. Une fois la remise à zéro hardware effectuée le procédé prévoit une quinzième étape 72_3 qui incrémente la variable FLAG de « 1 ». Une fois cette quinzième 10 étape 72_3 effectuée le procédé prévoit de revenir à la troisième étape 70_3. Dans le cas où, la variable FLAG présente une valeur différente de « 0 » une seizième étape 73_1 de test de la variable FLAG est réalisée. La seizième étape 73_1 du procédé consiste à savoir si la variable FLAG présente une valeur égale à « 1 ». 15 Dans le cas où la variable FLAG est égale à « 1 » alors, une dix-septième étape 73_2 est effectuée et consiste en une remise à zéro software du l'unité de commande 6. Ensuite le procédé prévoit une dix-huitième étape 73_3 dans laquelle la variable FLAG est incrémentée de « 1 ». 20 Dans le cas où la variable FLAG est supérieure à « 1 » alors une dix- neuvième étape 74_1 consistant en une remise à zéro complète du calculateur 2 de contrôle moteur est effectuée. Ainsi, la partie hardware et la partie software du calculateur 2 de contrôle moteur est effectuée. La variable FLAG est ensuite dans une vingtième étape 74_2 remise à zéro. 25 Comme illustré sur l'algorigramme de la figure 4 après les étapes 73_3 et 74_2 le procédé est relancé à la troisième étape 70_3. Grâce au procédé de l'invention, il est maintenant possible de détecter des cas de défaillance en surveillant grâce à une fenêtre temporelle de mesure des signaux de commande des injecteurs et détecter des cas possible de défaillance. Grâce à 30 l'invention, le risque de destruction du calculateur de contrôle moteur est diminué améliorant ainsi la qualité de conduite du véhicule et aussi améliorant la sureté dudit véhicule. En effet, lorsqu'un calculateur de contrôle moteur est détruit le moteur se stoppe et le véhicule s'arrête ce qui, dans certains cas, peut être dangereux. Avantageusement, un tel procédé sera facilement intégré et intégrable dans des couches logicielles déjà 35 existantes d'un calculateur de contrôle moteur. De plus, un tel procédé n'occupera que très peu d'espace mémoire supplémentaire engendrant ainsi un surcoût très faible. 3055991 16 Bien entendu, la présente invention ne se limite pas au mode de réalisation préféré décrit ci-dessus et illustré sur le dessin et aux variantes de réalisation évoquées mais s'étend à toutes les variantes à la portée de l'homme du métier. REVENDICATIONS1. Procédé de détection de défaillances d'un calculateur (2) de contrôle moteur ; le calculateur (2) de contrôle moteur comprenant au moins : - une couche matérielle avec une unité de calcul et de contrôle (4), une unité de commande (6), un module de puissance (8) adapté pour commander au moins une charge (20), - une couche logicielle exécutée au moins partiellement par l'unité de calcul et de contrôle (4) et comportant n étapes de lancement d'au moins un cycle d'activation de la charge (20), un cycle d'activation de la charge (20) comprenant m phase(s) d'activation de ladite charge (20), une phase d'activation de la charge (20) comportant des étapes suivantes : ^ actionnement de la charge (20) à l'aide d'un premier signal de commande (30_1) présentant une première durée (30_1_D), ^ première temporisation d'un premier temps minimum de maintien (T_m), ^ désactivation de la charge (20) à l'aide d'un deuxième signal de commande (32_1) présentant une deuxième durée (32_1_D), ^ deuxième temporisation d'un deuxième temps minimum de maintien (T_m), caractérisé en ce que le procédé de détection de défaillances comporte une fenêtre 20 temporelle de mesure présentant une durée égale à la durée d'une phase d'activation de la charge et pendant laquelle les étapes suivantes sont réalisées : a) initialisation des variables de mesures AT1, AT2, AT3, AT4, Seuil_min, Seuil_max et défaut, b) détection d'un actionnement de la charge (20), 25 c) mesure durant la phase d'activation de la charge de : o la première durée (30_1_D) du premier signal de commande (30_1), o la deuxième durée (32_1_D) du deuxième signal de commande (32_1), o la première temporisation du premier temps minimum de 30 maintien (T_m), o de la deuxième temporisation du deuxième temps minimum de maintien (T_m), 3055991 18 o une amplitude minimale (38_1_m) et une amplitude maximale (38_1_M) d'un cinquième signal de commande (38_1), d) enregistrement de valeurs des mesures effectuées à l'étape c) : o enregistrement de la valeur de la première durée (30_1_D) du 5 premier signal de commande (30_1) dans la variable AT1, o enregistrement de la valeur de la deuxième durée (32_1_D) du deuxième signal de commande (32_1) dans la variable AT3, o enregistrement de la valeur de la première temporisation du premier temps minimum de maintien (T_m) dans la variable AT2, 10 o enregistrement de la valeur de la deuxième temporisation du deuxième temps minimum de maintien (T_cd) dans la variable AT4, o enregistrement de la valeur de l'amplitude minimale (38_1_m) dans la variable Seuil_min, et o enregistrement de la valeur de l'amplitude maximale (38_1_M) dans 15 la variable Seuil_max. e) comparaison des valeurs des variables AT1, AT2, AT3, AT4, Seuil_min, Seuil_max stockées à l'étape d) à des valeurs références AT1_ref, AT2_ref, AT3_ref, AT4_ref, Seuil_min_ref, Seuil_max_ref, f) action de réinitialisation du calculateur (2) de contrôle moteur si au moins une des conditions est valide : o AT1 > AT1_ref, o AT2 AT3_ref, o AT4 2. Procédé de détection de défaillances d'un calculateur (2) de contrôle selon la revendication 1, comprenant en outre à l'étape f) une étape complémentaire suivante : g) action de réinitialisation de la couche logicielle et de la couche matérielle du calculateur (2) de contrôle moteur dans le cas où la variable défaut = 0 et qu'au moins une des conditions ci-dessous est valide : o AT1 > AT1_ref, o AT2 3. Procédé de détection de défaillances d'un calculateur (2) de contrôle selon la revendication 1, comprenant en outre à l'étape f) une étape complémentaire suivante : h) action de réinitialisation de l'unité de commande (6) concernant dans le cas où la variable défaut = 0 et qu'au moins une des conditions ci-dessous est valide : 3055991 19 o AT1 > AT1_ref, o AT3 > AT3_ref. 4. Procédé de détection de défaillances d'un calculateur (2) de contrôle selon la revendication 1, comprenant en outre à l'étape f) une étape complémentaire suivante : 5 i) action de réinitialisation de la couche logicielle du calculateur (2) de contrôle moteur dans le cas où la variable défaut = 1 et qu'au moins une des conditions ci-dessous est valide : o AT1 > AT1_ref, o AT3 > AT3ref. 10 5. Procédé de détection de défaillances d'un calculateur (2) de contrôle selon la revendication 1, comprenant en outre à l'étape f) : j) action de réinitialisation de la couche logicielle et de la couche matérielle du calculateur (2) de contrôle moteur dans le cas ou la variable défaut > 1. 6. Procédé de détection de défaillances d'un calculateur (2) de contrôle selon 15 l'une quelconque des revendications 1 à 5, caractérisé en ce que les étapes réalisées dans la fenêtre temporelle de mesure sont répétées un nombre e de fois ; le nombre e de fois correspondant au nombre n d'étapes de lancement d'au moins un cycle d'activation de la charge (20). 7. Procédé de détection de défaillances d'un calculateur (2) de contrôle selon 20 l'une quelconque des revendications 1 à 6, caractérisé en ce que les valeurs références respective AT1_ref, AT3_ref sont identiques. 8. Procédé de détection de défaillances d'un calculateur (2) de contrôle selon l'une quelconque des revendications 1 à 7, caractérisé en ce que la charge (20) est un injecteur. 25 9. Procédé de détection de défaillances d'un calculateur (2) de contrôle selon la revendication 8, caractérisé en ce que l'injecteur est un injecteur pour moteur diesel.