Brevet FR3055985A1 — publié le 20180316

Procédé de synchronisation d'un système par utilisation d'un temps de validité pour chaque signal de sortie La présente invention concerne un procédé de synchronisation d'un système. La présente invention se rapporte également à un contrôleur, un système et une installation ferroviaire associés. L'invention s'applique au domaine ferroviaire, le procédé et le système étant destinés à une installation ferroviaire. De façon classique, les installations ferroviaires comprennent des stations dotées de quais destinés, par exemple, à la descente et à la montée de passagers. Il est connu de munir les quais de façades de quai, également appelées portes palières, et désignées par l'acronyme PSD de l'anglais « Platform Screen Doors ». Les façades de quai sont situées en bordure des voies et sont essentiellement destinées à empêcher des suicides ou des accidents de passagers. Les façades de quai définissent une position d'ouverture et une position de fermeture. De telles façades de quai sont pilotées de façon automatique de sorte, par exemple, à n'être en position d'ouverture que lorsqu'un véhicule est stationné à un quai. En outre, certaines installations ferroviaires sont dotées d'un système de contrôle automatique du trafic ferroviaire, également désigné par l'acronyme CBTC de l'anglais « Communication Based Train Control ». Il s'agit d'un système basé sur une communication entre des véhicules et des dispositifs en charge de la gestion du trafic. Lorsque les quais sont dotés de façades de quai, le système CBTC assure l'articulation entre la position d'ouverture ou de fermeture des façades de quai et la circulation des véhicules. A titre d'illustration, un véhicule approchant d'un quai doté de façades de quai ne sera autorisé à entrer en station que si les façades de quai sont bien verrouillées en position de fermeture. Un tel système CBTC est donc un système distribué devant donc garantir une bonne sécurité tout en permettant un temps de réponse le plus rapide possible. Il existe donc un besoin pour un procédé garantissant une bonne sécurité dans un système distribué tout en permettant un temps de réponse le plus rapide possible La présente description décrit un procédé de synchronisation d'un système comportant une pluralité de modules d'entrée, un calculateur et une pluralité de modules de sortie, comportant chacun une pluralité de chaînes de traitement redondantes, chaque chaîne de traitement comportant une horloge locale propre cadençant la chaîne de traitement respective, le procédé comportant pour chaque chaîne de traitement du module d'entrée, pour chaque signal d'entrée produit, l'association d'une date d'entrée 3055985 2 locale au signal d'entrée par le module d'entrée ayant produit le signal, la transmission de chaque signal d'entrée depuis un module d'entrée vers le calculateur, pour chaque chaîne de traitement du calculateur, la génération de signaux de sortie à destination d'un ou plusieurs modules de sortie, un signal de sortie étant le résultat de l'application d'une 5 première fonction spécifique au signal de sortie à au moins un signal d'entrée reçu. Le procédé comprend pour chaque signal de sortie, le calcul d'une durée de fin de validité du signal de sortie par utilisation d'une deuxième fonction, la deuxième fonction étant déduite de la première fonction spécifique au signal de sortie et appliquée sur les dates d'entrée locale associées à chaque signal d'entrée reçu sur lequel la première fonction spécifique 10 a été appliquée, la transmission de chaque signal de sortie depuis le calculateur vers le module de sortie, et pour chaque durée de fin de validité du signal de sortie, une opération de changement de base de temps depuis l'horloge locale du module d'entrée vers l'horloge locale du module de sortie réalisée par le module de sortie. Suivant des modes de réalisation particuliers, le procédé de synchronisation 15 comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - l'opération de changement de base de temps est compensée d'une marge de sécurité. - la marge de sécurité est inférieure ou égale à la durée de transmission la plus 20 longue d'une donnée entre un module d'entrée et un module de sortie. - le procédé comporte, en outre, l'estimation par chaque module de sortie de chaque décalage entre l'horloge locale du module de sortie et l'horloge locale d'un module d'entrée, et l'opération de changement de base de temps étant fonction du décalage estimé. 25 - le procédé comporte, en outre, l'estimation par chaque module de sortie de chaque décalage entre l'horloge locale du module de sortie et l'horloge locale d'un module d'entrée, et la marge de sécurité étant le décalage le plus grand. La présente description décrit un contrôleur comportant une pluralité de modules d'entrée, un calculateur et une pluralité de modules de sortie, comportant chacun une 30 pluralité de chaînes de traitement redondantes, chaque chaîne de traitement comportant une horloge locale propre cadençant la chaîne de traitement respective, le contrôleur étant adapté pour mettre en oeuvre un procédé de synchronisation, le procédé comprenant pour chaque chaîne de traitement du module d'entrée, pour chaque signal d'entrée produit, l'association d'une date d'entrée locale au signal d'entrée par le module 35 d'entrée ayant produit le signal, la transmission de chaque signal d'entrée depuis un module d'entrée vers le calculateur, pour chaque chaîne de traitement du calculateur, la 3055985 3 génération de signaux de sortie à destination d'un ou plusieurs modules de sortie, un signal de sortie étant le résultat de l'application d'une première fonction spécifique au signal de sortie à au moins un signal d'entrée reçu. Le procédé comprend pour chaque signal de sortie, le calcul d'une durée de fin de validité du signal de sortie par utilisation 5 d'une deuxième fonction, la deuxième fonction étant déduite de la première fonction spécifique au signal de sortie et appliquée sur les dates d'entrée locale associées à chaque signal d'entrée reçu sur lequel la première fonction spécifique a été appliquée, la transmission de chaque signal de sortie depuis le calculateur vers le module de sortie, et pour chaque durée de fin de validité du signal de sortie, une opération de changement de 10 base de temps depuis l'horloge du module d'entrée vers l'horloge du module de sortie réalisée par le module de sortie. La présente description décrit un système comportant un contrôleur tel que précédemment décrit. Suivant des modes de réalisation particuliers, le système comprend une ou 15 plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - le système est un système de gestion de la circulation d'au moins un véhicule dans une installation ferroviaire, l'installation ferroviaire comprenant des voies, au moins un véhicule adapté pour circuler sur les voies et au moins une station le 20 contrôleur étant propre à assurer l'arrivée du véhicule à chaque station et le départ du véhicule à chaque station. - le contrôleur est installé à bord du véhicule. La présente description décrit une installation ferroviaire comprenant des voies, au moins un véhicule adapté pour circuler sur les voies, et au moins un système tel que 25 décrit précédemment. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui suit de modes de réalisation de l'invention, la description étant donnée à titre d'exemple uniquement et en référence aux dessins qui sont : figure 1, une représentation schématique d'une installation ferroviaire, 30 figure 2, un ordinogramme d'un exemple de mode de fonctionnement de l'installation ferroviaire, figure 3, un ordinogramme d'un exemple de mise en oeuvre d'un autre exemple de procédé de synchronisation, figures 4 et 5, des ordinogrammes d'un exemple de mise en oeuvre d'un autre 35 exemple de procédé de synchronisation, et 3055985 4 - figures 6 et 7, un ordinogramme d'un exemple de mise en oeuvre d'un autre exemple de procédé de synchronisation. Une installation ferroviaire 10 est représentée schématiquement sur la figure 1. L'installation ferroviaire 10 est, par exemple, une installation de transport 5 ferroviaire urbain de type métro ou tramway. L'installation ferroviaire 10 comprend des voies 12, au moins une station, au moins un véhicule 16 et un système de gestion 18. Les voies 12 sont propres à assurer la circulation de véhicules 16. Les stations définissent des lieux dans lesquels les véhicules 16 sont susceptibles 10 de stationner. Chaque station comprend au moins un quai. Généralement, un véhicule 16 stationne à un quai d'une station pour permettre la circulation de passagers entre le véhicule 16 et le quai. Au moins certains quais ont des façades de quai. 15 Les façades de quai sont généralement installées en bordure de voies 12 et sont, par exemple, formées par des portes et des façades séparant le quai des voies 12. Les façades et les portes sont, par exemple, vitrées et présentent une hauteur suffisante pour dissuader un individu de les enjamber. Les façades de quai sont destinées à améliorer la sécurité, notamment en 20 empêchant des usagers de se rendre sur les voies 12. Il est défini une position de fermeture et une position d'ouverture pour les façades de quai. Dans la position de fermeture, les portes sont fermées et verrouillées. Dans la position d'ouverture, les portes sont ouvertes et/ou non verrouillées. 25 En outre, les façades de quai installées sur un quai comprennent un module de gestion de façades de quai, non représenté sur les figures. Le module de gestion de façades de quai est adapté pour recevoir des signaux de commande et pour émettre au moins un signal d'état. Dans l'exemple de la figure 1, les signaux de commande sont un signal 30 d'ouverture et un signal de fermeture. A la réception du signal d'ouverture, respectivement de fermeture, le module de gestion de façades de quai est adapté pour passer les façades de quai dans la position d'ouverture, respectivement de fermeture. Le signal d'état est un signal indiquant que les portes des façades de quai sont 35 verrouillées en position de fermeture. 3055985 5 Le véhicule 16 est adapté pour circuler sur les voies 12 et est, par exemple, un véhicule ferroviaire tel un métro ou un tramway. Le système de gestion 18 est destiné à assurer la circulation d'un véhicule 16 dans l'installation ferroviaire 10 indépendamment de la présence ou non de façades de 5 quai. Le système de gestion 18 comprend au moins un contrôleur 20 installé dans chaque véhicule 16. Le contrôleur 20 comporte des modules d'entrée 22, un calculateur 24 et des modules de sortie 26. 10 En variante, le contrôleur 20 comporte une pluralité de calculateurs 24. Le système de gestion 18 comporte aussi une interface de communication 28. L'interface de communication 28 est notamment propre à assurer une communication bidirectionnelle entre le contrôleur 20 d'une part et des équipements installés sur les quais d'autre part. 15 L'interface de communication 28 est aussi propre à assurer une communication entre chaque module d'entrée 22 et chaque module de sortie 26. Par exemple, les communications entre le module de gestion des façades et le contrôleur 20 ou un élément du contrôleur 20 sont mises en oeuvre par voie radio via l'interface de communication 28 et les communications entre les modules d'entrée 22 et 20 de sortie 26 sont mises en oeuvre par voie filaire. Le contrôleur 20 est, par exemple, la partie embarquée d'un système CBTC. Dans ce cas, le contrôleur est, par exemple, l'ATC embarqué, de l'anglais « Automatic Train Control ». Le contrôleur 20 comprend une antenne et est adapté pour échanger par voie 25 radio des messages avec le module de gestion des façades en utilisant l'interface de communication 28. En outre, le contrôleur 20 comprend une mémoire comprenant des instructions logicielles et un processeur propre à exécuter au moins une partie des instructions. En variante, le contrôleur 20 comporte une pluralité de mémoires et/ou une 30 pluralité de processeurs, chaque mémoire comprenant des instructions logicielles et chaque processeur étant propre à exécuter au moins une partie des instructions. Chaque module d'entrée 22 est propre à recevoir des données provenant d'au moins un capteur et à produire un signal d'entrée correspondant à au moins une partie des données reçues. 35 Chaque module d'entrée 22 comporte une pluralité de chaînes de traitement redondantes, la redondance assurant une sécurité du résultat obtenu. 3055985 6 Chaque chaîne de traitement du module d'entrée 22 comporte une première horloge locale 30A propre. La première horloge locale 30A est propre à cadencer la chaîne de traitement. Cela signifie que chaque chaîne de traitement du module d'entrée 22 effectue ses 5 opérations au rythme donné par sa première horloge locale 30A. Chaque chaîne de traitement du module d'entrée 22 est ainsi propre à effectuer des opérations à un rythme basé sur des dates locales fournies par son horloge locale 30A. Chaque chaîne de traitement du module d'entrée 22 comporte aussi une 10 deuxième horloge locale 30B propre. La deuxième horloge locale 30B est propre à dater les événements. En ce sens, la deuxième horloge locale 30B est qualifiable d'horloge sécuritaire. Selon un mode de réalisation, la deuxième horloge locale 30B est un composant physique dédié. 15 Selon un autre mode de réalisation, la deuxième horloge locale 30B est un simple compteur incrémenté par la première horloge locale 30A. Le calculateur 24 comporte une pluralité de chaînes de traitement redondantes, la redondance assurant une sécurité du résultat obtenu. Chaque chaîne de traitement du calculateur 24 comporte une première horloge 20 locale 32A propre cadençant la chaîne de traitement respective. Ainsi, chaque chaîne de traitement est ainsi propre à effectuer des opérations à un rythme basé sur des dates locales fournies par sa première horloge locale 32A. Chaque chaîne de traitement du calculateur 24 comporte aussi une deuxième horloge locale 32B propre. 25 La deuxième horloge locale 32B est propre à dater les événements. En ce sens, la deuxième horloge locale 32B est qualifiable d'horloge sécuritaire. Selon un mode de réalisation, la deuxième horloge locale 32B est un composant physique dédié. Selon un autre mode de réalisation, la deuxième horloge locale 32B est un simple 30 compteur incrémenté par la première horloge locale 32A. Chaque module de sortie 26 est propre à envoyer des ordres à un actionneur, ces ordres étant un signal de sortie. Chaque module de sortie 26 comporte une pluralité de chaînes de traitement redondantes, la redondance assurant une sécurité du résultat obtenu. 35 Chaque chaîne de traitement du module de sortie 26 comporte une première horloge locale 34A propre. 3055985 7 La première horloge locale 34A est propre à cadencer les chaînes de traitement du module de sortie 26. Cela signifie que chaque chaîne de traitement du module de sortie 26 effectue ses opérations au rythme donné par sa première horloge locale 34A. Chaque chaîne de traitement du module de sortie 26 est ainsi propre à effectuer 5 des opérations à un rythme basé sur des dates locales fournies par sa première horloge locale 34A. Chaque chaîne de traitement du module de sortie 26 comporte aussi une deuxième horloge locale 34B propre. La deuxième horloge locale 34B est propre à dater les événements. 10 En ce sens, la deuxième horloge locale 34B est qualifiable d'horloge sécuritaire. Selon un mode de réalisation, la deuxième horloge locale 34B est un composant physique dédié. Selon un autre mode de réalisation, la deuxième horloge locale 34B est un simple compteur incrémenté par la première horloge locale 34A. 15 Sauf mention expresse : - les horloges locales 30, 32 et 34 ne sont pas synchronisées entre elles. - les premières horloges locales A (servant à cadencer) de l'ensemble des chaînes de traitement composant un module donné sont synchronisées par un procédé non décrit. Ainsi, à n'importe quel instant, les chaînes réalisent les 20 mêmes traitements. - les premières et deuxièmes horloges A et B d'une chaîne de traitement donnée sont synchronisées. Ainsi, l'horloge locale B (servant à dater) est mise à jour à la période des cycles. Par horloge locale, dans ce contexte, il est entendu de manière indifférente la 25 première horloge locale 30A, 32A, 34A ou la deuxième horloge locale 30B, 32B, 34B. Ainsi, l'horloge locale 30, 32 et 34 est propre à cadencer une chaîne de traitement et à dater des événements. En outre, la résolution de chaque horloge 30, 32 et 34 est, par exemple, supérieure ou égale à 100 millisecondes. 30 Dans certains modes de réalisation, le système 18 comporte une horloge globale cadençant le système 18. Le contrôleur 20 est propre à assurer une synchronisation entre ses différents éléments par la mise en oeuvre d'un procédé de synchronisation du système 18. Avant de décrire en détail des modes de réalisation de procédé de synchronisation 35 du système 18, il convient de décrire rapidement un mode de fonctionnement de l'installation ferroviaire 10 correspondant à l'état de la technique pour mieux mettre en 3055985 8 évidence les avantages des modes de réalisation de procédé de synchronisation du système 18. Le cas de la figure 2 est ainsi décrit dans ce qui suit. Les cadres repérés par les signes de référence 100, 102, 104, 106, 108, 110, 112, 5 114, 116, 118 et 120 illustrent les éléments principaux de cet exemple de mise en oeuvre. Plus précisément, le cadre 100 représente l'acquisition d'un signal commun ; le cadre 102 représente le pire cas de temps de réponse d'un module d'entrée 22 ; le cadre 104 représente le pire cas de latence dans la transmission de données entre un module d'entrée 22 et le calculateur 24 ; le cadre 106 représente le pire cas de temps de 10 réponse du calculateur 24 : le cadre 108 représente le pire cas de latence dans la transmission de données entre le calculateur 24 et un module de sortie 26 ; les cadres 110 et 112 illustrent schématiquement l'asynchronisme ; le cadre 114 représente le pire cas de temps de réponse d'un module de sortie 26 ; le cadre 116 représente le temps de réponse réel du contrôleur 20 ; le cadre 120 représente la marge de sécurité, le 15 cadre 118 correspondant au temps de réponse en sécurité du contrôleur 20, c'est-à-dire la somme du temps de réponse réel et de la marge de sécurité. Ainsi, dans le mode de fonctionnement illustré par la figure 2, il apparaît que chaque élément du contrôleur 20 met en oeuvre son cycle en utilisant son horloge locale. Les cycles de chaque élément du contrôleur 20 s'exécutent donc de manière asynchrone. 20 Le temps de réponse en sécurité du contrôleur 20 (c'est-à-dire pour lequel le fonctionnement de l'installation ferroviaire 10 est assuré) est la somme de quatre éléments qui sont : le temps de réponse réel du contrôleur 20, le temps de réponse dépendant notamment du temps de réponse des modules d'entrée 22, du temps de réponse du 25 calculateur 24, du temps de réponse des modules de sortie 26, de la latence de l'interface de communication 28 et des asynchronismes entre ces différents éléments du contrôleur 20, la marge à prendre en compte correspondant à la somme des différences entre le temps de réponse réel et le temps de réponse pire cas d'un des modules d'entrée 22, 30 du calculateur 24 et de l'un des modules de sortie 26, la marge due à la différence entre le temps de transmission réel et le temps de transmission pire cas entre un module d'entrée 22 et le calculateur 24, et entre le calculateur 24 et le module de sortie 26, et la marge due à la résolution des horloges 30, 32 ,34 utilisées pour garantir les temps 35 de réponse pire cas et les temps de transmission pire cas 3055985 9 L'ensemble des modes de réalisation de procédé de synchronisation vise à réduire au moins l'un des quatre éléments précédents. Un exemple de mise en oeuvre d'un procédé de synchronisation est à présent décrit en référence à la figure 3. 5 La figure 3 est un ordinogramme dans lequel les cadres repérés par les signes de référence 200, 202, 204, 206 et 208 illustrent les éléments principaux d'un premier exemple de mise en oeuvre d'un procédé de synchronisation. Un tel procédé permet de réduire le temps de réponse réel du contrôleur 20 en supprimant l'asynchronisme entre les horloges locales 30, 32 et 34 en les synchronisant à 10 l'horloge globale. Le procédé de synchronisation comporte l'envoi d'un signal de synchronisation par un module dédié, faisant par exemple partie du contrôleur. Cet envoi est symbolisé par le cadre 208. L'envoi est mis en oeuvre plusieurs fois de manière à assurer une forte 15 redondance dans la réception du signal de synchronisation Le signal de synchronisation se propage avec un temps de latence faible. Selon l'exemple décrit, le signal de synchronisation comporte un identifiant. Dès réception du signal de synchronisation ayant l'identifiant attendu, chaque élément du contrôleur 20 met en oeuvre les opérations à effectuer. 20 Pour garantir le fonctionnement synchrone du contrôleur 20, chaque élément du contrôleur 20 termine ses opérations et transmet les messages avant l'arrivée du signal de synchronisation suivant. En cas d'indisponibilité du signal de synchronisation, l'élément du contrôleur 20 met en oeuvre les opérations à effectuer à une cadence plus lente que la cadence de 25 l'horloge globale illustrée par le cadre 202. Cela permet que, dès que l'élément du contrôleur 20 est à nouveau capable de recevoir le signal de synchronisation, la synchronisation du système 18 soit aisée à mettre en oeuvre. Dans un tel premier exemple, le procédé permet une synchronisation et une mise en oeuvre des opérations à effectuer par le système 18 qui soit plus rapide. Cela est mis 30 en évidence par les cadres 204 et 206 qui montrent que l'asynchronisme est supprimé et que le temps réel de réponse est plus restreint que trois cycles. En outre, le cadre 200 illustre un délai constant permettant d'optimiser le temps de réponse du système 18. Un deuxième exemple de mise en oeuvre d'un procédé de synchronisation est à 35 présent décrit en référence à la figure 4. 3055985 10 La figure 4 est un ordinogramme dans lequel les cadres repérés par les signes de référence 300, 302, 304, 306, 308, 310, 312, 314, 316 et 318 illustrent les éléments principaux d'un deuxième exemple de mise en oeuvre d'un procédé de synchronisation. Il est à noter qu'apparaissent aussi les signes de référence MVD et des crochets, 5 le signe de référence MVD renvoyant au terme anglais « Maximum Validity Duration » qui signifie « durée maximale de validité » et les crochets indiquant soit la valeur minimale sur la base locale de la deuxième horloge à un instant donnée, soit la valeur maximale sur la base locale de la deuxième horloge à un instant donnée. Le procédé comporte, pour chaque signal d'entrée produit par chaque chaîne de 10 traitement d'un module d'entrée 22, l'association d'une date d'entrée exprimée dans l'horloge locale de la chaîne de traitement du module d'entrée 22 ayant produit le signal (voir cadre 306). Le procédé comporte aussi, la transmission de chaque signal d'entrée depuis un module d'entrée 22 vers le calculateur 24. 15 Comme illustré par le cadre 308, le procédé comporte également, la génération de signaux de sortie à destination d'un ou plusieurs modules de sortie 26. Un signal de sortie est le résultat de l'application d'une première fonction fl spécifique au signal de sortie à au moins un signal d'entrée reçu. Le procédé comprend aussi, pour chaque signal de sortie, le calcul d'une durée de 20 fin de validité du signal de sortie par utilisation d'une deuxième fonction f2 (voir cadre 316). La deuxième fonction f2 est déduite de la première fonction fl spécifique au signal de sortie et appliquée sur les dates d'entrée locale associées à chaque signal d'entrée reçu sur lequel la première fonction spécifique fl a été appliquée. 25 Le procédé comprend aussi la transmission de chaque signal de sortie depuis le calculateur 24 vers le module de sortie 26. Le procédé comprend également l'estimation par chaque chaîne de traitement de chaque module de sortie 26, du décalage entre l'horloge locale 34 de la chaîne de traitement du module de sortie 26 et l'horloge locale 30 d'au moins un module 30 d'entrée 22. En outre, l'estimation des décalages est mise à jour périodiquement, et extrapolée entre deux mises à jour. L'estimation est, par exemple, mise en oeuvre par une synchronisation entre le module de sortie 26 et au moins un module d'entrée 22 (voir cadre 300). Par exemple, le 35 module de sortie 26 envoie un signal contenant la date d'envoi selon son horloge locale 34 pour connaître l'heure locale de l'horloge locale 30 du module d'entrée 22. Le 3055985 11 module d'entrée 22 envoie à son tour un signal contenant entre autres la date de réception selon son horloge locale du signal précédemment émis par le module de sortie 26. Le décalage correspond à la différence entre la date de réception par le module d'entrée 22 du signal envoyé par le module de sortie 26 et la date d'envoi par le module 5 de sortie 26 du signal envoyé vers le module d'entrée 22, compensée par la durée de transmission pire cas du signal émis par le module de sortie 26. Autrement formulé, les modules de sortie 26 estiment le décalage entre leur base de temps locale et la base temporelle de chaque module d'entrée 22. Cette opération requiert d'assurer un pire cas de temps de transmission entre le module d'entrée 22 et le 10 module de sortie 26. Comme montré schématiquement par les cadres 300, 310, 312, 316 et 318 le procédé comporte alors, pour chaque durée de fin de validité du signal de sortie une opération de changement de base de temps depuis l'horloge du module d'entrée 22 (voir plus spécifiquement le cadre 316) vers l'horloge du module de sortie 26 (voir cadre 318), 15 dont le résultat est avantageusement compensé d'une marge de sécurité par le module de sortie 26 (voir cadre 312). Dans l'exemple illustré, la marge de sécurité est le pire cas de décalage obtenu à l'étape d'estimation. La marge de sécurité est alors propre à chaque module de sortie 26. Selon un autre mode de réalisation, la marge de sécurité est inférieure ou égale à 20 la durée de transmission la plus longue d'une donnée entre un module d'entrée 22 et un module de sortie 26. Comme le montre schématiquement la figure 5 correspondant au pire scénario, la marges de sécurité liée aux temps de transmission entre un module d'entrée 22 et le calculateur 24 et de transmission entre le calculateur 24 et le module de sortie 26 est 25 réduite. Dans la figure 5, le cadre dont le numéro de référence est 400 correspond à un temps de transfert dégradé ; le cadre 402 à une acquisition dégradée, le cadre 408 à l'arrêt du rafraichissement des données lorsque le temps de fin de validité du signal de sortie a expiré ; le cadre 410 au pire cas de latence du module de sortie 26 ; le cadre 404 30 le temps de réponse réel du contrôleur 20 ; le cadre 412 représente la marge de sécurité, le cadre 406 correspondant au temps de réponse en sécurité du contrôleur 20, c'est-à-dire la somme du temps de réponse réel et de la marge de sécurité. Un troisième exemple de mise en oeuvre d'un procédé de synchronisation est à présent décrit en référence aux figures 6 et 7. 35 Le procédé supprime la synchronisation des horloges locales A et B d'une chaîne de traitement donnée. L'horloge servant à cadencer A est mise à jour à la période du 3055985 12 cycle de la chaîne de traitement. L'horloge servant à dater est mise à jour à une période bien inférieure, celle-ci n'étant plus contrainte par la durée des traitements à réaliser à chaque cycle. Le procédé définit une horloge supplémentaire sur chaque chaîne de traitement de 5 chaque module, appelée horloge du module. Selon un mode de réalisation, l'horloge du module est un composant physique dédié. Selon un autre mode de réalisation, l'horloge du module est un simple compteur incrémenté par l'horloge locale B. Le procédé de synchronisation comporte la fourniture d'un premier instant par 10 l'horloge globale pour chaque chaîne de traitement. En variante, la fourniture du premier instant est effectuée par une des chaînes de traitement. Dans l'exemple représenté, il n'est considéré que deux chaînes de traitement. Les horloges locales de chaque chaîne du module considéré sont illustrées respectivement 15 par le cadre 504 et le cadre 506. Le procédé comporte aussi la conversion du premier instant en premier instant local pour chaque chaîne de traitement. Le procédé comprend également la mise en oeuvre de la même série d'opérations sur les mêmes données d'entrées sur chaque chaîne de traitement à partir du premier 20 instant local. Il est ensuite incrémenté l'horloge locale B propre de chaque chaîne de traitement tant que la série d'opérations est mise en oeuvre, pour obtenir un deuxième instant local. Le procédé comporte alors le calcul de l'intervalle de temps local défini comme la différence entre le deuxième instant local et le premier instant local. 25 Les deux intervalles de temps locaux ainsi obtenus sont représentés respectivement par le cadre 500 et le cadre 502. Il est ensuite mis en oeuvre la comparaison des intervalles de temps locaux calculés pour déterminer un intervalle de temps local commun à une majorité de chaîne de traitement. 30 Selon un mode de réalisation, la comparaison est mise en oeuvre par un mécanisme de vote. Chaque chaîne de traitement incrémente son horloge du module d'une quantité égale à l'intervalle de temps local commun déterminé précédemment. L'horloge du module est ainsi synchronisée sur les deux chaînes de traitement. L'horloge du module 35 résultante est représentée par le cadre 508. 3055985 13 L'horloge du module est utilisée par chaque chaîne de traitement pour dater les évènements. Dans ce cas, il apparaît bien que l'erreur temporelle d'attribution d'une date à n'importe quel instant T1 est fonction de la période entre deux instants d'incrémentation 5 de l'horloge du module 510. Un tel procédé permet de réduire la marge due à la résolution de l'horloge globale puisque le procédé proposé ne fait pas appel à l'horloge globale pour dater un instant pour toutes les deuxièmes horloges locales 30B, 32B et 34B, la période entre 2 instants d'incrémentation de l'horloge du module pouvant être inférieure à la période de l'horloge 10 globale Selon un autre mode de réalisation illustrée par la figure 7 (voir notamment cadres 600, 602, 604, 606, 608, 610), le procédé comporte, en plus du procédé décrit précédemment, un calcul d'estimation de l'horloge du module entre les deux instants de mise à jour de l'horloge du module. 15 Entre ces deux instants, à tout instant, chaque chaîne incrémente son horloge de module. A tout instant, chaque chaîne de traitement peut estimer la valeur minimum de l'horloge du module, par exemple en soustrayant à la valeur courante de l'horloge du module, une marge de sécurité. De même, chaque chaîne de traitement peut estimer la 20 valeur maximum de l'horloge du module en ajoutant à la valeur courante de l'horloge du module, une seconde marge de sécurité. L'horloge du module résultante est représentée par le cadre 608. Formulé autrement, le procédé comporte la fourniture d'une première marge de temps. Il est à noter que cette marge est soit une constante, soit calculée en fonction de 25 la durée écoulée entre l'instant de l'opération considérée, et le temps écoulée depuis la dernière resynchronisation des horloges du module. Le procédé comprend également la fourniture d'un instant local correspondant à l'exécution de la même opération sur chacune des chaînes de traitement du module considéré, la datation dudit instant local dans l'horloge du module de chaque chaîne de traitement du module considéré, et la 30 fixation d'un minorant de l'ensemble des horloges du module à l'instant d'exécution de l'opération considérée comme étant le minimum des datations locales auquel la première marge de temps est soustraite. Selon un autre mode de réalisation ou en complément, le procédé comporte la fourniture d'une deuxième marge de temps, la fourniture d'un instant local correspondant 35 à l'exécution de la même opération sur chacune des chaînes de traitement du module considéré, la datation dudit instant local dans l'horloge du module de chaque chaîne de 3055985 14 traitement du module considéré, et la fixation d'un majorant de l'ensemble des horloges du module à l'instant d'exécution de l'opération considérée comme étant le maximum des datations locales auquel la deuxième marge de temps est additionnée. Les marges de sécurité sont calculées en fonction de la précision des instants 5 locaux sur chacune des chaînes et de la résolution de l'horloge locale. Dans ce cas, il apparaît bien que l'erreur temporelle d'attribution d'une date à n'importe quel instant est une fonction de la résolution de l'horloge locale de chaque chaîne et des performances de synchronisation entre chaque chaîne (voir cadre 610). L'ensemble des modes de réalisation de procédé de synchronisation proposé 10 permettent donc de réduire au moins l'un parmi le temps de réponse réel du contrôleur 20, la marge liée au temps de réponse du contrôleur, la marge due aux temps de transmission et la marge due à la résolution de l'horloge globale. En combinant les modes de réalisation, lorsque cela est techniquement possible, de nouveaux modes de réalisation du procédé de synchronisation sont obtenus, ces 15 nouveaux modes présentant des performances améliorées en termes de rapidité tout en garantissant une réponse du système 18 remplissant les critères de sécurité. Par ailleurs, le système 18 proposé s'applique pour d'autres domaines de l'automatisation pour les systèmes distribués, pourvu que soit présent un contrôleur présentant des caractéristiques similaires au contrôleur 20 précédemment décrit. 20 REVENDICATIONS1.- Procédé de synchronisation d'un système (18) comportant une pluralité de modules d'entrée (22), un calculateur (24) et une pluralité de modules de sortie (26), comportant chacun une pluralité de chaînes de traitement redondantes, chaque chaîne de traitement comportant une horloge locale (30, 32, 34) propre cadençant la chaîne de traitement respective, le procédé comportant : - pour chaque chaîne de traitement du module d'entrée (22), pour chaque signal d'entrée produit, l'association d'une date d'entrée locale au signal d'entrée par le module d'entrée (22) ayant produit le signal, - la transmission de chaque signal d'entrée depuis un module d'entrée (22) vers le calculateur (24), - pour chaque chaîne de traitement du calculateur (24), la génération de signaux de sortie à destination d'un ou plusieurs modules de sortie (26), un signal de sortie étant le résultat de l'application d'une première fonction spécifique au signal de sortie à au moins un signal d'entrée reçu, - pour chaque signal de sortie, le calcul d'une durée de fin de validité du signal de sortie par utilisation d'une deuxième fonction, la deuxième fonction étant déduite de la première fonction spécifique au signal de sortie et appliquée sur les dates d'entrée locale associées à chaque signal d'entrée reçu sur lequel la première fonction spécifique a été appliquée, - la transmission de chaque signal de sortie depuis le calculateur (24) vers le module de sortie (26), et - pour chaque durée de fin de validité du signal de sortie, une opération de changement de base de temps depuis l'horloge locale du module d'entrée (22) vers l'horloge locale du module de sortie (26) réalisée par le module de sortie (26). 2.- Procédé selon la revendication 1, dans lequel l'opération de changement de base de temps est compensée d'une marge de sécurité. 3.- Procédé selon la revendication 2, dans lequel la marge de sécurité est inférieure ou égale à la durée de transmission la plus longue d'une donnée entre un module d'entrée (22) et un module de sortie (26). 4.- Procédé selon l'une quelconque des revendications 1 à 3, dans lequel le procédé comporte, en outre : 3055985 16 - l'estimation par chaque module de sortie (26) de chaque décalage entre l'horloge locale (34) du module de sortie (26) et l'horloge locale (30) d'un module d'entrée (22), l'opération de changement de base de temps étant fonction du décalage estimé. 5 5.- Procédé selon la revendication 2 ou 3, dans lequel le procédé comporte, en outre : - l'estimation par chaque module de sortie (26) de chaque décalage entre l'horloge locale (34) du module de sortie (26) et l'horloge locale (30) d'un module d'entrée 10 (22), la marge de sécurité étant fonction du décalage le plus grand. 6.- Contrôleur (20) comportant une pluralité de modules d'entrée (22), un calculateur (24) et une pluralité de modules de sortie (26), comportant chacun une 15 pluralité de chaînes de traitement redondantes, chaque chaîne de traitement comportant une horloge locale (30, 32, 34) propre cadençant la chaîne de traitement respective, le contrôleur (20) étant adapté pour mettre en oeuvre un procédé de synchronisation, le procédé comprenant : - pour chaque chaîne de traitement du module d'entrée (22), pour chaque signal 20 d'entrée produit, l'association d'une date d'entrée locale au signal d'entrée par le module d'entrée (22) ayant produit le signal, - la transmission de chaque signal d'entrée depuis un module d'entrée (22) vers le calculateur (24), - pour chaque chaîne de traitement du calculateur (24), la génération de signaux 25 de sortie à destination d'un ou plusieurs modules de sortie (26), un signal de sortie étant le résultat de l'application d'une première fonction spécifique au signal de sortie à au moins un signal d'entrée reçu, - pour chaque signal de sortie, le calcul d'une durée de fin de validité du signal de sortie par utilisation d'une deuxième fonction, la deuxième fonction étant déduite 30 de la première fonction spécifique au signal de sortie et appliquée sur les dates d'entrée locale associées à chaque signal d'entrée reçu sur lequel la première fonction spécifique a été appliquée, - la transmission de chaque signal de sortie depuis le calculateur (24) vers le module de sortie (26), et 3055985 17 - pour chaque durée de fin de validité du signal de sortie, une opération de changement de base de temps depuis l'horloge du module d'entrée (22) vers l'horloge du module de sortie (26) réalisée par le module de sortie (26). 5 7.- Système comportant un contrôleur (20) selon la revendication 6. 8.- Système selon la revendication 7, dans lequel le système (18) est un système de gestion de la circulation d'au moins un véhicule (16) dans une installation ferroviaire (10), l'installation ferroviaire (10) comprenant des voies (12), au moins un véhicule (16) 10 adapté pour circuler sur les voies (12) et au moins une station, le contrôleur (20) étant propre à assurer l'arrivée du véhicule (16) à chaque station et le départ du véhicule (16) à chaque station. 9.- Système selon la revendication 8, dans lequel le contrôleur (20) est installé à 15 bord du véhicule (16). 10.- Installation ferroviaire (10) comprenant : - des voies (12), - au moins un véhicule (16) adapté pour circuler sur les voies (12), et 20 - au moins un système (18) selon l'une quelconque des revendications 7 à 9.