Brevet FR3164296A1 — publié le 20260109

L’invention concerne un dispositif pour synchroniser ou adapter un signal d’horloge pour un logiciel. Ce dispositif comprend un processeur exécutant le logiciel sur la base d’un signal d’horloge. Il inclut un module de temporisation de mesure qui incrémente une valeur de temporisation basée sur l’horloge du dispositif, ainsi qu’une unité de sortie. Une unité d’entrée est prévue pour recevoir un signal d’entrée. Le dispositif comprend également une unité de registre qui stocke la valeur actuelle du temporisateur de mesure à la fin de la période de synchronisation. Lors de la réception d’un signal d’entrée, le module de temporisation de mesure est conçu pour réinitialiser sa valeur à une valeur de départ. L’invention est caractérisée par une unité de comparaison qui compare la valeur de temporisation stockée dans l’unité de registre avec la période de synchronisation et adapte, au moins une durée de période suivante du signal d’horloge. Figure 1 Dispositif et procédé de synchronisation ou d’adaptation d’un signal d’horloge d’un logiciel La présente invention concerne un dispositif et un procédé pour synchroniser ou adapter le signal d’horloge d’un logiciel, ainsi qu’un système correspondant. Pour des raisons de sécurité, il est souvent avantageux que plusieurs instances d’un même logiciel ou même des logiciels conçus différemment soient exécutés sur des processeurs indépendants, par exemple pour exécuter des fonctions critiques dans le contrôle ou la surveillance d’un véhicule terrestre ou aérien de manière redondante et aussi découplée entre eux que possible. Cependant, il est avantageux que les différents logiciels soient exécutés de manière synchrone en temps. Étant donné que les horloges de différentes unités de calcul ne peuvent jamais être exploitées de manière totalement synchrone en raison des tolérances existantes, un décalage des signaux d’horloge des unités de calcul respectives se produit avec le temps, ce qui perturbe la synchronisation temporelle des différents logiciels sur les unités de calcul respectives. Les domaines d’application typiques pour le fonctionnement synchrone en temps d’un logiciel sur différentes unités de calcul, contrôleurs ou processeurs sont la mise en œuvre redondante de fonctions critiques réalisées par logiciel. L’idée de la présente invention peut également être intégrée dans une architecture de contrôle/surveillance, où l’exécution synchrone en temps de différents logiciels est également importante. Dans les applications en temps réel, le logiciel de contrôle est généralement exécuté avec une période fixe de quelques millisecondes. Si deux contrôleurs fonctionnent de manière asynchrone, le temps de transmission des données entre les contrôleurs peut varier (Jitter) de la durée de la période du logiciel. Ceci doit être pris en compte lors de la conception du système, ce qui entraîne des efforts supplémentaires. Le Jitter causé par l’exécution asynchrone du logiciel affecte également le temps de réaction aux événements externes nécessitant une coordination entre les contrôleurs. Pour la synchronisation de la base de temps au niveau de l’application, différentes protocoles sont disponibles dans l’état de l’art, tels que le Network Time Protocol (NTP) et le Precision Time Protocol (PTP). Ces protocoles permettent la synchronisation des participants au réseau via un bus numérique. L’inconvénient est qu’une synchronisation par protocole augmente l’effort et le temps d’exécution du logiciel pour le traitement de la communication, ce qui laisse moins de temps pour les tâches de contrôle réelles. De plus, le temps de transmission via le bus limite la précision atteignable. L’objectif de la présente invention est de créer un dispositif, un procédé ou un système qui surmonte ou du moins atténue les inconvénients susmentionnés. L’objectif de la présente invention est plus particulièrement de synchroniser le point de départ d’une période logicielle sur deux contrôleurs indépendants avec le moins de temps de calcul possible et une haute précision ( 1 µs). Selon l’invention, un dispositif est prévu, plus particulièrement un microcontrôleur, pour synchroniser ou adapter un signal d’horloge pour un logiciel, comprenant un processeur pour exécuter le logiciel sur la base du signal d’horloge, dans lequel le signal d’horloge définit le début ou la fin d’une période logicielle, un module de temporisation de mesure qui incrémente une valeur de temporisation sur la base d’une horloge du dispositif, une unité de sortie conçue pour émettre un signal de sortie vers une sortie de signal du dispositif au début d’une période de synchronisation définie par la période logicielle ou un multiple de la période logicielle et une unité d’entrée conçue pour recevoir un signal d’entrée à une entrée de signal du dispositif, une unité de registre conçue pour enregistrer une valeur de temporisation actuelle du module de temporisation de mesure à la fin d’une période de synchronisation, dans lequel le module de temporisation de mesure est conçu pour réinitialiser la valeur de temporisation à une valeur de départ, plus particulièrement à zéro, lors de la réception d’un signal d’entrée. L’invention est caractérisée par une unité de comparaison conçue pour comparer la valeur de temporisation enregistrée dans l’unité de registre avec la période de synchronisation et pour adapter, en fonction d’un résultat de comparaison, au moins une durée de période suivante du signal d’horloge pour le logiciel exécuté sur le processeur, plus particulièrement la prolonger ou la raccourcir. Le dispositif, ou le microcontrôleur, est capable de réinitialiser une valeur de temporisation (ou valeur de compteur) en fonction d’un signal d’entrée, le signal reçu via l’unité d’entrée pouvant indiquer le début d’une période de synchronisation d’une autre entité. Le dispositif apprend ainsi de combien sa période de synchronisation est décalée par rapport à une période de synchronisation de l’autre entité, de sorte qu’une adaptation de la période de synchronisation est réalisable en fonction du décalage déterminé. La restauration possible d’une synchronicité des deux périodes de synchronisation de différents dispositifs réduit le Jitter qui pourrait autrement résulter d’une exécution asynchrone de différentes instances d’un même logiciel lors d’une comparaison des signaux de sortie du logiciel. De plus, selon l’invention, aucune synchronisation basée sur un protocole n’est nécessaire, car les avantages du dispositif décrit ci-dessus ne nécessitent pas de protocole. De plus, selon la présente invention, un dispositif, plus particulièrement un microcontrôleur, peut également être prévu pour synchroniser ou adapter un signal d’horloge pour un logiciel, comprenant un processeur pour exécuter le logiciel sur la base du signal d’horloge, dans lequel le signal d’horloge définit le début ou la fin d’une période logicielle, un module de temporisation de mesure qui incrémente une valeur de temporisation sur la base d’une horloge du dispositif, une unité de sortie conçue pour émettre un signal de sortie vers une sortie de signal du dispositif au début d’une période de synchronisation définie par la période logicielle ou un multiple de la période logicielle, et une unité d’entrée conçue pour recevoir un signal d’entrée à une entrée de signal du dispositif, une unité de registre conçue pour enregistrer une valeur de temporisation actuelle du module de temporisation de mesure lors de la réception d’un signal d’entrée, dans lequel le module de temporisation de mesure est conçu pour réinitialiser la valeur de temporisation à une valeur de départ, plus particulièrement à zéro, au début d’une période de synchronisation. L’invention est caractérisée par une unité de comparaison conçue pour comparer la valeur de temporisation enregistrée dans l’unité de registre avec la période de synchronisation et pour adapter, en fonction d’un résultat de comparaison, adapter au moins une durée de période suivante du signal d’horloge pour le logiciel exécuté sur le processeur, plus particulièrement la prolonger ou la raccourcir. La FIG. 2 montre que cette fois, ce n’est plus T Capture , mais directement ΔT qui est déterminé, la synchronisation étant présente lorsque la valeur de temporisation du module de temporisation de mesure est à 0 ou à une valeur légèrement différente. Selon un développement facultatif de la présente invention, il peut être prévu que l’horloge du dispositif ait une fréquence supérieure à la fréquence de l’horloge pour l’exécution du logiciel exécuté sur le processeur, l’horloge du dispositif présentant, de préférence, une fréquence plus de 100 fois, en core plus de préférence, plus de 1000 fois supérieure à la fréquence de l’horloge pour l’exécution du logiciel exécuté sur le processeur. L’horloge du dispositif correspond typiquement à l’horloge de calcul du processeur du dispositif et se situe, pour les microcontrôleurs connus de l’état de l’art, dans une plage de plusieurs centaines de MHz ou de quelques Gigahertz. Il faut la distinguer du signal d’horloge pour le logiciel exécuté par le processeur, car celui-ci a typiquement une fréquence nettement inférieure à l’horloge du dispositif. Il est donc facilement possible de détecter ou de spécifier la période logicielle ou même la période de synchronisation comme un multiple de l’horloge du dispositif. Un module de temporisation qui est incrémenté à chaque battement du dispositif peut donc déterminer de manière assez précise la durée de la période logicielle ou de la période de synchronisation, ou une sous-section de celle-ci. Selon un développement avantageux de la présente invention, il peut être prévu que l’unité de comparaison soit conçue pour prolonger ou raccourcir, en fonction du résultat de la comparaison, la durée de la période suivante du signal d’horloge pour le logiciel exécuté sur le processeur de la moitié de la différence de temps déterminée par le résultat de la comparaison. Ainsi, si, avec le dispositif selon l’invention, un décalage est détecté au début de la période de synchronisation, un début de la période de synchronisation d’un autre dispositif ayant été communiqué via l’unité d’entrée, la totalité du décalage n’est pas nécessairement compensée dans l’un des dispositifs comparés entre eux, mais, selon cette mise en œuvre avantageuse, chacun des deux dispositifs peut également compenser la moitié du décalage, de sorte qu’un début ultérieur de la période de synchronisation des dispositifs comparés recommence simultanément. Cependant, il est clair pour l’homme du métier que la compensation due au décalage constaté peut également être mise en œuvre dans un seul des plusieurs dispositifs, ce qui représente toutefois la mise en œuvre la moins préférée. Selon un autre développement facultatif de la présente invention, il peut être prévu que l’unité de comparaison soit conçue pour prolonger ou raccourcir, en fonction du résultat de la comparaison, plusieurs durées de périodes suivantes du signal d’horloge pour le logiciel exécuté sur le processeur d’une fraction de la différence de temps déterminée par le résultat de la comparaison, de préférence la fraction étant ou , où N est le nombre des plusieurs durées de périodes suivantes du signal d’horloge à prolonger ou à raccourcir pour le logiciel exécuté sur le processeur. Dans le cas où différents logiciels doivent être synchronisés entre eux, il arrive souvent que les périodes logicielles à synchroniser aient des durées différentes. Dans un tel cas, la période de synchronisation est alors le plus petit commun multiple des deux périodes logicielles de longueurs différentes. Si une déviation est alors constatée dans la comparaison de la synchronisation, il est avantageux de ne pas compenser ce décalage de synchronisation au sein d’une seule période logicielle, car le degré de compensation, c’est-à-dire la déviation par rapport à une période logicielle non corrigée, serait nettement plus important que si la compensation souhaitée était mise en œuvre sur plusieurs périodes logicielles. Pour cette raison, il est proposé de ne pas compenser l’écart constaté par rapport à la période de synchronisation au sein d’une seule période logicielle, mais d’utiliser le nombre total de périodes logicielles disponibles (dans une période de synchronisation). Le facteur de 0,5 résulte, comme expliqué ci-dessus, de la considération que l’autre dispositif avec lequel la synchronisation doit être obtenue effectue également une compensation de sa période de synchronisation à parts égales. En outre, selon la présente invention, il peut être prévu que l’unité de comparaison soit conçue pour diviser la valeur de temporisation enregistrée dans l’unité de registre par une fréquence caractérisant l’horloge du dispositif afin d’obtenir une période de mesure. Étant donné que la valeur de temporisation représente une période de l’horloge du dispositif, la durée mesurée avec la valeur de temporisation peut être obtenue en divisant par la fréquence d’horloge du processeur (= fréquence de l’horloge du dispositif). Selon un développement facultatif de la présente invention, il peut être prévu que le dispositif comprenne en outre un module de temporisation d’horloge qui incrémente une valeur de temporisation sur la base de l’horloge du dispositif et émet un signal d’interruption lorsqu’une valeur cible de temporisation prédéfinie est atteinte, la valeur cible de temporisation prédéfinie divisée par la fréquence de l’horloge du dispositif donnant la période logicielle, et l’unité de comparaison étant conçue pour exécuter la durée de période suivante au moins d’un signal d’horloge pour le logiciel exécuté sur le processeur en adaptant la valeur cible de temporisation. Le signal d’interruption émis signale alors la fin de la période logicielle. Pour adapter la durée de la période logicielle conformément aux considérations exposées ci-dessus, c’est-à-dire la réduire ou la prolonger, la valeur cible du temporisateur est modifiée en conséquence. Ainsi, si une prolongation d’une période logicielle est nécessaire pour atteindre une synchronisation, la valeur cible du temporisateur précédemment utilisée est augmentée (une seule fois). Inversement, si une réduction d’une période logicielle est nécessaire pour atteindre une synchronisation, la valeur cible du temporisateur précédemment utilisée est réduite (une seule fois). Selon un développement avantageux de la présente invention, il peut en outre être prévu que l’unité d’entrée soit réalisée par une unité Capture/Compare (CCU), configurée en mode Capture, et/ou que l’unité de sortie soit réalisée par une unité d’entrée/sortie à usage général (GPIO). Une Capture Compare Unit (CCU) est une unité fonctionnelle spéciale, dans des microcontrôleurs et d’autres processeurs de signaux numériques, qui permet l’acquisition et le traitement précis des signaux. Cette unité permet de capturer et d’enregistrer des points temporels spécifiques d’événements externes, ainsi que d’effectuer des opérations de comparaison pour réaliser des tâches de contrôle précises et temporisées. En mode Capture, la CCU saisit la valeur actuelle du temporisateur (ou valeur du compteur) dès qu’une fin de la période de synchronisation est détectée, par exemple en détectant un flanc descendant de la période de synchronisation. De plus, la CCU est conçue de manière à réinitialiser son temporisateur intégré à zéro lorsque l’unité d’entrée reçoit un signal d’entrée spécifique (par exemple, un flanc ascendant ou descendant). Un GPIO, ou General Purpose Input/Output, est une broche numérique universellement utilisable sur les microcontrôleurs et autres circuits intégrés, qui peut être conçu à la fois comme entrée et comme sortie. Ces broches offrent une interface polyvalente pour l’interaction d’un microcontrôleur avec le monde extérieur. Conçu comme une sortie, un pin GPIO peut contrôler des dispositifs externes, le signal de synchronisation caractérisant la durée de synchronisation du microcontrôleur associé étant émis ici, de sorte qu’il peut être reçu par un autre dispositif via l’unité d’entrée, plus particulièrement la CCU. L’invention concerne en outre un système pour synchroniser ou adapter un signal d’horloge de plusieurs logiciels exécutés en parallèle, comprenant un premier dispositif selon l’une des configurations précédemment discutées, et un second dispositif selon l’une des configurations précédemment discutées, dans lequel l’unité de sortie du premier dispositif est connectée à l’unité d’entrée du second dispositif et l’unité de sortie du second dispositif est connectée à l’unité d’entrée du premier dispositif, de préférence chaque logiciel des plusieurs logiciels exécutés en parallèle est exécuté par le processeur respectif des plusieurs dispositifs. Ceci décrit l’interaction avantageuse de plusieurs dispositifs conformes à l’invention en tant que système, dans lequel les logiciels fonctionnant indépendamment les uns des autres des dispositifs individuels peuvent être synchronisés entre eux. Il peut être prévu, de manière avantageuse, que la période de synchronisation soit le plus petit commun multiple de la période logicielle du premier dispositif et de la période logicielle du second dispositif. L’invention concerne en outre un procédé pour synchroniser ou adapter un signal d’horloge respectif pour plusieurs logiciels exécutés en parallèle, plus particulièrement avec un dispositif selon l’une des configurations exposées ou un système selon les configurations précédemment exposées, comprenant les étapes suivantes : définition d’une période logicielle respective pour les plusieurs logiciels à synchroniser entre eux, qui sont exécutés par des unités de calcul respectives, de préférence comme un multiple d’une horloge de dispositif d’une unité de calcul respective (processeur) qui exécute un logiciel associé ; définition d’une période de synchronisation comme le plus petit commun multiple des plusieurs périodes logicielles respectives ; réalisation d’une mesure de temps, dans laquelle le point de départ de la mesure de temps pour une première unité de calcul est le début de la période de synchronisation d’une deuxième unité de calcul et le point final de la mesure de temps pour la première unité de calcul est la fin de la période de synchronisation de la première unité de calcul, et le point de départ de la mesure de temps pour une deuxième unité de calcul est le début de la période de synchronisation d’une première unité de calcul et le point final de la mesure de temps pour la deuxième unité de calcul est la fin de la période de synchronisation de la deuxième unité de calcul, dans laquelle chaque unité de calcul compare le résultat de la mesure de temps avec la période de synchronisation et, en fonction de celle-ci, adapte une période de synchronisation suivante respective d’au moins un, plus particulièrement la prolonge ou la raccourcit. De manière similaire à ce qui se passe dans le dispositif, dans le procédé selon l’invention, le début de la période de synchronisation d’une autre unité de calcul est également utilisé pour réinitialiser un compteur, de sorte qu’une déviation de la propre période de synchronisation par rapport à l’autre période de synchronisation puisse être détectée à la fin de la propre période de synchronisation. En fonction de la déviation déterminée, la période de synchronisation suivante est alors prolongée ou raccourcie afin de rétablir un fonctionnement synchrone avec l’autre période de synchronisation, qui peut également être prolongée ou raccourcie en conséquence. L’invention concerne en outre un procédé pour synchroniser ou adapter un signal d’horloge respectif pour plusieurs logiciels exécutés en parallèle, plus particulièrement avec un dispositif selon l’une des configurations exposées ou un système selon les configurations précédemment exposées, comprenant les étapes suivantes : définition d’une période logicielle respective pour les plusieurs logiciels à synchroniser entre eux, qui sont exécutés par des unités de calcul respectives, de préférence comme un multiple d’une horloge de dispositif d’une unité de calcul respective (processeur) qui exécute un logiciel associé ; définition d’une période de synchronisation comme le plus petit commun multiple des plusieurs périodes logicielles respectives ; réalisation d’une mesure de temps, dans laquelle le point de départ de la mesure de temps pour une première unité de calcul est le début de sa propre période de synchronisation et le point final de la mesure de temps pour la première unité de calcul est le début d’une période de synchronisation d’une deuxième unité de calcul, et le point de départ de la mesure de temps pour une deuxième unité de calcul est le début de sa propre période de synchronisation et le point final de la mesure de temps pour la deuxième unité de calcul est le début de la période de synchronisation de la première unité de calcul, dans laquelle chaque unité de calcul compare le résultat de la mesure de temps avec la période de synchronisation et, en fonction de celle-ci, adapte une période de synchronisation suivante respective d’au moins un, plus particulièrement la prolonge ou la raccourcit. Selon une autre modification avantageuse de la présente invention, il peut être prévu que, si la période logicielle est égale à la période de synchronisation, la période logicielle suivante est prolongée ou raccourcie de la moitié de l’écart constaté dans la comparaison. En variante ou en outre, il peut être prévu que, si la période logicielle est un N-multiple de la période de synchronisation, N périodes logicielles suivantes sont prolongées ou raccourcies de la valeur fois ou de la valeur fois l’écart constaté dans la comparaison. Le facteur de ½ peut par exemple être omis si seulement l’un des deux dispositifs à fonctionner de manière synchrone procède à une adaptation et l’autre continue à fonctionner sans adaptation. Selon un autre développement avantageux de la présente invention, il peut être prévu que, si une valeur mesurée par le module de temporisation de mesure lors de la comparaison est supérieure au double de la période de synchronisation, il est conclu qu’une erreur est présente, de préférence que l’autre logiciel parallèle est inactif. Si la valeur mesurée par la mesure de temps est plus de deux fois supérieure à la période de synchronisation, il y a une erreur, ce qui permet de conclure que l’autre logiciel n’est plus accessible ou disponible. Selon un autre développement avantageux de la présente invention, il peut être prévu qu’une séquence de résultats de comparaison obtenus lors de chaque comparaison soit enregistrée et analysée, et qu’en cas d’atteinte d’un seuil prédéfini des résultats de comparaison sur un nombre prédéfini de comparaisons consécutives, une erreur soit conclue, plus particulièrement une perte de synchronisation imminente. Ainsi, selon la présente invention, il peut également être prévu que la valeur mesurée obtenue pendant une mesure de temps soit enregistrée, de sorte qu’au fil du temps, une multitude de valeurs mesurées enregistrées (T Capture ) soit disponible et puisse être soumise à une analyse. Si l’on constate que, pendant une certaine période de temps, la valeur mesurée dépasse ou est inférieure en permanence à un seuil prédéfini, c’est-à-dire que le rétablissement de la synchronisation doit être assuré de manière continue par l’adaptation de la période de synchronisation, cela permet de conclure que l’écart ne peut pas être corrigé. On doit alors supposer que l’un des deux logiciels ou dispositifs à exécuter de manière synchrone ne respecte pas (de manière permanente) la période de synchronisation. La perte de synchronisation peut donc être détectée très tôt, mais il ne peut pas être déterminé lequel des logiciels ou dispositifs à exécuter de manière synchrone en est la cause. L’invention concerne également un aéronef avec un dispositif selon l’une des configurations précédemment discutées, un système selon les configurations précédemment discutées ou une unité de commande pour l’exécution d’un procédé selon l’une des configurations précédemment discutées. D’autres caractéristiques, détails et avantages de l’invention ressortiront de la description des figures suivante. Les figures suivantes montrent : FIG. 1 : une représentation schématique d’un système selon l’invention avec deux dispositifs selon l’invention, et FIG. 2 : des schémas pour la représentation de la période de synchronisation et de la valeur de temporisation incrémentée au fil du temps du module de temporisation de mesure pour les dispositifs de la FIG. 1 . La FIG. 1 représente un système 10 qui comprend deux dispositifs 1 selon l’invention. Selon le mode de réalisation représenté, chaque dispositif 1 est constitué d’un microcontrôleur (MCU 1 et MCU 2), dans lequel l’unité de sortie 2 du premier dispositif 1 est connectée à l’unité d’entrée 3 du second dispositif 1. De plus, l’unité de sortie 2 du second dispositif est connectée à l’unité d’entrée 3 du premier dispositif. Comme représenté, l’unité de sortie 2 peut être réalisée par une broche GPIO (GPIO : General Purpose Input/Output), tandis que l’unité d’entrée 3 peut être une Capture/Compare-Unit (CCU), qui est exploitée en mode Capture. Dans ce mode, un registre de compteur incrémenté par l’horloge interne du processeur est réinitialisé à zéro lorsque l’état de la broche CCU change. La CCU est conçue de sorte que le registre est réinitialisé avec un seul flanc (soit ascendant, soit descendant) d’un signal appliqué à la broche correspondante, mais pas avec les deux types de flancs. L’unité de sortie 2 est conçue de sorte qu’un signal est émis lors d’un flanc ascendant d’une période de synchronisation, de sorte que l’autre dispositif 1 est informé du début de la période de synchronisation (via une signalisation à l’unité d’entrée 3). La FIG. 2 explique le processus de synchronisation des deux dispositifs 1, tels que représentés dans la FIG. 1 . La synchronisation se déroule alternativement en deux phases consécutives : la phase de mesure et la phase d’adaptation. Dans la phase de mesure, un décalage de la période de synchronisation (T Sync ) par rapport à l’autre dispositif 1 est d’abord déterminé dans chaque dispositif 1, puis ce décalage est compensé dans la phase d’adaptation qui suit. Cela se fait en adaptant la période de synchronisation (T Sync ) d’une valeur dépendant du décalage déterminé. Il convient d’abord de définir la période de synchronisation (T Sync ) des deux dispositifs 1, celle-ci dépendant d’une durée de période du logiciel exécuté sur le premier dispositif 1 et sur le second dispositif. Une période logicielle (T SW ) définit un cycle de travail du logiciel respectif, dont la fréquence est nettement inférieure à la fréquence d’horloge du processeur utilisé pour exécuter le logiciel. Si le logiciel est exécuté sur les deux dispositifs 1, ou microcontrôleurs, avec la même période (T SW ), alors la période de synchronisation (T Sync ) correspond à la période logicielle (T SW ). Si, en revanche, les périodes logicielles (T SW ) des deux programmes exécutés par les processeurs respectifs des différents dispositifs 1 sont différentes, la période de synchronisation (T Sync ) correspond au plus petit commun multiple des deux périodes logicielles différentes (T SW ). Il s’applique donc ici : T sync = kgV (T SW1 , T SW2 ) où T SW1 est la période logicielle du logiciel sur le premier dispositif 1 et T SW2 est la période logicielle du logiciel sur le second dispositif 1. Une éventuelle valeur de correction ΔT pour la période de synchronisation (T Sync ) peut alors être répartie sur le nombre respectif de périodes logicielles (T SW ) si les périodes logicielles (T SW ) sont différentes. La FIG. 2 représente la période de synchronisation (T Sync ) pour chacun des deux dispositifs à synchroniser, ainsi que la progression incrémentielle du module de temporisation de mesure, qui est réinitialisé lors d’un flanc ascendant de la période de synchronisation de l’autre dispositif. Dans la phase de mesure, un signal est émis vers l’autre dispositif 1 sur la base de la période de synchronisation (T Sync ) prévalant dans un dispositif 1. À cette fin, un signal est envoyé via l’unité de sortie lors d’un flanc ascendant de la période de synchronisation (T Sync ) à l’unité d’entrée 3 de l’autre dispositif, ce qui, dans le dispositif 1 qui reçoit le signal, entraîne une réinitialisation de la valeur du compteur du module de temporisation de mesure. L’exemple du premier microcontrôleur MCU 1 montre au début le flanc ascendant, qui, représenté par une flèche en pointillés, entraîne une réinitialisation du module de temporisation de mesure du second microcontrôleur MCU 2 à une valeur de départ, en l’occurrence zéro. Le module de temporisation de mesure du premier microcontrôleur MCU 1 est également réinitialisé de la même manière lors d’un flanc ascendant de la période de synchronisation (T Sync ) dans le second microcontrôleur MCU 2, cette réinitialisation se produisant avec un décalage de ΔT 1 . Dans chacun des deux microcontrôleurs MCU1 et MCU2, la valeur de temporisation (état du compteur) actuelle du module de temporisation de mesure est enregistrée lors d’un flanc descendant de la période de synchronisation (T Sync ) correspondante, cette valeur étant désignée par T Capture dans la FIG. 2 . Le module de temporisation de mesure peut faire partie d’une CCU du dispositif. Dans la phase d’adaptation, la valeur de temporisation enregistrée du module de temporisation de mesure, qui indique le temps entre une dernière réinitialisation et un flanc descendant de la période de synchronisation (T Sync ), est utilisée pour déterminer une déviation (TΔ) du dispositif par rapport à l’autre dispositif. Il existe essentiellement les cas différents représentés ci-dessous, qui peuvent être déterminés dans un dispositif à partir du temps mesuré (T Capture ) par rapport à la période de synchronisation : T Capture ≈ T Sync : le temps mesuré correspond exactement à la période de synchronisation ou ne présente qu’une légère déviation par rapport à celle-ci (il se situe donc dans une déviation prédéfinie par rapport à la période de synchronisation), de sorte que l’on peut supposer que les deux dispositifs ou les deux microcontrôleurs fonctionnent de manière synchrone ou à peu près synchrone. Aucune adaptation n’est nécessaire. T Capture Sync : le temps mesuré est inférieur à la période de synchronisation, ce qui indique que la période de synchronisation est « trop tôt ». Dans la FIG. 2 , cela s’applique au premier microcontrôleur MCU1. La durée de la phase suivante devrait donc être prolongée afin de rétablir un fonctionnement synchrone avec l’autre microcontrôleur. T Capture > T Sync : le temps mesuré est supérieur à la période de synchronisation, ce qui indique que la période de synchronisation est « trop tard ». Dans la FIG. 2 , cela s’applique au second microcontrôleur MCU2. La durée de la phase suivante devrait donc être raccourcie afin de rétablir un fonctionnement synchrone avec l’autre microcontrôleur. T Capture > 2 x T Sync : cela indique qu’aucun signal de synchronisation n’a été détecté du côté opposé. On suppose donc que le côté opposé n’est pas actif et qu’aucune synchronisation n’est donc possible, ce qui est considéré comme un cas d’erreur. La FIG. 2 montre que dans la phase d’adaptation, l’écart détecté par chaque microcontrôleur est compensé de moitié. Étant donné que chacun des deux contrôleurs effectue une compensation de moitié, l’un des microcontrôleurs prolongeant la phase suivante et l’autre la raccourcissant, la période de synchronisation des deux microcontrôleurs est à nouveau synchronisée après la phase d’adaptation, de sorte que les périodes de synchronisation suivantes commencent à nouveau au même moment. L’invention peut également prévoir que seul l’un des deux microcontrôleurs effectue une adaptation de sa période de synchronisation. Dans ce cas, bien sûr, l’intégralité de l’écart constaté doit être ajustée. Cela pourrait être avantageux pour le microcontrôleur qui n’a pas à ajuster sa phase, car une unité correspondante pour ajuster la période de synchronisation n’est pas nécessaire. Un autre avantage est que si seule une compensation unilatérale est effectuée, plusieurs participants peuvent se synchroniser. Bien qu’une synchronisation exclusivement bilatérale soit plus rapide, elle ne permet que deux participants. Si la période de synchronisation est différente de la période logicielle du logiciel exécuté sur le microcontrôleur, la valeur à corriger peut être répartie sur le nombre respectif de périodes logicielles qui s’écoulent pendant une période de synchronisation. Ainsi, par exemple, pour un microcontrôleur qui compense la moitié de l’écart constaté, la valeur de compensation peut être répartie à parts égales sur le nombre de périodes logicielles qui, ensemble, correspondent à une période de synchronisation et s’écoulent pendant celle-ci. Cela permet d’effectuer un grand nombre de petits ajustements, ce qui a moins d’effets négatifs qu’un ajustement temporel plus important d’une seule période logicielle. La mise en œuvre concrète d’une période logicielle corrigée est typiquement réalisée par la modification d’un registre de chargement dans un temporisateur matériel (hardware timer). La période de synchronisation est généralement également contrôlée par un module de temporisation qui génère une interruption lorsqu’une valeur de temporisation prédéfinie est atteinte, pour signaler que la période de synchronisation est terminée. Pour le début d’une nouvelle période de synchronisation, on utilise une valeur du registre de chargement, qui est responsable de la durée jusqu’à l’émission du signal d’interruption. Pour raccourcir ou prolonger la période de synchronisation, la valeur dans le registre de chargement est ajustée en conséquence, de sorte qu’un écart par rapport à la valeur précédente du registre de chargement entraîne un raccourcissement ou une prolongation de la période de synchronisation. De plus, un cas d’erreur peut être détecté si le temps mesuré est supérieur au double de la période de synchronisation. Normalement, cela permet de conclure qu’un des deux générateurs d’horloge du microcontrôleur est défectueux, de sorte que le logiciel ne peut pas être exécuté avec la période attendue. Habituellement, un chien de garde (watchdog) avec un générateur d’horloge indépendant est utilisé pour assurer le comportement en temps réel du logiciel. Si la durée de période d’un logiciel s’écarte trop, le processeur concerné est réinitialisé ou une autre gestion des erreurs est initiée. Il serait alors détecté qu’en raison d’un écart (T Capture > 2 x T Sync ), l’interlocuteur n’est plus disponible. De plus, selon l’invention, il peut également être prévu que les valeurs du temps mesuré T Capture soient stockées et analysées, afin de pouvoir détecter si un écart est durablement trop important. Cela indiquerait qu’un écart dans la synchronisation des deux dispositifs ne peut pas être compensé, de sorte qu’il faut supposer que l’un des deux côtés ne peut pas respecter le temps requis de la période de synchronisation (T Sync ). Bien que cela ne permette pas de déterminer quel côté dévie, une perte de synchronisation peut être détectée plus tôt qu’avec un chien de garde. La présente invention atteint les avantages décrits ci-dessus avec peu d’effort en matériel et logiciel, en utilisant des composants standard, et atteint une très haute précision. Dispositif (1), plus particulièrement microcontrôleur, pour synchroniser ou adapter un signal d’horloge pour un logiciel, comprenant : un processeur pour exécuter le logiciel sur la base du signal d’horloge, le signal d’horloge définissant le début ou la fin d’une période logicielle ; un module de temporisation de mesure qui incrémente une valeur de temporisation sur la base d’une horloge du dispositif ; une unité de sortie (2), conçue pour émettre un signal de sortie vers une sortie de signal du dispositif au début d’une période de synchronisation (T Sync ) définie par la période logicielle ou un multiple de la période logicielle ; une unité d’entrée (3), conçue pour recevoir un signal d’entrée à une entrée de signal du dispositif (1) ; et une unité de registre, conçue pour enregistrer une valeur de temporisation actuelle (T Capture ) du module de temporisation de mesure à la fin d’une période de synchronisation (T sync ), dans lequel le module de temporisation de mesure est conçu pour réinitialiser, lors de la réception d’un signal d’entrée, la valeur de temporisation à une valeur de départ, plus particulièrement à zéro, caractérisé par une unité de comparaison, conçue pour comparer la valeur de temporisation enregistrée (T Capture ) avec la période de synchronisation (T Sync ) et, en fonction d’un résultat de comparaison (ΔT), adapter au moins une durée de période suivante du signal d’horloge pour le logiciel exécuté sur le processeur, plus particulièrement la prolonger ou la raccourcir. Dispositif (1) selon la revendication 1, dans lequel l’horloge du dispositif a une fréquence supérieure à la fréquence de l’horloge pour l’exécution du logiciel exécuté sur le processeur, de préférence l’horloge du dispositif ayant une fréquence plus de 100 fois, plus préférablement plus de 1000 fois supérieure à la fréquence de l’horloge pour l’exécution du logiciel exécuté sur le processeur. Dispositif (1) selon l’une des revendications précédentes, dans lequel l’unité de comparaison est conçue pour, en fonction du résultat de comparaison (ΔT), prolonger ou raccourcir la durée de la période suivante du signal d’horloge pour le logiciel exécuté sur le processeur de la moitié de la différence de temps déterminée par le résultat de comparaison (ΔT). Dispositif (1) selon l’une des revendications précédentes, dans lequel l’unité de comparaison est conçue pour, en fonction du résultat de comparaison (ΔT), prolonger ou raccourcir plusieurs durées de périodes suivantes du signal d’horloge pour le logiciel exécuté sur le processeur d’une fraction de la différence de temps déterminée par le résultat de comparaison (ΔT), dans lequel, de préférence, la fraction est , où N est le nombre des plusieurs durées de périodes suivantes du signal d’horloge à prolonger ou à raccourcir pour le logiciel exécuté sur le processeur. Dispositif (1) selon l’une des revendications précédentes, dans lequel l’unité de comparaison est conçue pour diviser la valeur de temporisation enregistrée (T Capture ) par une fréquence caractérisant l’horloge du dispositif, afin d’obtenir une période de mesure. Dispositif (1) selon l’une des revendications précédentes, comprenant en outre : un module de temporisation d’horloge, qui incrémente une valeur de temporisation sur la base de l’horloge du dispositif et émet un signal d’interruption lorsqu’une valeur cible de temporisation prédéfinie est atteinte, dans lequel la valeur de temporisation prédéfinie divisée par la fréquence de l’horloge du dispositif donne la période logicielle, et l’unité de comparaison est conçue pour exécuter la durée de période suivante au moins d’un signal d’horloge pour le logiciel exécuté sur le processeur par un ajustement de la valeur cible de temporisation. Dispositif (1) selon l’une des revendications précédentes, dans lequel : l’unité d’entrée (3) est réalisée par une unité de capture et de comparaison (CCU), configurée en mode Capture ; et/ou l’unité de sortie (2) est réalisée par une unité d’entrée/sortie à usage général (GPIO). Système (10) pour la synchronisation ou l’adaptation d’un signal d’horloge de plusieurs logiciels exécutés en parallèle, comprenant : un premier dispositif (1) selon l’une des revendications 1 à 7 et un second dispositif (1) selon l’une des revendications 1 à 7, dans lequel l’unité de sortie (2) du premier dispositif (1) est connectée à l’unité d’entrée (3) du second dispositif (1) et l’unité de sortie (2) du second dispositif (1) est connectée à l’unité d’entrée (3) du premier dispositif (1), de préférence dans lequel un logiciel respectif des plusieurs logiciels exécutés en parallèle est exécuté par le processeur respectif des plusieurs dispositifs (1). Système (10) selon la revendication 8, dans lequel la période de synchronisation (T Sync ) est le plus petit commun multiple de la période logicielle du premier dispositif (1) et de la période logicielle du second dispositif (1). Procédé pour la synchronisation ou l’adaptation d’un signal d’horloge respectif pour plusieurs logiciels exécutés en parallèle, plus particulièrement avec un dispositif (1) selon l’une des revendications 1 à 7 ou un système (10) selon les revendications 8 à 9, comprenant les étapes suivantes : définition d’une période logicielle respective pour les plusieurs logiciels à synchroniser entre eux, qui sont exécutés par des unités de calcul respectives, de préférence comme un multiple d’une horloge de dispositif d’une unité de calcul respective, laquelle exécute un logiciel associé, définition d’une période de synchronisation (T Sync ) comme le plus petit commun multiple des périodes logicielles respectives, réalisation d’une mesure de temps, dans laquelle le point de départ de la mesure de temps pour une première unité de calcul est le début de la période de synchronisation (T Sync ) d’une deuxième unité de calcul et le point final de la mesure de temps pour la première unité de calcul est la fin de la période de synchronisation (T Sync ) de la première unité de calcul, et le point de départ de la mesure de temps pour une deuxième unité de calcul est le début de la période de synchronisation (T Sync ) d’une première unité de calcul et le point final de la mesure de temps pour la deuxième unité de calcul est la fin de la période de synchronisation (T Sync ) de la deuxième unité de calcul, dans lequel chaque unité de calcul compare le résultat de la mesure de temps avec la période de synchronisation (T Sync ) et, en fonction de celle-ci, adapte au moins une période de synchronisation (T Sync ) suivante, plus particulièrement la prolonge ou la raccourcit. Procédé selon la revendication 10, dans lequel, si la période logicielle est égale à la période de synchronisation (T Sync ), la période logicielle suivante est prolongée ou raccourcie de la moitié de l’écart constaté dans la comparaison. Procédé selon l’une des revendications 10 ou 11, dans lequel, si la période logicielle est un N-multiple de la période de synchronisation (T Sync ), les périodes logicielles suivantes sont prolongées ou raccourcies de fois la valeur de l’écart constaté dans la comparaison. Procédé selon l’une des revendications 10 à 12, dans lequel, si une valeur mesurée constatée lors de la comparaison est supérieure au double de la période de synchronisation (T Sync ), il est indiqué qu’un cas d’erreur est présent, de préférence que l’autre logiciel parallèle est inactif. Procédé selon l’une des revendications 10 à 13, dans lequel une séquence de résultats de comparaison (ΔT) obtenus dans chaque comparaison est stockée et analysée, et si un seuil prédéfini des plusieurs résultats de comparaison (ΔT) est atteint sur un nombre prédéfini de comparaisons effectuées consécutivement, un cas d’erreur est déduit, plus particulièrement une perte de synchronisation imminente. Aéronef avec un dispositif (1) selon l’une des revendications 1 à 7, un système (10) selon les revendications 8 ou 9, ou une unité de commande pour exécuter un procédé selon l’une des revendications 10 à 14.