Brevet FR2767591A1 — publié le 19990226

L'invention concerne un procédé de surveillance d'un procédé de détermination, selon lequel deux valeurs de sortie sont calculées à partir d'une valeur d'entrée au moyen d'une première méthode de calcul et au moyen d'une seconde méthode de calcul. Les deux valeurs de sortie sont comparées l'une à l'autre et un fonctionnement correct de l'unité de calcul est constaté lorsque les deux valeurs de sortie sont dans un rapport préfixé de l'une à l'autre. Des procédés de détermination critiques en ce qui concerne la sécurité qui sont exécutés par une unité de calcul exigent un contrôle fiable du fonctionnement correct. Par "Les micro-ordinateurs dans la technique de sécurité", H. Hôlscher, TTV-Arbeitsgemeinschaft Rechnersicherheit, TUV-Rheinland 1984, ISBN 3-88585-180- 6, il est connu d'exécuter des calculs critiques en ce qui concerne la sécurité en parallèle au moyen de deux méthodes de calcul différentes, deux valeurs de sortie étant calculées à partir d'une valeur d'entrée au moyen de deux méthodes de calcul différentes. Les deux valeurs de sortie sont comparées l'une à l'autre et un fonctionnement correct de l'unité de calcul est constaté lorsque les deux valeurs de sortie sont dans un rapport préfixé. Les deux méthodes de calcul sont mises en oeuvre au moyen de logiciels différents et/ou au moyen de matériels informatiques différents. Le procédé connu présente, notamment dans le cas d'une seconde méthode de calcul qui est conçue moins précise que la première méthode de calcul, l'inconvénient que les résultats de la seconde méthode de calcul présentent une dispersion relativement large dans le cas de calculs assez longs et qu'ainsi, une comparaison avec les résultats de la première méthode de calcul n'est possible qu'avec une fenêtre de tolérance relativement large. Ainsi, la constatation concernant la question de savoir si la première méthode de calcul est exécutée correctement est relativement imprécise. L'invention a pour but de fournir un procédé au moyen duquel la comparaison entre deux méthodes de calcul puisse être effectuée avec un intervalle de tolérances relativement étroit, même dans le cas de calculs assez longs. Une constatation précise concernant le fonctionnement correct de la première méthode de calcul est ainsi possible. A cet effet, l'invention a pour objet un procédé de surveillance d'un procédé de détermination, du type indiqué ci-dessus, caractérisé en ce qu'un résultat intermédiaire est déterminé à partir d'une valeur d'entrée et une valeur de sortie, notamment un signal de commande, est déterminé à partir du résultat intermédiaire, et en ce qu'un premier et un second résultats intermédiaires sont déterminés à partir d'une valeur d'entrée respectivement suivant une première et une seconde méthodes de calcul, la première méthode de calcul est plus précise que la seconde méthode de calcul, le premier résultat intermédiaire est utilisé comme nouvelle valeur d'entrée pour le calcul des valeurs de sortie, suivant la première et la seconde méthodes de calcul, lorsque le premier et le second résultats intermédiaires sont dans un rapport préfixé. Un avantage essentiel de l'invention réside dans le fait qu'une première méthode de calcul peut être contrôlée au moyen d'une seconde méthode de calcul moins précise et que, néanmoins, l'écart des résultats de la première et de la seconde méthodes de calcul est maintenu dans une fenêtre de tolérances relativement étroite. Un contrôle précis de la première méthode de calcul est ainsi possible. Le procédé de surveillance d'un procédé de détermination, conforme à l'invention, peut aussi présenter une ou plusieurs des particularités suivantes: - la première et la seconde méthodes de calcul diffèrent par le procédé de calcul utilisé et/ou le logiciel utilisé et/ou le matériel informatique utilisé, - les résultats intermédiaires et/ou les valeurs de sortie sont comparés l'un à l'autre et un fonctionnement défectueux est constaté lorsque les résultats intermédiaires ou les valeurs de sortie ne sont pas dans un rapport préfixé, - pour la première méthode de calcul, il est utilisé une unité de calcul possédant une précision de calcul plus élevée que pour la seconde méthode de calcul, - la première et la seconde méthodes de calcul utilisent, pour la détermination d'un résultat intermédiaire, respectivement une première et une seconde tables caractéristiques et la première table caractéristique présente une résolution plus élevée que la seconde table caractéristique, - la première table caractéristique présente un plus grand nombre de positions d'appui que la seconde table caractéristique et/ou il est procédé à une interpolation entre les positions d'appui dans la première table caractéristique et une fonction par paliers est rangée en mémoire dans la seconde table caractéristique, un palier étant prévu pour chaque position d'appui, - un premier convertisseur analogique- numérique est utilisé dans la première méthode de calcul et un second convertisseur analogique-numérique, dans la seconde méthode de calcul et le premier convertisseur analogique-numérique possède une plus grande précision que le second convertisseur analogique-numérique, - la première méthode de calcul est mise en oeuvre par une première unité de calcul et la seconde méthode de calcul, par une seconde unité de calcul et la première unité de calcul possède une résolution dans le temps plus élevée que la seconde unité de calcul, de sorte que la première unité de calcul actualise des valeurs d'entrée ou des valeurs de sortie à des intervalles de temps plus courts. L'invention est exposée ci-après en détail en regard de la figure qui représente un schéma-bloc correspondant à une commande de puissance électrique (papillon des gaz E). La figure représente un appareil de commande (ECU) 1 comprenant un microprocesseur 2 (MC1) est en second microprocesseur 3 (MC2). L'appareil de commande 1 détermine le souhait du conducteur et commande en conséquence la puissance d'un moteur à combustion interne 10. Le souhait du conducteur est fourni par celui-ci au moyen d'une position appropriée d'une pédale d'accélérateur 4. La position de cette pédale d'accélérateur 4 est relevée par un premier capteur de valeur de pédale 5 et, indépendamment de celui-ci, par un second capteur de valeur de pédale 6. Le premier capteur de valeur de pédale 5 fournit la première position de pédale à un premier convertisseur analogique-numérique (ADC) 7. Ce premier convertisseur analogique-numérique 7 détermine, à partir du premier signal de valeur de pédale, un premier signal numérique D1. Le second capteur de valeur de pédale 6 fournit la position de la pédale d'accélérateur 4 à un second convertisseur analogique-numérique 8 sous la forme d'un second signal de pédale. Le second convertisseur analogique-numérique 8 convertit le second signal de pédale en un second signal numérique D2. Le premier convertisseur analogique-numérique 7 est disposé dans le premier microprocesseur 2 et le second convertisseur analogique- numérique 8, dans le second microprocesseur 3. Le second convertisseur 8 possède une précision plus faible que le premier convertisseur 7, ce qui signifie que le second convertisseur 8 possède une résolution, suivant laquelle le second signal analogique de pédale entrant est converti en un second signal numérique sortant, qui est plus faible. Le premier et le second microprocesseurs 2, 3 comparent les premier et second signaux numériques dans un premier comparateur 30. A cet effet, les sorties du premier et du second convertisseurs 7, 8 sont envoyées au premier comparateur 30. Si la comparaison a pour résultat que le second signal numérique s'écarte du premier signal numérique de moins qu'une valeur préfixée, de préférence de moins de %, un fonctionnement correct du premier microprocesseur 2 est constaté. Le premier signal numérique Dl est ensuite utilisé par le premier microprocesseur 2 pour lire, dans une première table caractéristique 9, un premier couple de consigne du moteur à combustion interne 10. En outre, le premier signal numérique D1 est envoyé, par une sortie du premier comparateur 30, au second microprocesseur 3, afin de mettre en plus en oeuvre la seconde méthode de calcul. Le second microprocesseur 3 utilise le premier signal numérique D1 comme valeur d'entrée pour lire, dans une seconde table caractéristique 11, un second couple de consigne du moteur à combustion interne. La seconde table caractéristique 11 possède une plus faible résolution que la première table caractéristique 9. De préférence, cette seconde table caractéristique 11 comporte moins de positions d'appui que la première table caractéristique 9. Ainsi, le second couple de consigne est moins précis que le premier couple de consigne. Le premier et le second microprocesseurs 2, 3 comparent le premier et le second couples de consigne dans un second comparateur 31. Si la comparaison a pour résultat que le second couple de consigne s'écarte du premier couple de consigne de moins qu'une valeur pouvant être préfixée, de préférence moins de 10%, un fonctionnement correct du premier microprocesseur 2 est constaté. Le premier couple de consigne est utilisé pour la suite du calcul à la fois dans le premier et le deuxième microprocesseurs 2, 3. Le premier microprocesseur 2 applique le premier couple de consigne sur un bloc de décision minimal/maximal (Min/Max) 12. A la place du second couple de consigne, le second microprocesseur 3 prélève la valeur du premier couple de consigne et applique celle-ci sur un second bloc de décision 13. Le premier bloc de décision 12 est relié à une régulation de vitesse automatique (ASC) 141, à une régulation de distance (CC) 15 et à une régulation de ralenti (ISC) 161. Sur la base des données provenant de cette régulation de vitesse 141, de cette régulation de distance 15, de cette régulation de ralenti 161 et du premier couple de consigne, le premier bloc de décision 12 détermine un premier couple souhaité et transmet celui-ci à un premier bloc de calcul 14. Le second bloc de décision 13 est également relié à une régulation de distance (CC) 15, une régulation de vitesse automatique (ASC) 141 et une régulation de ralenti (ISC) 161. A partir des données provenant de cette régulation de vitesse automatique 141, de cette régulation de distance 15 et de cette régulation de ralenti 161, le second bloc de décision 13 détermine un second couple souhaité. De préférence, les données qui sont envoyées au second bloc de décision 13 par la régulation de distance 15, la régulation de vitesse automatique 141 et la régulation de ralenti 161 sont moins précises que les données qui sont envoyées au premier bloc de décision 12 par la régulation de distance 15, la régulation de vitesse automatique 141 et la régulation de ralenti 161. -7 A partir des données qui lui sont envoyées, le second bloc de décision 13 calcule, avec une plus faible précision, le second couple souhaité. Cela est par exemple réalisé par le fait que le premier microprocesseur 2 est un calculateur à 16 bits et le second microprocesseur 3 un calculateur à 8 bits et que, par conséquent, le premier bloc de décision 12 fonctionne d'une manière plus précise de le second bloc de décision 13. Le premier et le second microprocesseurs 2, 3 comparent, dans un troisième comparateur 32, le premier et le second couples souhaités. Si la comparaison a pour résultat que ce premier et ce second couples souhaités diffèrent de moins qu'une valeur préfixée, de préférence 10%, un fonctionnement correct du premier microprocesseur 2 est alors constaté. Le premier microprocesseur 2 détermine, dans le bloc de calcul 14 et à partir du premier couple souhaité, les données de commande que sont la durée d'injection TI, la position de papillon des gaz TPS et l'angle d'allumage IGA, conformément à un procédé connu de calcul comportant des formules et/ou tables caractéristiques appropriées. La positions de papillon des gaz TPS est envoyée à un bloc de réglage de position 16. Ce bloc de réglage de position 16 détermine, à partir de la position présente du papillon des gaz et de la valeur de consigne de papillon des gaz TPS, un signal de commande qui est appliqué à un étage de sortie (DRI) 17. Cet étage de sortie 17 est relié à un moteur (Mot) 18 qui déplace le papillon des gaz 19 dans le conduit d'admission du moteur à combustion interne 10 conformément à la commande fournie par l'étage de sortie 17. La position du papillon des gaz 19 est relevée par un premier capteur de position 20 et, indépendamment de celui-ci, par un second capteur de position 21. Ces premier et second capteurs de position 20, 21 sont reliés à un troisième convertisseur analogique-numérique (ADC) 22. Ce troisième convertisseur analogique- numérique 22 convertit les premiers et seconds signaux de position des premier et second capteurs de position 20, 21 en un premier et un second signaux analogiques et applique les deux signaux analogiques au bloc de réglage de position 16. Le second capteur de position 21 est en outre relié à un quatrième convertisseur analogique-numérique (ADC) 23. Ce quatrième convertisseur analogique- numérique est en outre raccordé à un débitmètre 24, mesurant un débit massique d'air, qui est disposé dans le conduit d'admission entre le papillon des gaz 19 et le moteur à combustion interne 10. Le quatrième convertisseur analogique-numérique 23 convertit le second signal de position et le signal de débit massique d'air en des signaux numériques correspondants qui, avec l'angle d'allumage IGA, sont utilisés dans un bloc de calcul 25 pour calculer le couple réglé effectif. Ce couple effectif calculé dans le bloc de calcul est comparé, dans le comparateur 33, au premier couple souhaité. Si la comparaison effectuée dans le comparateur 33 a pour résultat que le couple présent effectif s'écarte du premier couple souhaité du premier bloc de décision 12, de moins qu'une valeur préfixée, de préférence 10%, un fonctionnement correct de la première chaîne de procédé, qui contient le premier microprocesseur 2 et la commande du papillon des gaz 19, est constaté. Si la comparaison a pour résultat un écart plus grand, un fonctionnement défectueux est constaté et une réaction de sécurité est de préférence lancée, celle-ci consistant à limiter le couple du moteur 10 ou à placer ce moteur 10 en régime de ralenti. Dans le cas de la figure, un couple souhaité pour le moteur 10 est déterminé au moyen de deux méthodes de calcul de précisions différentes qui sont mises en oeuvre par les deux microprocesseurs 2, 3. La détermination du couple souhaité est divisée en plusieurs sections de calcul. Suivant chaque section de calcul, une comparaison est effectuée entre les résultats de la première et de la seconde méthodes de calcul. Si la comparaison a pour résultat que les valeurs calculées de la première et de la seconde méthodes de calcul diffèrent de moins qu'une valeur préfixée, la valeur de la première méthode de calcul est alors utilisée comme nouvelle valeur d'entrée pour la suite du calcul dans la seconde méthode de calcul. On obtient ainsi que, même sur plusieurs étapes de calcul et malgré la plus faible précision de la seconde méthode de calcul, les résultats, notamment les résultats intermédiaires de la seconde méthode de calcul, ne présentent qu'un faible écart par rapport aux résultats correspondants de la première méthode de calcul, plus précise. Ainsi, la comparaison entre les résultats de la première et de la seconde méthodes de calcul peut être effectuée avec une faible fenêtre de tolérances, de par exemple 10%. Cette fenêtre de tolérances reste constante sur tout le déroulement du calcul. Un contrôle précis des résultats de la première méthode de calcul est ainsi possible. Si, lors d'une comparaison, les valeurs de la première et de la seconde méthodes de calcul diffèrent l'une de l'autre de plus qu'une valeur préfixée, un fonctionnement défectueux est constaté et une réaction de sécurité est de préférence déclenchée. De préférence, la première et la seconde méthodes de calcul diffèrent par les particularités qui suivent: La première et la seconde méthodes de calcul utilisent respectivement une première et une seconde tables caractéristiques pour la détermination d'un résultat intermédiaire. La première table caractéristique présente une résolution plus élevée que la seconde table caractéristique. De préférence, la première table caractéristique comporte un plus grand nombre de positions d'appui que la seconde table caractéristique ou bien il est procédé, dans la première table caractéristique, à une interpolation entre les positions d'appui et une fonction par paliers est déposée dans la seconde table caractéristique, un palier étant prévu pour chaque position d'appui. La première méthode de calcul est mise en oeuvre par le premier microprocesseur 2 et la seconde méthode de calcul par le second microprocesseur 3, le premier microprocesseur 2 présentant une résolution dans le temps plus grande que le second microprocesseur 3, de sorte que le premier microprocesseur 2 actualise les valeurs d'entrée et/ou les valeurs de sortie à des intervalles de temps plus courts que le second microprocesseur. C'est ainsi par exemple que les valeurs d'entrée sont relevées à des intervalles de temps plus courts ou que la conversion analogique-numérique est exécutée à des intervalles de temps plus courts. De même, les résultats intermédiaires et les valeurs de sortie sont recalculés à des intervalles de temps plus courts. On obtient ainsi un calcul plus précis et plus actualisé dans le temps. Le procédé conforme à l'invention a été représenté, dans le cas de la figure, pour l'exemple d'une commande électronique de puissance d'un véhicule automobile. Toutefois, ce procédé est utilisable d'une manière convenable pour d'autres procédés dans lesquels une première méthode de calcul est contrôlée au moyen d'une seconde méthode de calcul. L'exemple décrit utilise une structure de processeur à deux canaux. Toutefois, l'invention est utilisable aussi sur un processeur qui met lui-même en oeuvre les deux méthodes de calcul. Dans l'exemple décrit, les résultats de la première et de la seconde méthode de calcul sont comparés directement l'un à l'autre. En principe, la fonction de l'opération de comparaison est d'effectuer un examen de plausibilité entre les résultats de la première et de la seconde méthodes de calcul. A cet effet, il est possible de déposer en mémoire des fonctions choisies ou réactions choisies entre les résultats de la première et de la seconde méthodes de calcul et de les utiliser lors d'une comparaison. REVEND I CATIONS 1. Procédé de surveillance d'un procédé de détermination, caractérisé en ce qu'un résultat intermédiaire est déterminé à partir d'une valeur d'entrée et une valeur de sortie, notamment un signal de commande, est déterminé à partir du résultat intermédiaire, et en ce qu'un premier et un second résultats intermédiaires sont déterminés à partir d'une valeur d'entrée respectivement suivant une première et une seconde méthodes de calcul (2, 3), la première méthode de calcul (2) est plus précise que la seconde méthode de calcul (3), et le premier résultat intermédiaire est utilisé comme nouvelle valeur d'entrée pour le calcul des valeurs de sortie, suivant la première et la seconde méthodes de calcul (2, 3), lorsque le premier et le second résultats intermédiaires sont dans un rapport préfixé (31, 32, 33). 2. Procédé suivant la revendication 1, caractérisé en ce que la première et la seconde méthodes de calcul diffèrent par le procédé de calcul utilisé et/ou le logiciel utilisé et/ou le matériel informatique utilisé. 3. Procédé suivant la revendication 1, caractérisé en ce que les résultats intermédiaires et/ou les valeurs de sortie sont comparés (31, 32, 33) l'un à l'autre et un fonctionnement défectueux est constaté lorsque les résultats intermédiaires ou les valeurs de sortie ne sont pas dans un rapport préfixé. 4. Procédé suivant la revendication 2, caractérisé en ce que, pour la première méthode de calcul (2), il est utilisé une unité de calcul (2) possédant une précision de calcul plus élevée que pour la seconde méthode de calcul (3). 5. Procédé suivant la revendication 1, caractérisé en ce que la première et la seconde méthodes de calcul (2, 3) utilisent, pour la détermination d'un résultat intermédiaire, respectivement une première et une seconde tables caractéristiques (9, 11) et en ce que la première table caractéristique (9) présente une résolution plus élevée que la seconde table caractéristique (11). 6. Procédé suivant la revendication 5, caractérisé en ce que la première table caractéristique (9) présente un plus grand nombre de positions d'appui que la seconde table caractéristique (11) et/ou en ce qu'il est procédé à une interpolation entre les positions d'appui dans la première table caractéristique (9) et une fonction par paliers est fixée dans la seconde table caractéristique (11), un palier étant prévu pour chaque position d'appui. 7. Procédé suivant la revendication 1, caractérisé en ce qu'un premier convertisseur analogique-numérique (7) est utilisé dans la première méthode de calcul (2) et un second convertisseur analogique-numérique (8), dans la seconde méthode de calcul (3) et en ce que le premier convertisseur analogique-numérique (7) possède une plus grande précision que le second convertisseur analogique-numérique (8). 8. Procédé suivant la revendication 1, caractérisé en ce que la première méthode de calcul est mise en oeuvre par une première unité de calcul (2) et la seconde méthode de calcul, par une seconde unité de calcul (3) et en ce que la première unité de calcul (2) possède une résolution dans le temps plus élevée que la seconde unité de calcul (3), de sorte que la première unité de calcul (2) actualise des valeurs d'entrée ou des valeurs de sortie à des intervalles de temps plus courts.