Brevet FR2685509A1 — publié le 19930625

DISPOSITIF DE SYNCHRONISATION ENTRE PLUSIEURS PROCESSEURS INDEPENDANTS. La présente invention concerne un dispositif de synchro- nisation entre plusieurs processeurs indépendants, par exemple en vue de permettre l'établissement de rendez- vous cycliques entre ces processeurs tout en garantissant une totale ségrégation ainsi que leur autonomie respec- tive. Elle s'applique plus particulièrement à des processeurs produisant des données cycliques et permet de synchroni- ser les processeurs au niveau de leurs cycles temps réel et non de leurs cycles élémentaires de calcul. On rappelle à ce sujet que, d'une façon générale, l'enchaînement des instructions exécutées par un proces- seur est cadencé par une horloge interne dite horloge processeur. Cette horloge interne définit des cycles élémentaires au cours de chacun desquels le processeur exécute une instruction. Pour effectuer des traitements en temps réel, le proces- seur doit exécuter un ensemble d'instructions au cours -2- d'une période fixée La période ainsi allouée à un ensemble de traitement est appelée cycle temps réel Elle est délimitée par des impulsions d'horloge (tops) en provenance d'une horloge temps réel Les traitements du processeur sont ainsi synchronisés par rapport au temps "réel". Pour synchroniser les traitements de plusieurs proces- seurs, plusieurs techniques sont utilisables. Une première solution consiste à utiliser une même horloge à quartz pour tous les processeurs de manière à obtenir des cycles élémentaires identiques pour tous les processeurs. L'inconvénient de cette solution consiste en ce qu'elle impose l'utilisation de processeurs identiques fonction- nant à la même fréquence. Une seconde solution consiste à utiliser autant d'horloges processeur qu'il y a de processeurs mais une même horloge temps réel pour tous les processeurs. L'inconvénient de cette solution consiste en ce qu'elle ne permet pas de détecter une défaillance de l'horloge temps réel Or, une défaillance de celle-ci entraîne une défaillance simultanée de tous les processeurs. L'objectif de sécurité n'est donc pas rempli. Une troisième solution consiste à utiliser au moins deux horloges temps réel pour des processeurs comprenant chacune sa propre horloge processeur, et un dispositif de surveillance qui vérifie l'écart entre les deux horloges temps réel. Si cet écart est incompatible avec un seuil fixé, le dispositif de surveillance déclare une panne en émettant un signal d'alarme à destination des processeurs. 3 - Dans le cas contraire, les processeurs utilisent les impulsions d'horloge de la même horloge temps réel pour synchroniser leurs traitements. Cette surveillance permet de répondre à l'objectif de sécurité, mais pas à celui de disponibilité: dans le cas d'une défaillance de l'horloge temps réel commune, la panne est signalée, mais les processeurs se trouvent bloqués. L'invention a donc plus particulièrement pour but de supprimer ces inconvénients. Elle propose à cet effet un dispositif de synchronisation permettant de synchroniser plusieurs processeurs indépen- dants et faisant intervenir, pour chaque processeur, un circuit de synchronisation comprenant: d'une part, une horloge temps réel qui délivre un signal de synchronisation interne pouvant passer, à la suite d'une commande, d'un premier état, par exemple actif, à un second état, par exemple inactif, le signal retournant ensuite au premier état à l'issue d'une période correspondant sensiblement à la période d'un cycle temps réel, et d'autre part, un comparateur qui reçoit, outre ledit signal de synchronisation (interne), les signaux de synchronisation (externes) émanant des horloges temps réel de tous les autres circuits de synchronisation, ce comparateur étant conçu de manière à transmettre au processeur qui lui est associé, une impulsion de synchronisation engendrée au cours d'une séquence comprenant: la comparaison du signal de synchronisation interne avec les signaux de synchronisation externes, de manière à détecter le passage au premier état du signal de synchronisation le plus en retard, -4- la transmission au processeur d'une impulsion de synchronisation au bout d'un laps de temps déterminé à la suite dudit passage, puis la transmission à l'horloge temps réel d'un signal de commande faisant passer le signal de synchronisation interne de son premier état à son second état. Un avantage du dispositif de synchronisation précédemment décrit consiste en ce que le recalage des signaux de synchronisation effectué à chaque cycle permet de s'affranchir des effets cumulatifs pouvant résulter de dérives lentes se produisant au niveau des horloges temps réel En effet, dans ce cas, un léger décalage tolérable au premier cycle, pourrait se traduire par un gros écart inadmissible au bout d'un certain nombre de cycles. Selon une autre caractéristique de l'invention, le susdit comparateur peut en outre être conçu de manière à trans- mettre au processeur qui lui est associé, un signal d'alarme en cas d'une anomalie détectée sur les signaux de synchronisation Tel est le cas, par exemple, lorsque le décalage entre le retour à l'état actif du signal de synchronisation interne et celui d'au moins l'un des signaux de synchronisation externes, dépasse un seuil prédéterminé Dans ce cas, le comparateur émet en outre forfaitairement une impulsion de synchronisation permet- tant au processeur qui lui est associé de fonctionner indépendamment des autres processeurs. Grâce à une telle disposition, on évite le blocage d'un processeur à la suite de la défaillance de l'horloge temps réel associée à un autre processeur. Un mode d'exécution de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux dessins annexés dans lesquels: La figure 1 est un schéma synoptique d'un dispositif de synchronisation selon l'invention; La figure 2 est un diagramme temporel illus- trant le mécanisme de synchronisation des deux premiers circuits de synchronisation utilisés dans le dispositif représenté figure 1, en fonctionnement opérationnel; La figure 3 est un diagramme similaire à celui représenté figure 2, mais illustrant le prin- cipe de l'activation forfaitaire qui garantit l'autonomie de fonctionnement des processeurs en cas de panne; La figure 4 est un diagramme temporel illus- trant le mécanisme de l'émission d'un signal d'alarme. Dans l'exemple représenté sur la figure 1, le dispositif de synchronisation selon l'invention s'applique à trois processeurs indépendants Pi, P 2, Pn respectivement asso- ciés à trois horloges internes Hi, H 2, Hn (pouvant défi- nir des cycles élémentaires différents). Il fait intervenir, pour chacun de ces processeurs Pl, P 2, Pn, un circuit de synchronisation Ci, C 2, Cn permet- tant de délivrer à ce processeur un signal de synchroni- sation TOP 1, TOP 2, TO Pn et, éventuellement, un signal d'alarme AL 1, AL 2, A Ln Chaque circuit de synchronisation (Cl, C 2, Cn) comprend une horloge temps réel qui délivre un signal de synchronisation interne (SYNC 1, SYNC 2, SYN Cn) pouvant passer, à la suite d'une commande, d'un état actif à un état inactif puis repasser ensuite à l'état actif à l'issue d'une période correspondant sensi- blement à la période T d'un cycle temps réel. 6 - Ce signal de synchronisation interne (SYNC 1, SYNC 2, SYN Cn) est appliqué à l'une des entrées d'un comparateur COMP 1, COMP 2, COM Pn qui reçoit sur ses autres entrées les signaux de synchronisation (externes) émanant des horloges temps réel des autres circuits de synchronisa- tion. Comme précédemment mentionné, chaque comparateur, par exemple le comparateur COM Pl compare les signaux de synchronisation SYNC 1, SYNC 2, SYN Cn de manière à détecter le passage à l'état actif du signal de synchronisation le plus en retard Au bout d'un premier laps de temps prédé- terminé, à compter de cette détection, il transmet au processeur Pl qui lui est associé, une impulsion de synchronisation TO Pl puis, au bout d'un deuxième laps de temps prédéterminé, il transmet à l'horloge temps réel HTR 1 un signal de commande qui provoque le passage du signal de synchronisation SYNC 1 à l'état inactif. Du fait qu'ils se basent sur la même référence temporelle (passage à l'état inactif du signal de synchronisation le plus en retard) les comparateurs agissent en parfait synchronisme pour émettre les impulsions de synchronisa- tion et les signaux de commande. En conséquence, à chaque cycle de fonctionnement, on obtient un recalage des signaux délivrés par les horloges temps réel. Ce mode de fonctionnement est décrit plus en détail ci- après, en référence aux figures 2 et 3 qui, pour plus de clarté, ne concernent que les dispositifs de synchronisa- tion associés aux processeurs Pl et P 2. Sur ces figures, on a représenté, en correspondance temporelle, le signal de synchronisation TO Pl émis par le comparateur COMP 1, le signal SYNC 1 émis par l'horloge temps réel HTR 1, le signal SYNC 2 émis par l'horloge temps 7 - réel HTR 2 et le signal de synchronisation TOP 2 émis par le comparateur COMP 2. Dans l'exemple illustré figure 2, à l'instant to, le signal SYNC 1 termine sa période d'inactivité, en avance sur le signal SYNC 2 (qui termine la sienne à l'instant ti). Le comparateur COM Pl attend donc que la période d'inactivité du signal SYNC 2 soit écoulée, pour émettre en synchronisme avec le comparateur COMP 2 une impulsion de synchronisation I 1, I 2. Les comparateurs COM Pl et COMP 2 agissent ensuite sur leurs horloges temps réel respectives HTR 1, HTR 2, pour enclencher, au temps t 3, une nouvelle période d'inactivité des signaux de synchronisation SYNC 1, SYNC 2. A l'instant t 4, le signal SYNC 2 termine sa période d'inactivité, en avance sur le signal SYNC 1 (qui termine la sienne à l'instant t 5). Le comparateur COMP 2 attend donc l'expiration du signal SYNC 1 (instant t 5) pour émettre, en synchronisme avec le comparateur COMP 1, une nouvelle impulsion de synchronisa- tion I'l, I'2. Ces comparateurs COMP 1, COMP 2 agissent alors sur leurs horloges respectives pour relancer, en synchronisme (à l'instant t 7) une nouvelle période d'activation des signaux SYN Cl et SYNC 2. Dans l'exemple représenté sur la figure 3, entre l'instant to et l'instant t 3, le fonctionnement est simi- laire à celui illustré sur la figure 2 Toutefois, dans ce cas, le fonctionnement de l'horloge temps réel HTR 2 est défectueux: le signal SYNC 2 qui, à l'instant t 3, -8 - était passé à l'état inactif, en synchronisme avec le signal SYNC 1, demeure à l'état inactif. Dans ce cas, au-delà d'une période de temps T + DT à compter de l'instant d'émission des impulsions Il et I 2, le comparateur COM Pl génère forfaitairement une impulsion de synchronisation IF (la valeur DT est la tolérance uti- lisée sur l'allongement d'un cycle temps réel de valeur nominale T). D'une façon plus générale, pour assurer une bonne autono- mie des processeurs P 1, P 2, le comparateur COM Pl engen- drera forfaitairement une impulsion IF si le signal SYNC 2 n'est pas activé dans une fenêtre temporelle (T DT, T + DT) L'émission de l'impulsion IF se produira alors à l'instant T + DT. L'émission d'un signal d'alarme par un comparateur pour signaler au processeur l'occurrence d'un défaut de signa- lisation, se produit dans les deux cas suivants: absence d'activation du signal SYNC 2 dans la fenêtre (T DT, T + DT), activation du signal SYNC 2 hors de cette fenêtre. Ces conditions se trouvent illustrées dans le chrono- gramme de la figure 4 dans lequel on a représenté le signal de synchronisation émis par le comparateur COMP 1, le signal d'horloge SYNC 1 émis par l'horloge temps réel HTR 1 et un tableau d'activation du signal d'alarme AL 1. L'impulsion de synchronisation Il, émise à l'instant t'0 marque le début d'une période temps réel T se terminant au moment t'2 du retour du signal SYNC 1 à l'état actif. Les instants t'l et t'3 indiquent les limites de la fenêtre T + DT, T DT dans laquelle une nouvelle impul- -9- sion de synchronisation doit être engendrée par le compa- rateur COMP 1. Le tableau d'activation de l'alarme émise par le compara- teur 1 comprend deux zones, à savoir: une première zone allant de l'instant t'o à l'instant t'1, et à l'intérieur de laquelle l'activation du signal SYNC 2 provoque l'émission d'une alarme, et une deuxième zone allant de l'instant t'1 à l'instant t'3 et à l'intérieur de laquelle l'absence d'activation du signal SYNC 2 provoque l'émission d'une alarme. Il convient de noter que, pour permettre la première synchronisation à l'initialisation du processus, la fenêtre autorisée est élargie jusqu'à l'obtention d'un délai compatible avec les écarts de mise en route des deux processeurs. - Revendications 1 Dispositif de synchronisation permettant de synchroniser plusieurs processeurs indépendants, caractérisé en ce qu'il fait intervenir, pour chaque processeur (Pl, P 2, Pn), un circuit de synchronisation comprenant: d'une part, une horloge temps réel (HTRI, HTR 2, HT Rn), qui délivre un signal de synchronisation interne (SYNC 1, SYNC 2, SYN Cn) pouvant passer, à la suite d'une commande, d'un premier état à un second état, le signal retournant ensuite au premier état à l'issue d'une période correspondant sensiblement à la période (T) d'un cycle temps réel, et d'autre part, un comparateur (COMP 1, COMP 2, COM Pn) qui reçoit, outre ledit signal de synchronisation (interne), les signaux de synchronisation (externes) émanant des horloges temps réel de tous les autres circuits de synchronisation, ce comparateur (COMP 1, COMP 2, COM Pn) étant conçu de manière à transmettre au processeur (Pi, P 2, Pn), qui lui est associé, une impulsion de synchronisation engendrée au cours d'une séquence comprenant la comparaison du signal de synchronisation interne avec les signaux de synchronisation externes, de manière à détecter le passage au premier état du signal de synchronisation le plus en retard, la transmission au processeur (Pl, P 2, Pn) d'une impulsion de synchronisation au bout d'un laps de temps déterminé à la suite dudit passage, puis la transmission à l'horloge temps réel (HTR 1, HTR 2, HT Rn) d'un signal de commande faisant passer le signal de synchronisation interne de son premier état à son second état. f lé - 2 Dispositif selon la revendication 1, caractérisé en ce que le susdit premier état est un état actif, tandis que le second état est un état inactif. 3 Dispositif selon l'une des revendications 1 et 2, caractérisé en ce que le susdit comparateur (COMP 1, COMP 2, COM Pn) émet forfaitairement au processeur (Pl, P 2, Pn) qui lui est associé, une impulsion de synchronisation (IF), lorsque le décalage entre le retour à l'état actif du signal de synchronisation interne et celui d'au moins l'un des signaux de synchronisation externes, dépasse un seuil prédéterminé. 4 Dispositif selon l'une des revendications précédentes, caractérisé en ce que le susdit comparateur engendre forfaitairement une impulsion de synchronisation (IF), si l'un au moins des signaux de synchronisation externes n'est pas activé dans une fenêtre temporelle (T DT, T + DT), (T) étant la valeur nominale d'un cycle temps réel et la valeur (DT) étant la tolérance utilisée sur l'allongement de ce cycle. 5 Dispositif selon l'une des revendications précédentes, caractérisé en ce que le susdit comparateur (COMP 1, COMP 2, COM Pn) est conçu de manière à transmettre au processeur (Pl, P 2, Pn) qui lui est associé, un signal d'alarme en cas d'une anomalie détectée sur les signaux de synchronisation (SYNC 1, SYNC 2, SYN Cn). 6 Dispositif selon l'une des revendications précédentes, caractérisé en ce que l'émission du signal d'alarme se produit à la suite: 12 - de l'absence d'activation d'au moins un signal de synchronisation externe dans la fenêtre (T DT, T + DT), de l'activation d'au moins un signal de synchronisation externe hors de ladite fenêtre.