Brevet FR3052575A1 (20171215)
REVENDICATIONS1. Circuit (100) de détection de défaillances pour un calculateur électronique (ECU) automobile, le circuit comprenant : - - - - - 25 30 - 35 un microcontrôleur principal (110) comprenant, au moins deux coeurs (111,\n<CLM>\1\tde microcontrôleur configurés pour exécuter les mêmes instructions en parallèle, et au moins un premier module logiciel (113) assurant une fonction critique d'un véhicule automobile, le premier module logiciel comprenant un point d'entrée prédéterminé (Pin) et un point de sortie prédéterminé (Sout), un microcontrôleur de supervision (120) et une interface de communication (130) synchrone pour coupler le microcontrôleur principal (110) et le microcontrôleur de supervision (120) de manière à permettre une supervision mutuelle, le circuit (100) est caractérisé en ce que : le microcontrôleur de supervision (120) est configuré pour fournir au microcontrôleur principal (110) une première valeur d'initialisation (InitA) et une deuxième valeur d'initialisation (InitB); le microcontrôleur principal (110) est configuré pour, en réponse à l'exécution du premier module logiciel (113), déterminer une première valeur de point d'entrée (Entree[0]) au niveau du point d'entrée prédéterminé (Pin) du premier module logiciel (113), à partir de la première valeur d'initialisation (InitA) et d'une valeur de début d'exécution (K1) indicative d'un début d'exécution d'un module logiciel du microcontrôleur principal (110) ; déterminer une première valeur de point de sortie (Sortie[0]) au niveau du point de sortie prédéterminé (Sout) du premier module logiciel (113), à partir de la deuxième valeur d'initialisation (InitB) et d'une valeur de fin d'exécution (K2) et indicative d'une fin d'exécution d'un module logiciel du microcontrôleur principal (110) ; déterminer une première valeur de résultat (RESULT[0]) d'un calcul prédéterminé à partir de la première valeur de point d'entrée (Entree[0]) et de la première valeur de point de sortie (Sortie[0]) ; et fournir au microcontrôleur de supervision (120) la première valeur de résultat (RESULT[0]) ; le microcontrôleur de supervision (120) est muni de moyens de comparaison (129) pour réaliser une première comparaison entre la première 3052575 21 valeur de résultat (RESULT[0]) et une première valeur de résultat prédéterminée du calcul prédéterminé (RESULT[0]*) de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (110) en réponse à la première comparaison. 5\n<CLM>\1\tCircuit de détection selon la revendication 1 dans lequel le calcul prédéterminé est un calcul polynomial au moins du deuxième ordre.\n<CLM>\1\tCircuit de détection selon l'une des revendications 1 ou 2 dans lequel : - le microcontrôleur principal (110) comprend un deuxième module logiciel (114) assurant une fonction critique du véhicule automobile, le deuxième module 10 logiciel comprenant un point d'entrée prédéterminé (Pin) et un point de sortie prédéterminé (Sout), le microcontrôleur principal (110) est en outre configuré pour, en réponse à l'exécution du deuxième module logiciel (114) : - déterminer une deuxième valeur de point d'entrée (Entree[1]) au niveau du point d'entrée prédéterminé (Pin) du deuxième module logiciel (114), à 15 partir de la première valeur de point d'entrée (Entree[0]) et de la valeur de début d'exécution (K1) ; - déterminer une deuxième valeur de point de sortie (Sortie[1]) au niveau du point de sortie prédéterminé (Sout) du deuxième module logiciel (114), à partir de la première valeur de point de sortie (Sortie[0]) et de la valeur de 20 fin d'exécution (K2) ; - déterminer une deuxième valeur de résultat (RESULT[1]) du calcul prédéterminé à partir de la deuxième valeur de point d'entrée (Entree[1]) et de la deuxième valeur de point de sortie (Sortie[1]) ; et - fournir au microcontrôleur de supervision (120) la deuxième valeur de résultat (RESULT[1]) ; - les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une deuxième comparaison entre la deuxième valeur de résultat (RESULT[1]) et une deuxième valeur de résultat prédéterminée du calcul prédéterminé (RESULT[1]*) de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (110) en réponse à la deuxième comparaison.\n<CLM>\1\tCircuit de détection selon l'une quelconque des revendications 1, 2 ou 3 dans lequel : - le microcontrôleur de supervision (120) est muni de moyens de mesure d'un temps qui s'est écoulé (ALLER-RETOUR) entre la fourniture au microcontrôleur 3052575 22 principal (110) des premières et deuxièmes valeurs d'initialisation (InitA, InitB) et la réception d'une valeur de résultat (RESULT[0], RESULT[1]), et - les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une troisième comparaison entre le temps 5 ALLER-RETOUR et un temps ALLER-RETOUR prédéterminé, de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (110) en réponse à la troisième comparaison.\n<CLM>\1\tCircuit de détection selon l'une quelconque des revendications 1, 2, 3 ou 4 dans lequel : 10 - le microcontrôleur principal (110) est muni de moyens de mesure d'une période d'exécution d'un ou de plusieurs modules logiciels du microcontrôleur principal (110), et - les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une quatrième comparaison entre la mesure de 15 la période d'exécution transmise au microcontrôleur de supervision (120) et une période d'exécution prédéterminée, de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (110) en réponse à la quatrième comparaison.\n<CLM>\1\tCircuit de détection selon l'une quelconque des revendications 1, 2, 3, 4 ou 5 20 dans lequel : - le microcontrôleur principal (110) et le microcontrôleur de supervision (120) comprennent, chacun indépendamment, une horloge de fonctionnement (115, 125), - le microcontrôleur de supervision (120) est en outre muni de moyens de 25 génération d'horloge (121) pour générer une horloge de fonctionnement de l'interface de communication (130) à partir de l'horloge de fonctionnement (\n<CLM>\1\tet d'une valeur prédéterminée d'horloge de fonctionnement (horl*), et - le microcontrôleur principal (110) est en outre muni : - de moyens de mesure de l'horloge de l'interface de communication (130) et 30 - de moyens de comparaison (119) pour réaliser une cinquième comparaison entre une mesure de l'horloge de fonctionnement de l'interface de communication (130) par les moyens de mesure et la valeur prédéterminée d'horloge de fonctionnement (horl*), de sorte que le microcontrôleur principal (110) puisse détecter une défaillance du 35 microcontrôleur de supervision (120) en réponse à la cinquième comparaison. 3052575 23\n<CLM>\1\tCircuit de détection selon la revendication 6 dans lequel : - le microcontrôleur principal (110) est en outre muni de moyens pour générer périodiquement un signal d'initialisation (Sp) indicatif de l'initialisation d'une communication via l'interface de communication (130) à partir d'une valeur 5 prédéterminée de périodicité (Sinit*), et - le microcontrôleur de supervision (120) est en outre muni de moyens de mesure de la périodicité du signal d'initialisation (Sp), les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une sixième comparaison entre une mesure de la périodicité de la réception du 10 signal d'initialisation (Sp) par les moyens de mesure et la valeur prédéterminée de périodicité (Sinit*), de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (110) en réponse à la sixième comparaison.\n<CLM>\1\tCircuit de détection selon l'une quelconque des revendications 1, 2, 3, 4, 5, 6 15 ou 7 dans lequel : - le microcontrôleur principal (110) comprend une première unité d'alimentation (117) et le microcontrôleur de supervision (120) comprend une deuxième unité d'alimentation (127), la première et la deuxième unité d'alimentation (117,\n<CLM>\1\tsont physiquement indépendantes l'une de l'autre, 20 - le microcontrôleur principal (110) et le microcontrôleur de supervision (120) comprennent, chacun indépendamment, des moyens de mesure de tension, le microcontrôleur principal (110) est couplé à la deuxième unité d'alimentation (127) et les moyens de comparaison (119) du microcontrôleur principal (110) sont en outre configurés pour réaliser une septième comparaison 25 entre une mesure de la tension de fonctionnement de la deuxième unité d'alimentation (127) par les moyens de mesure et une première plage prédéterminée de tension (V1*) de fonctionnement, de sorte que le microcontrôleur principal (110) puisse détecter une défaillance du microcontrôleur de supervision (120) en réponse à la septième comparaison, et 30 - le microcontrôleur de supervision (120) est couplé à la première unité d'alimentation (117) et les moyens de comparaison (119) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une huitième comparaison entre une mesure de la tension de fonctionnement de la première unité d'alimentation (117) par les moyens de mesure et une deuxième plage 35 prédéterminée de tension (V2*) de fonctionnement, de sorte que le 3052575 24 microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (110) en réponse à la huitième comparaison.\n<CLM>\1\tCircuit de détection selon l'une quelconque des revendications 1, 2, 3, 4, 5, 6, 7 ou 8 dans lequel : 5 - - 10 - 15 20 une interface d'actuateur (140) est couplée au microcontrôleur principal (110) et au microcontrôleur de supervision (120), l'interface d'actuateur (140) est configurée pour envoyer un signal d'actuation à un actuateur (300) prévu pour être connecté au circuit de détection (100), le microcontrôleur principal (110) et le microcontrôleur de supervision (120) comprennent, chacun indépendamment, un convertisseur analogique/numérique (116,\n<CLM>\1\tconfiguré pour recevoir le même signal d'actuation, et les moyens de comparaison (129) du microcontrôleur de supervision (120) sont en outre configurés pour réaliser une neuvième comparaison entre les valeurs de conversion numérique obtenues du convertisseur analogique/numérique (116) du microcontrôleur principal (110) et la valeur de conversion numérique du convertisseur analogique/numérique (126) du microcontrôleur de supervision (120), de sorte que le microcontrôleur de supervision (120) puisse détecter une défaillance du microcontrôleur principal (110) en réponse à la neuvième comparaison.\n<CLM>\1\tCalculateur électronique (ECU) automobile pour la détection de défaillances d'au moins une fonction critique d'un véhicule automobile caractérisé en ce qu'il comprend un circuit de détection selon l'une quelconque des revendications 1 à 9, couplé à un capteur (200) et à un actuateur (300) d'une fonction critique du véhicule.