Brevet FR2956227A1 — publié le 20110812

Domaine de l'invention La présente invention se rapporte à un procédé et à un dispositif de surveillance de l'aptitude au fonctionnement de plusieurs unités de travail d'un microcontrôleur, selon lequel les unités de travail du microcontrôleur échangent des données avec une unité de surveillance, externe, du microcontrôleur par une liaison de communications, selon lesquels on déclenche une routine de contrôle dans une unité de traitement, et l'unité de traitement transmet le résultat de l'unité de contrôle à une unité de surveillance externe, comparant le résultat à un résultat prédéfini, et si elle constate une différence entre le résultat transmis et le résultat prédéfini, l'unité de traitement sera considérée comme défectueuse. Etat de la technique Les appareils de commande utilisés dans les applications automobiles, comportent un microcontrôleur exécutant des fonctions critiques pour la sécurité. Si des défauts se produisent dans le circuit de l'appareil de commande, c'est-à-dire dans le microcontrôleur, il faut les détecter suffisamment à temps pour faire passer l'appareil de commande dans un état non critique pour la sécurité. Pour cette raison, il faut avoir un mécanisme de surveillance du microcontrôleur, ce mécanisme étant réalisé sous la forme d'un circuit et/ ou d'un programme. Le document US 2007/0294601 Al décrit une installation de surveillance d'un système multicore selon lequel un processeur de surveillance qui fait partie du système multicore, contrôle la communication entre un autre processeur du système multicore et d'un autre composant du système multicore. De plus, le processeur de surveillance est relié séparément à un autre composant du système multicore et peut contrôler les fonctions internes de ces composants. Dans le cas de microcontrôleurs qui comportent seulement un coeur de calculateur comme processeur, il est connu de les relier à une unité de surveillance externe qui exécute une routine de contrôle dans le coeur du calculateur et compare le résultat de la 2 routine de contrôle à un résultat prédéfini pour en tirer des conclusions quant à l'aptitude de fonctionnement du coeur de calculateur. But de l'invention La présente invention a pour but de développer un procédé et un dispositif de surveillance de l'aptitude au fonctionnement de plusieurs unités de traitement d'un microcontrôleur et qui permettent une surveillance de construction simple et néanmoins fiable de toutes les unités de traitement du microcontrôleur. Exposé et avantages de l'invention A cet effet, l'invention concerne un procédé de surveillance de l'aptitude du fonctionnement de plusieurs unités de traitement d'un microcontrôleur, comme défini ci-dessus, caractérisé en ce qu'une unité de surveillance externe effectue la comparaison des résultats pour toutes les unités de traitement pour constater l'aptitude au fonctionnement. La solution de l'invention a l'avantage de ne nécessiter qu'une unité de surveillance externe pour toutes les unités de traitement du microcontrôleur. Cela garantit que toutes les unités de traitement sont contrôlées et que tout défaut d'une unité de traitement est détecté. Cette solution économique convient notamment pour des applications critiques pour la sécurité, car malgré la solution constructive simple, tout défaut sera détecté très rapidement. De manière avantageuse, pour constater l'aptitude au fonctionnement, on lance la routine de contrôle à des instants différents dans chacune des unités de traitement du microcontrôleur, ce qui garantit qu'à un certain instant, il n'y aura toujours qu'une seule routine de contrôle en cours d'exécution et que le résultat transmis de l'unité de surveillance externe par l'unité de traitement, soit comparé au résultat prédéfini, enregistré dans l'unité de surveillance. Ainsi, les unités de traitement transmettent les résultats qu'elles obtiennent à partir des routines de contrôle à des instants différents qui sont vérifiés successivement par l'unité de surveillance externe. Cette succession chronologique d'arrivée des résultats des unités de traitement, est utilisée en continu par l'unité de surveillance externe et lui permet de 3 vérifier l'aptitude au fonctionnement, de manière fiable pour toutes les unités de traitement. Selon un développement, l'instant du début de la routine de contrôle dans chaque unité de traitement est enregistré de manière statique dans un système de gestion du microcontrôleur. L'instant du démarrage de la routine de contrôle est connu et est prédéfini de manière fixe dès le début, ce qui évite en toute sécurité la superposition chronologique des routines de contrôle et ainsi une simultanée émission des résultats provenant d'unités de traitement différentes. Selon une variante, le système de gestion comporte pour chaque unité de traitement, un cycle de programmes qui se répète et dans lequel l'instant du démarrage de la routine de contrôle est prédéfini de manière fixe, les instants du démarrage des routines de contrôle des différentes unités de traitement étant différentes. On évite ainsi le décalage des instants de démarrage des routines de contrôle dans les différentes unités de traitement. Pour permettre d'attribuer une priorité aux unités de traitement pour la mise en oeuvre des routines de contrôle, les cycles de programmes comprenant la routine de contrôle, seront appelés à une fréquence différente. Ainsi, les routines de contrôle se répètent à des intervalles de temps différents. On vérifiera une unité de traitement plus fréquemment qu'une autre suivant les caractéristiques de sécurité. Selon un développement, le résultat de la routine de contrôle comprend un code d'identification de l'unité de traitement qui a exécuté la routine de contrôle et envoie le résultat. L'utilisation du code d'identification de l'unité de traitement respective, identifie en cas de défaut l'unité de traitement concernée, immédiatement, par l'unité de surveillance externe. Cela permet de prendre immédiatement des mesures pour faire passer l'appareil de commande dans un état non critique pour la sécurité. De plus, on peut également vérifier si la routine de contrôle s'exécute effectivement dans les différentes unités de traitement. De manière avantageuse, l'unité de surveillance externe sélectionne une unité de traitement du micro-ordinateur et lui demande d'exécuter la routine de contrôle. Le mode prioritaire des unités de 4 traitement pour exécuter les routines de contrôle, sera assuré par l'unité de surveillance externe du microcontrôleur et peut ainsi être modifié de manière variable. En cas de défaut dans une unité de traitement, celle-ci sera testée une nouvelle fois au cours d'une brève suite pour déterminer s'il s'agit d'un défaut transitoire résultant d'une perturbation électromagnétique, unique, ou d'un défaut provenant du rayonnement cosmique ou s'il s'agit d'un défaut effectif de circuit dans l'unité de traitement et qui se répète. Selon un développement particulièrement simple, l'unité de surveillance externe envoie un code d'identification de l'unité de traitement au microcontrôleur qui déclenche la routine de contrôle dans l'unité de traitement sélectionnée et le résultat de la routine de contrôle est envoyé par l'unité de traitement sélectionnée à l'unité de surveillance externe. Selon une variante, le code d'identification de l'unité de traitement sélectionnée, fait partie d'une requête que l'unité de surveillance externe envoie à l'unité de traitement sélectionnée. La requête envoie à l'unité de traitement une question conçue pour que seulement l'unité de traitement correcte puisse répondre correctement à cette question. Le code d'identification fait partie du contenu du résultat renvoyé à l'unité de traitement externe. Cela permet à l'unité de surveillance externe de constater en toute sécurité et de déterminer si la demande a été traitée par l'unité de surveillance correcte, car seule l'unité de surveillance correcte, connait la réponse correcte à la demande. Selon un mode de réalisation, la requête contient une mission à traiter par l'unité de traitement. Cette mission peut être déclenchée effectivement seulement par l'unité de traitement sélectionnée par l'unité de surveillance externe et caractérisée par le code d'identification. La réponse par une unité de traitement non autorisée est certainement décelée par l'unité de surveillance externe. Selon une variante, la demande contient comme mission, la requête adressée à une zone prédéfinie d'une mémoire de l'unité de traitement ou du microcontrôleur. L'utilisation des unités de protection de mémoire (MPU) ou de liaisons câblées physiquement de manière fixe, assurent que seule l'unité de traitement respectivement sélectionnée peut déclencher correctement la mission. Selon un développement, le résultat envoyé à l'unité de surveillance externe en réponse à la demande de l'unité de traitement 5 sélectionnée, est le code d'identification lu dans un registre du microcontrôleur après traitement de la routine de contrôle par l'unité de traitement contrôlée. On garantit ainsi par construction, qu'un faux code d'identification ne puisse être imité. Cette réalisation particulièrement simple permet à l'unité de surveillance externe, de constater si la demande a été effectivement traitée par l'unité de traitement sélectionnée. Selon une variant, l'unité de surveillance externe adresse une demande à toutes les unités de traitement du microcontrôleur, simultanément, demandant aux unités de traitement d'exécuter chacune une routine de contrôle. Cela garantit que toutes les unités de traitement sont toujours interrogées dans le même contexte de temps. Selon un développement, la demande dans chaque unité de traitement, lance la même routine de contrôle et les résultats des routines de contrôle de toutes les unités de traitement sont réunis en un résultat global transmis à l'unité de surveillance externe. Cette procédure suppose que chaque unité de traitement remplit la même mission partielle. Comme toutes les unités de traitement doivent aboutir aux mêmes résultats isolés, le résultat global est une répétition des résultats isolés (résultats simples). Comme les résultats isolés aux missions, ont le code d'identification de l'unité de traitement qu'ils exécutent, l'unité de surveillance externe pourra identifier de manière très simple une unité de traitement défectueuse. De manière avantageuse, la demande lance dans chaque unité de traitement, une mission de réponse individuelle et les résultats des missions de réponse individuelle de toutes les unités de traitement sont réunis en un résultat global transmis à l'unité de surveillance externe. Le traitement de missions de réponse différentes par les différentes unités de traitement augmente le nombre de routines de contrôle et ainsi la profondeur du contrôle. 6 Selon un autre développement, pour former le résultat global, on place les uns derrière les autres les résultats des unités de traitement et chaque résultat d'une unité de traitement, prend une place prédéfinie dans le résultat global. Cette procédure permet un traitement asynchrone des demandes de l'unité de surveillance externe par les unités de traitement de façon que les réponses individuelles des différentes unités de traitement ne se chevauchent pas. En variante, pour former le résultat d'ensemble, on combine les résultats des différentes unités de traitement dans un ordre prédéfini dans un registre de signature. On raccourcit ainsi la réponse globale, car cette réponse globale est formée par la superposition de tous les résultats individuels des unités de traitement dans le registre de signature. Selon un développement, chaque unité de traitement envoie son propre résultat, notamment avec le code d'identification, directement à l'unité de surveillance externe. On suppose pour cela qu'il peut y avoir plusieurs réponses à une question de l'unité de surveillance externe qui sont considérées comme des réponses correctes. Un développement de l'invention concerne un dispositif de surveillance de l'aptitude au fonctionnement de plusieurs unités de traitement dans un microcontrôleur en ce que les unités de traitement du microcontrôleur échangent des données par une liaison de communications avec une unité de surveillance externe du microcontrôleur, et dans une unité de traitement, on déclenche une routine de contrôle et l'unité de traitement envoie un résultat de la routine de contrôle à l'unité de surveillance externe qui compare le résultat à un résultat prédéfini et en cas de constatation de différence entre le résultat envoyé et le résultat prédéfini, l'unité de traitement est considérée comme défectueuse. Pour avoir une surveillance de construction simple mais néanmoins fiable de toutes les unités de traitement du microcontrôleur, l'unité de surveillance externe compare les résultats de toutes les unités de traitement pour déterminer l'aptitude au fonctionnement. Cette solution a l'avantage qu'une seule unité de surveillance externe suffise pour toutes les unités de 7 traitement du microcontrôleur. Cela garantit la vérification de toutes les unités de traitement et aussi la détection des défauts dans toutes les unités de traitement ce qui réduit à un niveau très faible les moyens constructifs à mettre en oeuvre et se répercute en outre de façon économique. D'une manière avantageuse, le microcontrôleur fait partie d'un appareil de commande et chaque unité de traitement constitue un coeur de calculateur, le microcontrôleur étant notamment installé sur un substrat semi-conducteur. Cela permet d'utiliser pour des applications concernant la sécurité, des microcontrôleurs multicore du commerce avec plusieurs unités de traitement (il s'agit de systèmes multicore) en les reliant de manière simple à une unité de surveillance externe pour surveiller les différentes unités de traitement séparées du microcontrôleur à l'aide d'un programme spécifique pour déceler d'éventuels défauts. De manière constructive simple, le microcontrôleur comporte une interface de communications reliée aux unités de traitement et qui est reliée par une ligne de communications externe à l'unité de surveillance externe. Selon un développement, l'interface de communications comporte un registre de signature dans lequel les unités de traitement du microcontrôleur transmettent le résultat de leur contrôle respectif. Le résultat global qui en découle, est ensuite transmis très rapidement à l'unité de surveillance externe pour être contrôlé. Au moins une unité de traitement est reliée à une mémoire par une unité de protection de mémoire. L'unité de protection de mémoire permet seulement à l'unité de traitement en amont, de lire ou d'écrire dans la mémoire ou dans certaines zones de la mémoire, ce qui la protège contre des accès non autorisés. Selon un autre développement, l'unité de protection de mémoire est en amont de toutes les unités de traitement, en particulier elle fait partie d'une liaison interne de transmission de données. Cette solution économique permet de protéger simultanément toutes les unités de traitement contre un accès non autorisé.35 Dessins La présente invention sera décrite ci-après de manière plus détaillée à l'aide de différents modes de réalisation représentés dans les dessins annexés dans lesquels : - la figure 1 est un schéma de principe d'un appareil de commande d'un véhicule automobile équipé d'un microcontrôleur à plusieurs coeurs de calculateur, - la figure 2 montre la disposition d'une unité de protection de mémoire, - la figure 3 montre les cycles d'échéance de différents coeurs de calculateur du microcontrôleur pour fixer de manière statique le point de départ des routines de contrôle, - la figure 4 montre le déroulement schématique du programme de mise en oeuvre du procédé selon l'invention avec un point de départ fixé de manière dynamique pour une routine de contrôle. Description de modes de réalisation de l'invention La figure 1 montre un appareil de commande 1 d'un véhicule automobile utilisé dans le domaine automobile dans toutes les applications électroniques envisageables. Un tel appareil de commande 1 relié à des capteurs et des actionneurs non détaillés, se compose au moins d'une platine 2 portant un microcontrôleur 3 et une installation de surveillance 4 du microcontrôleur 3. Le microcontrôleur 3 est relié à l'unité de surveillance 4 par un système de communications externe 5 par lequel le microcontrôleur 3 et l'unité de surveillance 4, échangent des données et des informations. Le microcontrôleur 3 est un système multicore comportant plusieurs unités de traitement 3a, 3b, 3c pour des programmes de calcul se présentant sous la forme d'unités CPU. C'est ainsi que par exemple, l'unité de traitement 3a, exécute le programme de stabilisation électronique ESP, alors que l'unité de traitement 3b, exécute le programme du système antiblocage ABS. L'unité de traitement 3c traite la régulation antipatinage ASR du véhicule automobile. Le nombre d'unités de traitement 3a, 3b, 3c dans le microcontrôleur, n'est pas limité à trois, ce qui n'est qu'un exemple limité à ce nombre dans un but de clarté. 8 9 A côté des unités de traitement 3a, 3b, 3c, le microprocesseur 3 comporte une mémoire de travail 8 (RAM) et une mémoire fixe 14 (ROM) ainsi qu'une interface entrée/sortie I/O 6 reliée à une liaison de transmission de données 7, interne, par laquelle s'échangent des données dans le microcontrôleur 3. L'interface I/O 6 comportant un registre de signature 8, relie le microcontrôleur 3 au système de communications externe 5 et ainsi à l'unité de surveillance 4. En outre, l'unité de traitement 3c, est reliée à une unité de protection de mémoire 9 (MPU) elle-même reliée à une mémoire supplémentaire 10, la liaison entre l'unité de traitement 3c, l'unité de protection de mémoire 9 et la mémoire supplémentaire 10, se fait par une ligne de transmission de signaux 11. Les trois unités de traitement 3a, 3b, 3c, sont reliées chacune à un registre de code 13a, 13b, 13c contenant un code d'identification pour l'unité de traitement correspondante 3a, 3b, 3c. L'unité de protection de mémoire 9 peut également être centralisée pour toutes les unités de traitement 3a, 3b, 3c, comme cela est représenté à la figure 2 en ce que cette unité fait partie d'une liaison de transmission de données interne 7 sous la forme d'un système Crossbar. Cette réalisation supprime la mémoire supplémentaire 10. Pour surveiller l'aptitude au fonctionnement des unités de traitement 3a, 3b, 3c, il faut exécuter une routine de contrôle dont le résultat est transmis à l'unité de surveillance 4 pour être exploité. Si l'on n'utilise qu'une seule unité de surveillance 4, une simple duplication de la routine de contrôle ne suffit pas pour exécuter la routine de contrôle dans chaque unité de traitement 3a, 3b, 3c, indépendamment l'une de l'autre. Mais on peut éviter la multiplication de l'unité de surveillance 4, car les coûts seraient utilement élevés. La coordination pour savoir quand et sur quelle unité de traitement 3a, 3b, 3c, on exécute le programme et aussi le programme de contrôle, correspond au système de fonctionnement de chaque unité de traitement 3a, 3b, 3c, appelé échéancier. Un tel échéancier est exécuté par chaque unité de traitement 3a, 3b, 3c. Comme dans les applications à l'automobile, il s'agit généralement d'applications de technique de régulation, il existe pour chaque unité de traitement 3a, 10 3b, 3c, un cycle d'échéancier A, B, C comme cela est représenté à la figure 3. Dans un tel cycle, il est défini quand et quel programme de communications S1, S2 et aussi quelle routine de contrôle P seront exécutés. Si le cycle d'échéancier A, B, C se termine, il sera répété. L'exécution de ces cycles d'échéancier A, B, C pour les trois unités de traitement 3a, 3b, 3c, est synchronisée si bien que les instants de départ des cycles d'échéancier A, B, C des unités de traitement 3a, 3b, 3c, ne pourront pas être modifiés de manière quelconque, mais sont déjà connus dès le départ de l'échéancier. Dans chaque cycle d'échéancier A, B, C, on fixe l'instant de démarrage de la routine de contrôle. Cela garantit que toujours seulement une routine de contrôle sera exécutée à un instant donné. Selon la figure 3, la routine de contrôle P se trouve dans chaque cycle d'échéancier à une autre position pour assurer qu'à chaque instant, une seule routine de contrôle sera en cours. Les cycles d'échéancier A, B, C, ne sont pas de même longueur. Il suffit d'assurer que les instants de départ ne puissent se décaler de manière quelconque. Ainsi, l'ordre des contrôles des unités de traitement 3a, 3b, 3c, sera fixé par l'échéancier. Dans cet exemple, les unités de traitement 3b et 3c qui exécutent les cycles d'échéancier B et C, seront vérifiées à la fréquence double de l'unité de traitement 3a, commandée par le cycle d'échéancier A. On réalise ainsi une application prioritaire des unités de traitement 3a, 3b, 3c pour le contrôle, car suivant la condition de sécurité du programme exécuté par l'unité de traitement 3a, 3b, 3c, respective, on pourra contrôler plus souvent l'une des unités de traitement 3a, 3b, 3c, qu'une autre. A la fin de chaque routine de contrôle, le résultat de la routine avec le code d'identification de l'unité de traitement 3a, 3b, 3c respective, est transmis par l'unité de traitement 3a, 3b, 3c, par la liaison de transmission interne de données 7 à l'interface I/O 6; celle-ci transmet les résultats par le système de communications externe 5 à l'unité de traitement 4. L'unité de traitement 4 exploite les résultats reçus les uns après les autres en comparant chaque résultat envoyé à un résultat prédéfini. Comme dans le présent exemple, on utilise 11 toujours la même routine de contrôle, chaque résultat de la routine de contrôle doit être le même. Si un résultat de la routine de contrôle diffère du résultat précédent, l'unité de surveillance constate à l'aide du code d'identification, celle des unités de surveillance 3a, 3b, 3c, qui travaille de manière défectueuse et elle lance une réaction de défaut. Une autre possibilité de surveillance de l'aptitude au fonctionnement des unités de traitement 3a, 3b, 3c, est représentée à la figure 4. Pour cela, dans le bloc 100, l'unité de surveillance 4 envoie une demande par le système de communications externe 5 au microcontrôleur 3 qui transmet cette demande par l'interface I/O 6 et la ligne de transmission interne de données 7, aux unités de traitement 3a, 3b, 3c. Dans le bloc 101, on ajoute les codes d'identification des unités de traitement 3a, 3b, 3c, respectives à contrôler à la demande. La demande est ainsi dirigée de manière ciblée à l'unité de traitement 3a, 3b, 3c qui doit exécuter la routine de contrôle. Cela peut par exemple se réaliser en ce que le code d'identification fait partie d'une requête transmise par l'unité de surveillance 4 au microcontrôleur 3. En variante, dans le bloc 102, l'unité de surveillance 4 adresse au microcontrôleur 3, une requête pour activer que toutes les unités de traitement 3a, 3b, 3c. L'arrivée de la requête lance dans chacune des unités de traitement à surveiller 3a, 3b, 3c, une mission de réponse (bloc 103). Chaque unité de traitement 3a, 3b, 3c, doit alors exécuter une routine de contrôle. La demande globale ne signifie toutefois pas que chaque unité de traitement 3a, 3b, 3c, doit exécuter nécessairement la même routine de contrôle. Il est également possible que chaque unité de traitement 3a, 3b, 3c, ne réagisse qu'à une partie des questions posées ou qu'elle réponde à l'interrogation numéro xy par la mission correspondante xy. Dans la réponse de la mission xy, on peut intégrer de préférence un accès au code d'identification spécifique de l'unité de traitement respective 3a, 3b, 3c. Lorsque toutes les unités de traitement 3a, 3b, 3c, ont terminé leur mission, leurs différents résultats seront réunis dans le bloc 104 en un résultat global. Cela peut se faire de différentes manières. Tout d'abord, les résultats isolés peuvent être simplement placés les uns derrière les autres, ce qui donne un résultat d'ensemble 12 long. Il est important dans ce cas, que chaque résultat simple soit inscrit à l'adresse correcte et pour chaque résultat simple, il n'y aura qu'une adresse. Cette procédure permet un traitement asynchrone par les unités de traitement 3a, 3b, 3c, car les différents résultats ne se chevauchent pas. Une autre possibilité consiste à écrire les résultats simples des unités de traitement 3a, 3b, 3c, les uns sur les autres, dans le registre de signature 12 de l'interface I/O 6. Pour cela, le registre de signature 12 peut être un registre MISR (registre à décalage d'entrée multiple) ou un composant fonctionnant de manière analogue. Lors de l'inscription des résultats simples dans le registre de signature, on a une relation de série constante entre les différents résultats simples, car tous les résultats simples, doivent être inscrits dans un ordre donné dans un tel registre de signature 12. Le résultat global représente dans ce cas, la superposition des résultats simples et forme un résultat global plus court que dans le premier cas. Il n'est pas nécessaire que le registre de signature 12 se trouve dans l'interface I/O 6. Il est également possible d'utiliser un registre de signature à usages multiples du microcontrôleur 3, et de transmettre à partir de celui-ci, le résultat global à l'interface I/O 6. Dans le bloc 105, on envoie alors le résultat simple recueilli dans le bloc 101 ou 104 ou le résultat global par l'interface I/O 6 à l'unité de surveillance 4. L'unité de surveillance 4, compare dans le bloc 106, le résultat respectif à un résultat donné. Si le résultat est correct, c'est-à-dire si le résultat reçu correspond au résultat prédéfini, on revient au bloc 100, et l'unité de surveillance 4 lance une nouvelle requête au microcontrôleur 3. Si le résultat reçu et le résultat prédéfini ne se correspondent pas, le bloc 107 déclenche une réaction de défaut. Selon une extension des exemples de réalisation décrits, un mécanisme supplémentaire permet de garantir que la réponse à l'interrogation de l'unité de surveillance 4 est toujours assurée par l'unité de traitement sélectionnée 3a, 3b, 3c, c'est-à-dire que la réponse de l'interrogation de l'unité de surveillance 4, permet de détecter l'unité de traitement 3a, 3b, 3c, défectueuse. Pour cela, on formule au moins certaines requêtes de façon que seules les unités de traitement 3a, 3b, 13 3c sélectionnées pour répondre à la requête de l'unité de surveillance 4, puissent répondre correctement à cette requête. Ainsi, la réponse à une interrogation peut nécessiter l'accès à la mémoire auxiliaire 10 protégée par l'unité de protection de mémoire 9 et n'assurant l'accès que si celui- ci est fait par l'unité de traitement 3c. Cela signifie que seule l'unité de traitement 3c, pourra répondre correctement à la requête. Une autre possibilité complémentaire ou alternative consiste à lire le code d'identification de l'unité de traitement 3a, 3b, 3c dans le registre de code 13a, 13b, 13c qui existe dans chaque unité de traitement 3a, 3b, 3c, ce code d'identification doit être intégré dans la réponse de l'unité de traitement respective 3a, 3b, 3c. Cela garantit du point de vue de la construction, qu'il ne peut imiter un faux code d'identification. La forme suivant laquelle, le code d'identification est intégré dans le résultat, est multiple. Le code d'identification, peut tout d'abord se traduire par une combinaison de bits. Il peut également s'intégrer par la formation de la signature dans le résultat global.20 NOMENCLATURE DES ELEMENTS PRINCIPAUX appareil de commande platine microcontrôleur unité de traitement installation de surveillance système de communications externe interface entrée/sortie (I/O) interface de communication liaison de transmission de données registre de signature unité de protection de mémoire (MPU) mémoire auxiliaire ligne de transmission de signaux code registre 14 mémoire fixe (ROM) A, B, C cycle d'échéancier S1, S2 routine 20 P routine de contrôle 1 2 3 3a, 3b, 3c, 4 15 REVENDICATIONS1 °) Procédé de surveillance de l'aptitude au fonctionnement de plusieurs unités de travail d'un microcontrôleur, selon lequel les unités de travail (3a, 3b, 3c) du microcontrôleur (3) échangent des données avec une unité de surveillance (4) externe du microcontrôleur (3) par une liaison de communications (5), procédé selon lequel on déclenche une routine de contrôle (P) dans une unité de traitement (3a, 3b, 3c), et l'unité de traitement (3a, 3b, 3c) transmet le résultat de l'unité de contrôle (P) à une unité de surveillance externe (4), comparant le résultat à un résultat prédéfini, et si elle constate une différence entre le résultat transmis et le résultat prédéfini, l'unité de traitement (3a, 3b, 3c) sera considérée comme défectueuse, procédé caractérisé en ce qu' une unité de surveillance externe (4) compare les résultats de toutes les unités de traitement (3a, 3b, 3c) pour constater l'aptitude au fonctionnement. 2°) Procédé selon la revendication 1, caractérisé en ce que pour constater l'aptitude au fonctionnement, la routine de contrôle (P) est déclenchée à des instants différents dans chacune des unités de traitement (3a, 3b, 3c) du microcontrôleur (3). 3°) Procédé selon la revendication 2, caractérisé en ce que l'instant du début de la routine de contrôle (P) dans chaque unité de traitement (3a, 3b, 3c), est enregistré de manière statique dans un système de gestion du microcontrôleur (3). 4°) Procédé selon la revendication 3, caractérisé en ce que pour chaque unité de traitement (3a, 3b, 3c), le système de gestion a un cycle de programmes (A, B, C) qui se répète et l'instant du démarrage de la routine de contrôle (P) est prédéfini de manière fixe, 16 les instants de démarrage des routines de contrôle (P) des différentes unités de traitement (3a, 3b, 3c), étant différents. 5°) Procédé selon la revendication 4, caractérisé en ce que les cycles de programmes (A, B, C) qui comprennent les routines de contrôle (P) sont appelés selon une fréquence différente. 6°) Procédé selon la revendication 1, caractérisé en ce que le résultat de la routine de contrôle (P) comprend un code d'identification de l'unité de traitement (3a, 3b, 3c) qui a exécuté la routine de contrôle (P) et a envoyé le résultat. 7°) Procédé selon la revendication 1, caractérisé en ce que l'unité de surveillance externe (4) sélectionne une unité de traitement (3a, 3b, 3c) du microcontrôleur (3) et lui demande d'exécuter la routine de contrôle (P). 8°) Procédé selon les revendications 6 et 7, caractérisé en ce que l'unité de surveillance externe (4) envoie le code d'identification de l'unité de traitement (3a, 3b, 3c) au microcontrôleur (3) et ce code déclenche la routine de contrôle (P) dans l'unité de traitement (3a, 3b, 3c) sélectionnée, - le résultat de la routine de contrôle (P) étant envoyé par l'unité de traitement (3a, 3b, 3c), sélectionnée, à l'unité de surveillance (4) externe. 9°) Procédé selon la revendication 8, caractérisé en ce que le code d'identification de l'unité de traitement sélectionnée (3a, 3b, 3c) fait partie d'une requête que l'unité de surveillance externe (4), envoie à l'unité de traitement sélectionnée (3a, 3b, 3c). 17 10°) Procédé selon la revendication 9, caractérisé en ce que la requête contient une mission à traiter par l'unité de traitement (3a, 3b, 3c). 11 °) Procédé selon la revendication 10, caractérisé en ce que la requête comprend comme mission, la requête d'une zone prédéfinie d'une mémoire (10) de l'unité de traitement (3a, 3b, 3c) ou du 10 microcontrôleur (3). 12°) Procédé selon la revendication 9 ou 10, caractérisé en ce que le résultat transmis à l'unité de surveillance externe (4) à la requête de 15 l'unité de traitement sélectionnée (3a, 3b, 3c), comprend le code d'identification lu dans un registre (13a, 13b, 13c) du microcontrôleur (3) après exécution de la routine de contrôle (P) par l'unité de traitement sélectionnée (3a, 3b, 3c). 20 13°) Procédé selon la revendication 1, caractérisé en ce que l'unité de surveillance externe (4) pose en même temps une requête à toutes les unités de traitement (3a, 3b, 3c) du microcontrôleur (3) demandant aux unités de traitement (3a, 3b, 3c) quelle routine de 25 contrôle (P), appliquer. 14°) Procédé selon la revendication 13, caractérisé en ce que dans chaque unité de traitement (3a, 3b, 3c), la requête initialise la 30 même routine de contrôle (P) et les résultats des routines de contrôle (P) de toutes les unités de traitement (3a, 3b, 3c), sont regroupés en un résultat global transmis à l'unité de surveillance externe (4). 15°) Procédé selon la revendication 13, 35 caractérisé en ce que 18 la requête dans chaque unité de traitement (3a, 3b, 3c) initialise une requête de réponse individuelle et les résultats des requêtes de réponse de toutes les unités de traitement (3a, 3b, 3c) sont réunis en un résultat global transmis à l'unité de surveillance externe (4). 16°) Procédé selon la revendication 14 ou 15, caractérisé en ce que pour former le résultat global, on place l'un derrière l'autre les résultats des unités de traitement (3a, 3b, 3c) et chaque résultat d'une unité de traitement (3a, 3b, 3c) prend une place prédéfinie dans le résultat global. 17°) Procédé selon la revendication 14 ou 15, caractérisé en ce que pour former le résultat global, on combine les résultats des différentes unités de traitement (3a, 3b, 3c) dans un ordre prédéfini dans un registre de signature (12). 18°) Procédé selon la revendication 13, caractérisé en ce que chaque unité de traitement (3a, 3b, 3c), envoie son propre résultat, notamment avec un code d'identification, directement à l'unité de surveillance externe (4). 19°) Dispositif de surveillance de l'aptitude au fonctionnement de plusieurs unités de traitement d'un microcontrôleur selon lequel, - les unités de traitement (3a, 3b, 3c) du microcontrôleur (3), sont reliées par une ligne de transmission de communications (5) à une unité de surveillance externe (4) du microcontrôleur (3) pour échanger des données, - une unité de traitement (3a, 3b, 3c) déclenche une routine de contrôle (P), et l'unité de traitement (3a, 3b, 3c) transmet le résultat de la routine de contrôle (P) à l'unité de surveillance externe (4) qui compare le résultat à un résultat prédéfinie et en cas de constatation de différence entre le résultat transmis et le résultat prédéfini, elle 19 reconnaît l'unité de traitement (3a, 3b, 3c), comme étant défectueuse, dispositif caractérisé en ce que l'unité de surveillance externe (4) effectue la comparaison des résultats de toutes les unités de traitement (3a, 3b, 3c) pour constater l'aptitude au fonctionnement. 20°) Dispositif selon la revendication 19, caractérisé en ce que le microcontrôleur (3) fait partie d'un appareil de commande (1) et chaque unité de traitement (3a, 3b, 3c), constitue un coeur de calculateur, et le microcontrôleur (3) est prévu notamment sur un substrat semi-conducteur ou un support en céramique. 21 °) Dispositif selon la revendication 19 ou 20, caractérisé en ce que le microcontrôleur (3) comporte une interface de communication (6) reliée aux unités de traitement (3a, 3b, 3c), cette interface étant reliée à une unité de surveillance externe (4) par une ligne de communications externe (5). 22°) Dispositif selon la revendication 21, caractérisé en ce que l'interface de communication (6) comporte un registre de signature (12). 23°) Dispositif selon la revendication 19, caractérisé en ce qu' au moins une unité de traitement (3a, 3b, 3c) est reliée à une mémoire (10) par une unité de protection de mémoire (9). 24°) Dispositif selon la revendication 19, caractérisé en ce quel'unité de protection de mémoire (9) est en amont de toutes les unités de traitement (3a, 3b, 3c), en particulier elle appartient à une liaison interne (7) de transmission de données.5