Brevet FR3046856A1 — publié le 20170721

La présente invention a pour objet un procédé de comptage d'une durée de service de mesure de temps sur un signal d'horloge comportant des transitions d'horloge périodiques ainsi que de détermination d'une durée réelle de mesure de temps en fonction de la durée de service, le signal d'horloge ayant subi un étalement de spectre. La présente invention a aussi pour objet un procédé de compensation du décalage entre durées de service et durées réelles de mesure de temps dans le signal d'horloge. De même, la présente invention a pour objet des circuits respectifs de comptage et de compensation pour la mise en oeuvre de ces procédés. La présente invention s'applique à un signal d'horloge ayant subi un étalement de spectre de fréquence pour diminuer l'amplitude de la raie de fréquence d'horloge selon un algorithme de variation périodique provoquant une modulation en fréquence des transitions d'horloge du signal et créant une différence entre durée réelle et durée de service. En électronique, un signal d'horloge est un signal électrique oscillant et périodique qui rythme les actions d'un circuit électronique et notamment la synchronisation des divers éléments présents dans le circuit. Le signal d'horloge présente périodiquement une transition d'horloge se produisant à une fréquence précise dite fréquence d'horloge. Cette fréquence d'horloge d'un circuit électronique, par exemple un circuit intégré à application spécifique plus connu sous l'abréviation d'ASIC ou un microprocesseur, est visible lors de mesures d'interférences électromagnétiques, ces mesures évaluant la perturbation que cause le circuit électronique sur d'autres appareils électroniques se trouvant dans son environnement. Dans le domaine spectral, une horloge est visible sous la forme d'une élévation brutale d'amplitude à la fréquence d'horloge. Les graphes résultant présentent un trait vertical et il est commun de parler de raie de fréquence à ce sujet. Pour limiter l'amplitude d'une raie de fréquence d'horloge, il est connu de soumettre le signal d'horloge à un étalement de spectre. Une modulation de la transition du signal d'horloge est alors appliquée volontairement afin de réduire le niveau de la raie à la fréquence d'horloge. Ceci peut être fait en utilisant un algorithme de variation périodique créant un étalement de spectre. Il peut être utilisé différents algorithmes d'étalement avec des paramètres différents concernant essentiellement un taux d'étalement, un mode d'épandage et/ou de modulation. 3046856 2 Par l'application d'un algorithme de variation pour étalement de spectre sur un signal d'horloge, la précision du signal d'horloge est affectée par une modulation sur la fréquence d'horloge. La périodicité du signal d'horloge est également affectée. On peut continuer à parler de périodicité sur un temps de service lié aux impulsions d'horloge 5 déformée mais ce n'est plus vrai à ce niveau sur un temps réel. Sur le temps réel, la périodicité se ramène à celle de l'algorithme de variation. A la figure 1, il peut être vu un pourcentage de précision, indiqué en ordonnée, en fonction du temps, indiqué en abscisse, du signal d'horloge ayant subi un étalement de spectre par un algorithme de variation linéaire de plus ou moins 5 % de la 10 fréquence d'horloge et une période de 100 ps de l'algorithme de variation linéaire. Pour un étalement de spectre, l'algorithme de variation le plus communément utilisé est un algorithme linéaire, périodique et symétrique parce qu'il donne une distribution uniforme de la fréquence d'horloge dans un intervalle de fréquences choisi. Il est cependant possible d'utiliser dans le cadre de la présente invention un 15 autre algorithme d'étalement de spectre à condition que celui-ci soit périodique. La symétrie et la linéarité de l'algorithme de variation pour l'étalement de spectre ne sont pas des conditions nécessaires. A la figure 2, il est illustré un exemple non limitatif d'un algorithme d'étalement de spectre linéaire, périodique et symétrique. Comme autres exemples d'algorithme, il est 20 possible de citer sans que cela soit limitatif un algorithme sinusoïdal ou un algorithme linéaire avec variations de pas en pas formant des marches d'escalier. La figure 2 est en deux parties, avec une première partie à gauche illustrant un algorithme de variation linéaire périodique et symétrique en triangles AES, AES étant l'acronyme pour algorithme d'étalement spectral, en fonction du temps. L'algorithme AES 25 présente en fréquence F un maximum positif de décalage de fréquence Fhmax et un maximum négatif de décalage de fréquence Fhmin se succédant périodiquement avec une période t p durant un temps t. L'étalement de spectre provoqué par la mise en oeuvre de cet algorithme de variation AES est montré dans la partie à droite de la figure 2. La raie de fréquence 30 d'horloge sans étalement de spectre, référencée Fh, a été transformée en une zone de fréquences de niveau légèrement plus élevé que le bruit de fond spectral. Cette zone est encadrée par une fréquence minimale Fhmin et une fréquence maximale Fhmax après étalement de spectre. Le problème du décalage des transitions dans un signal d'horloge après 35 étalement de spectre de fréquence a été reconnu par l'état de la technique mais aucune solution satisfaisante n'a jusqu'ici été trouvée. 3046856 3 Par exemple, le document US-A-6 731 667 décrit un circuit de récupération d'un signal d'horloge afin de réduire les émissions électromagnétiques par étalement de spectre. Un générateur d'étalement de spectre reçoit un signal d'horloge d'entrée et génère un signal d'horloge modulé en fréquence. Un tampon à retard nul traite le signal 5 d'horloge modulé et génère un signal d'horloge de sortie. Le signal d'horloge modulé en fréquence et le signal d'horloge de sortie sont alignés en phase de sorte qu'il n'y a pas de différence de phase entre le signal d'horloge de sortie et le signal d'horloge modulé en fréquence. Le circuit de récupération d'horloge comprend en outre un circuit de boucle à 10 verrouillage de retard qui réduit le décalage en fréquence. Un tel procédé est difficile de mise en oeuvre, le tampon à retard nul impliquant un certain délai de traitement qui est préjudiciable à la précision du signal d'horloge de sortie. Le problème à la base de la présente invention est d'effectuer, d'une part, une mesure de décalage du signal d'horloge et, d'autre part, une compensation de ce 15 décalage. A cet effet, la présente invention concerne un procédé de comptage d'une durée de service de mesure de temps sur un signal d'horloge comportant des transitions d'horloge périodiques dans un circuit électronique et de détermination d'une durée réelle de mesure de temps en fonction de la durée de service, le signal d'horloge ayant subi un 20 étalement de spectre selon un algorithme de variation périodique provoquant une modulation en fréquence des transitions d'horloge dudit signal et créant une différence entre durée réelle et durée de service, remarquable en ce qu'il est procédé au comptage pendant des incréments de temps successifs d'au moins un temps de service pour le démarrage, d'un temps de service pour l'arrêt et, à partir de ces temps de service pour le 25 démarrage et pour l'arrêt, il est procédé à la détermination de temps réels pour le démarrage et pour l'arrêt servant au calcul de la durée réelle de mesure en fonction des paramètres de l'algorithme de variation. La présente invention est basée sur le fait que, comme un algorithme spécifique d'étalement de spectre, présentant des paramètres de variation connus faisant 30 varier la fréquence d'horloge dans une bande limitée de fréquence, est appliqué sur le signal d'horloge, il est possible d'utiliser ces paramètres de variation pour établir une relation entre durée réelle de mesure et durée de service afin de conserver les compteurs de temps aussi précis qu'ils l'étaient avant étalement de spectre. Il est à noter que la durée de service peut aussi être comptée en même temps 35 que les temps de service pour le démarrage et pour l'arrêt. Avantageusement, la différence entre la durée réelle de mesure tmr et la durée de service tms s'établit en fonction des temps réels t d, t a pour le démarrage et 3046856 4 pour l'arrêt et des temps de service t d s, t a s pour le démarrage et pour l'arrêt selon la formule suivante : Tmr - tms = (t _a - t a s) - (t _d -t d s) L'algorithme de variation étant périodiquement oscillant entre des fréquences 5 maximales et minimales, les paramètres de l'algorithme sont au moins la période de l'algorithme et un point d'application de l'algorithme se référant aux fréquences maximales ou minimales ou à un point médian entre fréquences maximales et minimales. Dans la différence entre durée de service et durée réelle tout multiple de la période de l'algorithme s'exprime par la même valeur de temps de service et de temps 10 réel et ne contribue pas dans cette différence. Avantageusement, il est procédé au comptage des temps de service pour le démarrage et pour l'arrêt ainsi que de la durée de service, une impulsion d'armement étant émise pour marquer l'initialisation du procédé, une impulsion de synchronisation étant émise périodiquement en correspondance avec l'algorithme de variation, avec, pour 15 chaque comptage respectif des temps et durée de service, une émission d'une impulsion de départ initiant le début du comptage du temps de service pour l'arrêt et de la durée de service pour la mesure et initiant la fin du comptage du temps de service pour le démarrage, le temps de service pour le démarrage étant compté entre la dernière impulsion de synchronisation précédant l'impulsion de départ et cette impulsion de départ, 20 la durée de service étant comptée entre l'impulsion de départ et l'impulsion pour l'arrêt, l'impulsion pour l'arrêt terminant aussi le comptage du temps de service pour l'arrêt débutant avec la dernière impulsion de synchronisation précédant l'impulsion d'arrêt. Avantageusement, pour une modulation d'horloge donnée, il est élaboré une table donnant la durée réelle en fonction de la durée de service et un relevé donnant les 25 différences arrondies à un multiple d'une période d'horloge en fonction d'un rang dans une succession d'impulsions. L'invention concerne aussi un procédé de compensation du décalage entre durées de service et durées réelles de mesure de temps, lequel comprend un procédé de détermination d'une durée de service sur un signal d'horloge dans un circuit électronique 30 tel que décrit précédemment, dans lequel la compensation se fait en fonction des durées réelles et de service précédentes selon des impulsions d'horloge précédentes avec : - à partir du relevé donnant les différences arrondies à un nombre entier de périodes d'horloge en fonction d'un rang dans une succession d'impulsions, détermination des rangs d'impulsion à partir desquels un décalage d'une période d'horloge, respectivement positif ou négatif, est observé par rapport à l'absence de modulation, avec formation d'un premier groupe de nombres de rang d'impulsion associé à une augmentation dans le comptage des impulsions 3046856 5 d'horloge et d'un deuxième groupe de nombres de rang d'impulsion associé à une diminution dans le comptage des impulsions d'horloge, - attribution d'un rang pour une impulsion à un instant donné dans une succession d'impulsions d'un signal d'horloge, 5 - comparaison de ce rang attribué avec les nombres de rang des premiers et deuxièmes groupes et détermination si le rang attribué appartient au premier, au deuxième groupe ou à aucun des deux groupes, - pour chaque impulsion, mise à jour d'un biais dynamique égal à l'erreur entre durée réelle et durée de service, ce biais dynamique diminuant, augmentant ou 10 restant stable en fonction de l'appartenance au premier, au deuxième ou à aucun des groupes, - parallèlement à ces étapes, comptage de la durée de service avec détermination d'une durée réelle correspondante et d'une deuxième erreur entre durée réelle et durée de service ainsi comptée, 15 - comparaison des première et deuxième erreurs, - émission d'un indicateur d'évènement dès qu'une comparaison donne une égalité entre première et deuxième erreurs. Avantageusement, pour les première et deuxième erreurs, il est ajouté un talon constant en tant qu'entier naturel positif suffisant pour que les première et deuxième 20 erreurs soient toujours supérieures à O. Avantageusement, pour un algorithme de variation périodique symétrique servant à l'étalement de spectre, il est relevé les différences arrondies à un nombre entier de périodes d'horloge en limitant ce relèvement à une demi-période de l'algorithme de variation. 25 L'invention comprend un circuit de comptage pour la mise en oeuvre d'un tel procédé de détermination d'une durée de service par rapport à un signal d'horloge, lequel comprend trois compteurs de temps associés respectivement au comptage du temps de service pour le démarrage de la mesure, du temps de service pour l'arrêt de la mesure et de la durée de service de mesure et des moyens d'émission d'impulsions d'armement, 30 d'impulsions d'horloge, d'impulsions de synchronisation, d'impulsions pour le départ et d'impulsions pour l'arrêt, avec : - un premier basculeur émettant un signal dit de départ vers le premier compteur mesurant un temps de service pour le démarrage, matérialisant un armement du système de mesure, avec mise à 1 du signal de départ par une première 35 impulsion d'armement et mise à 0 du signal par une impulsion de départ, le comptage du temps par le premier compteur se faisant en fonction d'un signal d'horloge quand le signal de départ est mis à 1, 3046856 6 - des moyens de transmission au premier compteur d'une première impulsion de synchronisation remettant le premier compteur à 0, - un deuxième basculeur émettant un signal dit de durée démarrage-arrêt vers un deuxième compteur mesurant une durée de service, avec mise à 1 du signal par 5 une impulsion de départ et mise à 0 du signal par une impulsion pour l'arrêt, le comptage du temps par le deuxième compteur se faisant en fonction du signal d'horloge quand le signal pour l'arrêt est mis à 1, - un troisième basculeur émettant un signal dit d'arrêt vers un troisième compteur mesurant un temps de service pour l'arrêt avec une mise à 1 du signal par une 10 impulsion d'armement et une mise à 0 du signal par une impulsion d'arrêt, le comptage du temps par le troisième compteur se faisant en fonction du signal d'horloge quand le signal d'arrêt est mis à 1, - des moyens de transmission au troisième compteur d'impulsions de synchronisation remettant le troisième compteur à zéro, 15 - des moyens de transmission respectifs aux trois compteurs d'une impulsion d'armement remettant ces compteurs à zéro. L'invention comprend un circuit de compensation pour la mise en oeuvre d'un tel procédé de compensation du décalage entre durée de mesure de service et durée de mesure réelle, lequel comprend : 20 - un compteur d'impulsions dans un circuit de signal d'horloge, le compteur d'impulsions attribuant un rang à chaque impulsion d'une succession d'impulsions, - des modules de comparaison du rang attribué à chaque impulsion effective des premier et deuxième groupes, avec chacun des rangs de la succession 25 d'impulsions, un module étant présent pour chaque rang d'impulsion effective des premier et deuxième groupes, - un registre de direction déterminant un ajout ou un retranchement dans la mise à jour d'un biais dynamique par une première cellule d'évaluation d'une première erreur, la première cellule présentant, pour chaque impulsion, des moyens 30 d'ajout ou de retranchement du biais dynamique à la première erreur, - une deuxième cellule d'évaluation d'une seconde différence entre une durée réelle et une durée de service, la durée de service étant mesurée par un décompteur à partir d'une impulsion de départ et la durée réelle étant introduite en complément dans la deuxième cellule, 35 - une cellule de comparaison effectuant la comparaison entre les première et deuxième cellules avec émission d'un indicateur d'évènement quand les première et deuxième erreurs sont égales. 3046856 7 D'autres caractéristiques, buts et avantages de la présente invention apparaîtront à la lecture de la description détaillée qui va suivre et au regard des dessins annexés donnés à titre d'exemples non limitatifs et sur lesquels : - la figure 1 est une courbe montrant le pourcentage d'imprécision lors d'un 5 étalement de spectre avec un algorithme de variation linéaire de 5 % de la fréquence d'horloge et d'une période de 100 ps, ceci sans la correction par compensation proposée par la présente invention, - la figure 2 se compose de deux représentations schématiques avec, d'une part, une partie de la courbe de l'algorithme de variation d'étalement de 10 spectre avec une variation de fréquence pendant le temps, cet algorithme étant du type variation linéaire, périodique et symétrique et, d'autre part l'impact spectral, soit un intervalle de variation de fréquence d'horloge après étalement de spectre. Le procédé de comptage et de détermination d'une durée réelle de mesure de temps en fonction de la durée de service 15 ainsi que le procédé de compensation d'une modulation de transition d'horloge selon la présente invention peuvent être mis en oeuvre en relation avec un tel algorithme d'étalement de spectre, - la figure 3 montre diverses formes de réalisation d'un algorithme de variation pour étalement de spectre sur le signal d'étalement de fréquence 20 d'horloge, l'application de chacune de ces formes de réalisation donnant une densité spectrale spécifique, les procédés selon la présente invention pouvant être mis en oeuvre pour le signal d'horloge ayant subi un tel étalement, - les figures 4a, 4b, 4c et 4d illustrent respectivement la variation en 25 fréquence de quatre modes différents d'algorithme de variation pour un étalement de spectre avec illustrations à ces figures de la durée de service et de la durée réelle, les procédés selon la présente invention pouvant être mis en oeuvre pour de tels algorithmes, - les figures 5 et 6 montrent, pour la figure 5, un schéma d'un circuit de 30 comptage pour les étapes de comptage d'une durée de service dans les procédés selon la présente invention et, pour la figure 6, un chronogramme des diverses impulsions et des signaux rythmant le comptage de la durée de service dans les procédés selon la présente invention, 35 - les figures 7a, 7b et 8a, 8b illustrent un diagramme du circuit de compensation pour la mise en oeuvre du procédé de compensation selon la présente invention, ce circuit étant montré à la figure 7a sous son mode de 3046856 8 réalisation pour un exemple d'algorithme périodique et symétrique et à la figure 7b pour le même exemple d'algorithme périodique sans recours à la symétrie, ce circuit étant montré à la figure 8a sous son mode de réalisation pour un algorithme périodique et symétrique et à la figure 8b 5 sous son mode de réalisation d'un algorithme périodique, symétrique ou non. La présente invention concerne après un étalement de spectre réalisé sur une bande de fréquence relative à la suppression d'une raie d'horloge, la correction en synchronisation de la valeur des compteurs en prenant en compte le type d'algorithme de 10 variation appliqué pour l'étalement de spectre. Cette correction se décompose, d'une part, en un comptage d'une durée de service de mesure et en l'établissement d'une correspondance, conséquence de la modulation d'horloge, entre la durée de service de mesure et une durée réelle de mesure pour la détermination de la durée réelle et, d'autre part, en une compensation de ce 15 décalage d'horloge. Le comptage et la détermination de la durée réelle peuvent être faits sans être suivis de la compensation ou en mettant en oeuvre une autre forme de compensation. Dans le cas d'une compensation, le comptage et la correspondance sont faits préalablement à la compensation, la compensation tenant compte du comptage et de la relation de correspondance établie entre durées de service et durée réelle. 20 Les figures 1 et 2 ont déjà été décrites dans la partie introductive de la présente demande, en illustrant un étalement de spectre connu de l'état de la technique. La figure 3 montre l'effet de plusieurs algorithmes de variation pour étalement de spectre AES sur le spectre de fréquences avec leur effet sur une densité spectrale référencée DS. Y figurent un algorithme de variation linéaire qui aboutit à une densité 25 spectrale en créneau, un algorithme de variation sinusoïdale qui aboutit à une densité spectrale en double bosse, un algorithme de variation en sinusoïde redressée (alternances négatives) qui aboutit à une densité spectrale évoquant un trapèze arrondi. Comme autres formes d'algorithmes, il pourrait être cité un algorithme de variation en marches d'escalier qui aboutirait à une densité spectrale en forme de peigne, 30 et un algorithme à pentes plus fortes au extrêmes qui aboutirait à une densité spectrale en forme de cloche. Pour une période et des valeurs extrêmes identiques dans l'algorithme les densités spectrales ont toutes la même aire, ce qui implique un niveau très élevé pour le peigne de fréquences, comparativement aux autres formes de densité spectrales. Le peigne de fréquence représente déjà, cependant, un intérêt substantiel par 35 rapport à une fréquence unique (absence de modulation), l'amplitude étant divisée par le nombre de paliers dans la forme en marches d'escalier. 3046856 9 Dans les figures 4a, 4b, 4c et 4d qui vont suivre, il a été choisi, comme instant de synchronisation, le maximum de variation positive de l'algorithme d'étalement de spectre. Cette synchronisation est utilisée dans l'effacement des compteurs. Il peut cependant être choisi un autre point de la courbe de l'algorithme, par exemple le 5 maximum de variation négative, la valeur nominale ou tout autre point de la courbe de l'algorithme et en conséquence du signal d'étalement de fréquence d'horloge. Les figures 4a à 4d donnent des exemples non limitatifs d'algorithmes de variation périodique pour étalement de spectre pouvant être utilisés dans le cadre de l'invention. Les algorithmes repris sont ceux déjà mentionnés en figure 3. 10 La figure 4a reprend l'algorithme linéaire précédemment mentionné, la figure 4b montre l'application d'un algorithme sinusoïdal périodique tandis que la figure 4c montre l'application d'un algorithme linéaire avec une succession de paliers en marches d'escalier et enfin la figure 4d montre un algorithme de variation non symétrique, constitué d'alternances sinusoïdales négatives, la figure 4c montre un 15 algorithme de variation où les pentes de variation sont accélérées sur les minimums et maximums de modulation. D'autres formes d'algorithme de variation pour étalement spectral sont aussi possibles, par exemple un algorithme de variation très spécifique en forme de cloche pointue. La distribution de fréquence d'horloge dans un repère fréquentiel, appelé 20 densité spectrale est spécifique à l'algorithme. Il est aussi possible, pour des signaux d'horloge fixés par quartz pour lesquels la raie spectrale est très fine avec une amplitude très forte, d'utiliser une variante d'étalement de spectre qui consiste en l'utilisation d'un circuit verrouillé en phase, connu sous l'abréviation anglo-saxonne de PLL signifiant « Phase Locked Loop », avec 25 l'obtention d'un signal de fréquence f quartz. p/q, p et q étant des facteurs de correction. En modifiant les facteurs p et q, il est alors possible de générer des variations de fréquence avec un faible intervalle. Il est aussi possible de dégrader le fonctionnement du circuit verrouillé en phase en introduisant un délai de boucle assurant une trop forte correction puis une trop faible correction, comme il est fait par un algorithme linéaire. 30 En se référant notamment aux figures 4a à 4d, pour tous les algorithmes d'étalement de spectre et tous les modes de variations de fréquence dans un faible intervalle, soit une durée réelle de mesure tmr commençant par un temps réel pour le démarrage t d et finissant par un temps réel pour l'arrêt t a, le compteur est actif sur une durée de service tms, qui est une durée reportée par le circuit électronique, et qui est 35 différente de la durée réelle tmr. Ceci est dû à la modulation du signal d'horloge par l'application de l'algorithme d'étalement de spectre. 3046856 10 La durée de service tms est affectée par les variations de fréquence engendrées par l'étalement de spectre. La durée réelle tmr n'est jamais accessible directement vu la variation de la fréquence d'horloge en fonction du temps f(t) qui est subie dans un étalement de spectre. La durée de service tms varie de manière discrète, 5 c'est-à-dire par paliers, puisque sa valeur n'augmente qu'à chaque transition significative du signal d'horloge. Pour les mesures du compteur, la durée de service tms débute à un temps de service pour le démarrage t d s et finit à un temps de service pour l'arrêt t a s. Le temps de service pour le démarrage t d s est différent du temps réel pour le démarrage t d. La 10 durée de service tms est différente de la durée réelle de mesure tmr. Le temps de service pour l'arrêt t a s est différent du temps réel pour l'arrêt t a. Un évènement de départ ED correspond au temps de service pour le démarrage t d s et un évènement de fin EA correspond au temps de service pour l'arrêt t a s. La présente invention prévoit selon un de ses aspects de retrouver, d'une 15 part, un temps réel pour le démarrage t_d à partir d'un temps de service pour le démarrage t d s et, d'autre part, un temps réel pour l'arrêt t_a à partir d'un temps de service pour l'arrêt t a s, ce qui permet ensuite de retrouver la durée réelle de mesure tmr. La table 1 donne un exemple de cette conversion de temps de service pour le 20 démarrage ou pour l'arrêt respectivement t d s et t a s pour la restitution d'un temps réel t_d pour le démarrage ou t_a pour l'arrêt, ceci pour l'algorithme d'étalement de spectre du type de celui précédemment mentionné et montré à la figure 4a. L'algorithme de variation présente une période de 40 us et une variation de fréquence entre 4,5 MHz et 5,5 MHz. 25 Il est à garder à l'esprit que la table 1 représente juste un exemple dépendant de paramètres d'algorithme de variation avec une période, une amplitude de modulation pour l'étalement de spectre, un type de variation symétrique ou asymétrique et une fréquence nominale d'horloge spécifiques. Tous ces paramètres peuvent changer et servir à l'élaboration d'une autre table que la table 1. Par contre, le principe de 30 détermination d'une durée réelle tmr en fonction d'une durée de service tms reste le même. A la table 1, les parties « entières » de ces temps de service pour le démarrage ou pour l'arrêt, respectivement t d s et t a sà la figure 4a, sont indiquées dans la première colonne de la table en étant comptées de 0 à 39 us tandis que les 35 parties « décimales » sont indiquées dans la première ligne de cette table en étant comptées de 0,2 us en 0,2 us à partir de 0 et jusqu'à 0,8 us. 3046856 11 0.2 O. 0.6. 0.5 o - - C ' 3i -- -5' 2.546 0.729 2. - 1.026 1.182 _ 6.4 3 2.76: - 8 3.155 5.502 4 5.698 5.286 - - 15 -- 5 .:_ - .::. 255 5.025 = -_ - D 5 6 5.596 5.792 5.982 3.175 6.566 7 6.559 6.75:1 ID b 7.1.-1 7.553 7.530 7.713 7.911 8 1 - 8.514 9 8.5.01 8.702 8.925 3 11.- 9.521 - '1' -_ 5 9.901: _- _ :2.520 _ _- :.508 12 _1.3_1 117_- _ 9:8 _ _ 11.317 13 :1.552 _ -_, 11.95 _ _ :3.556 14 15.363 _- -1 _E.979 _.-.37 _ .596 15 :4.6 _- 2 _5.6- :5.157 I5.2 16 _3»E60 15 372 16.283 16.198 6 5.12 17 :6.716 3 42 _1.35 17.571 17.587 18 7.80 09 11 12. 59 18.47 :2.675 19 18.895 _3.__3 1.555 :9.556 19.778 20 19.999 22221 10..5 -'-' 5.3.- 12.884 2_ - _- I:.513 I:. I 1:..760 1:978 2.522 11 3 25.059 15.273 - .3..27 25 : _ 25.9_ .2...:.-_-77 13 15.595 3.6O5 3.2 06020 26.128 25 26.55 25.5.-3 15.852 _7 .1.35 2 162 27 27.467 17.672 27.877 18.08: 18.183 28 .18.488 18.691 1 895 29.095 29.197 09 .2998 29.699 29.899 50.099 52.299 3 10.92 50.697 52.895 51.094 51.1 - 51 51.488 51.685 51.881 :1072 52.17- 32 5.L59 52.664 52.859 I.E. .1.35 - _ - 35 55.4 .- 55.633 33.225 1-119 5..2 505 3.59-- 3-.725 5.976 53.166 35 53.555 55.546 53.733 35.924 36.115 36 55 - _ 56.489 56.677 56.864 57.05.1 37 57.252 57.41.4 17.610 57.796 57.290 38 52.066 58.531 52.555 52.719 52.905 39 59.287 33J7:1 - -= .- 3 59.63 59.88 Table 1 Par exemple, si le temps de service pour le démarrage t d s est de 30,2 us, il faut prendre, pour retrouver le temps réel pour le démarrage t d, le chiffre se trouvant à 5 l'intersection de la ligne partant du chiffre 30 de la première colonne et de la colonne partant du chiffre 0,2 à la première ligne, ce qui donne comme temps réel pour le démarrage t_d = 30,697 us. 3046856 12 Il en va de manière similaire pour retrouver le temps réel pour l'arrêt t_a dans le cas où le temps de service pour l'arrêt t a s est égal à 10,2 us, ce qui donne alors t_a = 9,7 us, ces deux valeurs de temps réel pour le démarrage t_d = 30,697 us et de temps réel pour l'arrêt t_a = 9,7 us étant entourées à la table 1. 5 Il est possible de concevoir d'autres tables présentant chacune une autre forme de présentation de résultats, par exemple une table inversée donnant le temps de service en fonction du temps réel. Comme un évènement de départ et un évènement pour l'arrêt peuvent être séparés par plusieurs synchronisations avec remise à l'état initial des compteurs qui 10 effacent les temps de service pour le démarrage et pour l'arrêt respectivement t d s et t a s, la différence entre ces temps de service pour le démarrage et pour l'arrêt n'est pas toujours égale à la durée de service tms. Selon la présente invention, dans un procédé de comptage d'une durée de service tms de mesure de temps sur un signal d'horloge comportant des transitions 15 d'horloge périodiques dans un circuit électronique et de détermination de la différence entre une durée réelle tmr de mesure de temps et la durée de service tms, il est procédé au comptage pendant des incréments de temps successifs au moins d'un temps de service pour l'arrêt t a s et de la durée de service tms, le cas échéant aussi d'un temps de service pour le démarrage t d s. A partir de ces temps de service pour le démarrage 20 et pour l'arrêt t d s, t a s, il est procédé à la détermination de temps réels pour le démarrage et pour l'arrêt t d, t_a servant au calcul de la durée réelle de mesure. Cette détermination ou mise en correspondance se fait en fonction des paramètres de l'algorithme de variation. Il va être donné un exemple de détermination d'un temps réel par 25 correspondance avec un temps de service pour un algorithme de variation d'étalement de spectre spécifique. Des calculs similaires peuvent être conduits pour tous les types d'algorithme de variation périodique pour étalement de spectre. Tout d'abord il est fait recours à un temps modulé te, selon l'algorithme d'étalement de spectre AES, variant continûment mais subissant les variations de 30 fréquence d'horloge avec une granularité très faible comme si un intervalle de temps dt infiniment petit était la période de la fréquence d'horloge : te(t) = te(t - dt) + (fr / f(t)) x dt où te est une fonction de t, fr est la valeur de la fréquence de référence proche de la fréquence nominale fn, f(t) est la fréquence en fonction de t et t est le temps. 35 Ceci permet de calculer la valeur de chaque échantillon te(t) en fonction de la valeur tm(t-dt) de l'échantillon précédent. 3046856 13 La loi de variation de fréquence f(t) de l'algorithme de variation pour étalement de spectre y est utilisée. Comme précédemment mentionné, il en existe plusieurs possibles. Celle qui sera prise est la variation périodique linéaire par segments AES illustrée aux figures 2 et 4a et conduisant à une densité spectrale en 5 créneau. En se référant à toutes les figures et plus particulièrement à la figure 2, pour un taux de variation v, la fréquence maximale Fhmax est obtenue à une fréquence de fn.(1+v) et la fréquence minimale Fhmin est obtenue à une fréquence de fn.(1-v). En considérant l'origine des temps lorsque la fréquence passe sur un maximum, soient fi le 10 temps d'atteinte d'une fréquence minimale Fhmin et t2= tp le temps d'atteinte d'une fréquence maximale Fhmax, on a : f(0) = f(t2) = fn.(1 + v) avec une fréquence maximale à t = 0 et à t = t2, f(t1) = fn.(1 - v) 15 avec une fréquence minimale à t = fi f(t) = Al x t + B1 entre 0 et fi f(t) = A2 x t + B2 entre fi et t2 Ces relations permettent le calcul des coefficients A1, A2, B1 et B2. B1 = fn.(1 + v) 20 Al = (1 hl) x (fn.(1 - v) - fn.(1 + v)) = -2 x vx fn A2 = 2 xvxfn/(t2 - tl) B2 = fn.(1 + vx (1 - 2 x t2 / (t2 - fi)) Dans le cas de cet algorithme de variation pour étalement de spectre, la construction de l'algorithme cumulatif pour un tableur suit le procédé suivant. 25 Il est procédé au calcul de la fréquence fj pour l'élément j à partir de l'élément temporel tj : fj = f(tj) = A x tj + B puis au calcul de l'incrément temporel sur te : (tej - ei) = (tj - ti) x fr / fj, où j = i + 1 30 Au final, il est obtenu une liste d'éléments temporels te en regard d'éléments temporels t correspondants. On ne retient que les éléments ts égaux à te qui sont multiples de la période nominale Tn = 1 / fn. Ces éléments ts sont les éléments temporels de service, les seuls accessibles 35 et utilisés pour estimer le temps en absence de correction. Le procédé précité aboutit à la formule : tej = tei + (tj - ti) x fr / fj 3046856 14 La granularité dt = tj - ti, qui est la même indépendamment de j, devrait être choisie aussi faible que possible. L'inconvénient est que le nombre d'éléments s'en trouve augmenté. Il y a un risque que le cumul des erreurs d'arrondis ne conduise à une erreur importante. 5 C'est pourquoi il est n'est pas avantageux d'utiliser une formule cumulative où chaque élément est calculé en fonction de l'élément précédent. Ainsi, afin d'exprimer chaque élément sans faire intervenir son prédécesseur : tep = tel + fr x P= 2(dt) / fj En rendant l'élément dt = tj - ti infiniment petit, c'est l'intégration suivante qui 10 est à résoudre : te(t) = fr x f dt / f(t) En utilisant f(t) = A x t + B, ceci devient : te(t) = fr x f dt / (A x t + B) = (fr / A) x Ln(A x t + B) + C C étant une constante et Ln étant la fonction logarithme Népérien. 15 Par exemple, si on s'intéresse à l'intervalle temporel (0 ; t1) : te(t) = fr x fot dt / (Al x t + B1) = (fr / A1) x Ln[(A1 / B1) x t + 1] Il faut obtenir te(t1) = t1. Ce ne serait pas le cas si la fréquence fr était prise égale à la fréquence nominale fn. Ceci est dû au fait que deux fréquences qui seraient symétriques par rapport à 20 la fréquence nominale dont la moyenne est fn n'aboutissent pas à des périodes symétriques par rapport à la période nominale, et la moyenne de ces deux périodes est différente de 1 / fn. Cette dissymétrie au niveau temporel doit être compensée, ce qui introduit la fréquence de référence fr au lieu de la fréquence nominale fn dans les formules : 25 te(t1) = t1 = (fr / A1) x Ln[(A1 / B1) x t + 1] Comme il a été précédemment calculé que : B1 = fn.(1 + v) A1 =-2xvxfn/t1 Il est obtenu : 30 t1 = -t1 x fr x Ln[(1 - v) / (1 + v)] / (2 x v x fn) 2 x v x fn = fr x Ln[(1 + v) / (1 - v)] d'où fr = 2 x v x fn / Ln[(1 + v) / (1 - v)] Notons que cette relation illustre la non égalité de fr et de fn. Elle est non 35 définie pour v = 0, mais en faisant tendre v vers 0, Ln[(1 + v) / (1 - v)] tend vers 2 x v, et par conséquent fr tend vers fn. 3046856 15 Le passage aux temps de service ou reportés ts est une discrétisation des valeurs te(t). On ne retient que les temps pour lesquels l'horloge présente un front significatif. L'horloge est dans le référentiel du temps modulé te et non pas t. On utilise la 5 conservation des rapports : dte / Te = dt / T où T serait la période d'horloge sans étalement de spectre et Te la période instantanée (Te(t) = 1 / f(t)), cette période Te n'étant accessible qu'en inversant la fréquence instantanée. 10 Cela veut dire que si on a choisi une fréquence nominale de 5 MHz et une granulation temporelle dt de 10 hs, alors le rapport dt / T = 10 ns / 200 hs est donc égal à 1 / 20. Chaque impulsion d'horloge modulée correspond à un temps multiple d'un vingtième de la période d'horloge dans le référentiel du temps modulé te, mais Te varie d'une impulsion d'horloge à la suivante. 15 Chaque fois qu'un front significatif apparaît, ts s'exprime dans le référentiel de service par un multiple de la période nominale, soit par n x 0,2 ps mais la valeur réelle du temps est l'antécédent t dans la transformation te(t). Les éléments ts(t) sont des éléments de l'ensemble des éléments te(t), pour ces éléments ts(t) = te(t). La variable fr aurait aussi pu être obtenue par calcul au tableur par : 20 tsp = ts1 + fr x >p_2(dt) / fj tsp étant l'élément de rang p correspondant à t = p x dt et en ajustant fr de façon que l'élément correspondant à t = prenne la même valeur T. L'utilisation de la formule fr = 2 x v x fn / Ln[(1 + v) / (1 - y)] évite donc cet ajustement expérimental lors d'un calcul au tableur. 25 Aux figures 4a à 4d, t_np est la durée pour plusieurs périodes se déroulant entre des synchronisations durant la durée réelle tmr. Cette durée t_np débute à une synchronisation avant l'évènement de départ ED et s'arrête à la synchronisation avant l'évènement pour l'arrêt EA. Cette durée est invariante dans les référentiels temporels réel et de service tandis qu'il y a une compensation des décalages sur chaque période, de 30 sorte que : tmr = t a - t d + t p tms = t a s-t d s+t p Comme le compteur de mesure reporte la valeur de la durée de service tms et non la durée réelle tmr, la différence entre ces deux durées peut être déduite par calcul : 35 tmr - tms = (t _a - t a s) - (t _d - t d s) 3046856 16 En reprenant l'exemple précédent d'un temps de service pour le démarrage t d s de 30,2 ps et d'un temps de service pour l'arrêt t a s de 10,2 ps, la différence entre durées réelle et de service tmr - tms est de -0,5 ps - 0,497 ps = -0,997 ps. La simulation est entreprise pour une durée à mesurer variant entre 1 et 20 ps 5 par intervalle de 50 ris. La période d'horloge est calculée en fonction de la fréquence en vigueur en utilisant l'algorithme de variation débutant à la valeur de 5,5 MHz au temps de synchronisation. La période de l'algorithme de variation t p est supposée être constante. Les temps de service pour le démarrage et pour l'arrêt respectivement t d s et t a s sont calculés en fonction d'un signal d'horloge, qui sera référencé ih s aux 10 figures. A partir de là, il est procédé à la détermination de la durée réelle tmr à partir de la durée de service tms en fonction de l'algorithme de variation utilisé. Comme la durée initiale est précisément connue, il est possible de comparer la précision de mesure du temps. 15 L'erreur sur la durée de mesure de service tms est une valeur absolue égale à Ktms - tmr) / tmrl, tmr étant comme précédemment mentionné la durée de mesure réelle. Il est procédé de même quel que soit l'algorithme de variation employé pour l'étalement de spectre. La figure 5 montre un circuit de comptage pour effectuer les mesures de 20 temps et durée de service destinées à un traitement utilisant la table 1. Ce circuit de comptage effectue la comptabilisation par trois compteurs différents C1, C2 et C3 des temps mesurés de service de départ t d s et pour l'arrêt t a s ainsi que la durée de service tms. Cette figure 5 est à prendre en combinaison avec la figure 6 pour bien 25 comprendre les instants de déclenchement respectif des divers signaux et impulsions étalés dans le temps pendant des périodes consécutives de l'algorithme de variation et du comptage des temps et durées de service. Une impulsion d'armement IARM fixe les conditions initiales avant de commencer la comptabilisation des impulsions. Cet armement survient avant l'évènement 30 de départ et l'évènement de départ survient avant l'évènement pour l'arrêt. Trois compteurs sont présents dans le circuit électronique de comptage, un compteur Cl du temps de service pour le démarrage t d s, un compteur C2 de la durée de service tms et un compteur C3 du temps de service pour l'arrêt t a s. Les compteurs C1, C2 et C3 sont remis à 0 par l'impulsion d'armement iARM. L'impulsion 35 d'armement iARM est supposée arriver avec une marge suffisante par rapport au début de la mesure, c'est-à-dire avant l'impulsion de synchronisation qui précède l'instant de départ matérialisé par l'impulsion id. 3046856 17 La synchronisation, les évènements de départ et d'arrêt sont matérialisés par une impulsion spécifique à savoir respectivement une impulsion de synchronisation isync, une impulsion de départ id pour le départ du compteur C2 et l'arrêt du compteur Cl et une impulsion ia pour les arrêts des compteurs C2 et C3. L'horloge est basée sur une 5 fréquence modulée donc dans le référentiel du temps de service et émet des impulsions d'horloge ih_s. A la figure 5, un premier basculeur B1 pour le circuit de mesure du temps de service pour le démarrage t d s émet un signal de départ sd à la valeur 1 dès réception de l'impulsion d'armement iARM à l'entrée M1 du basculeur Bl, cette impulsion le mettant 10 en position d'émission du signal de départ sd à la valeur 1. Ceci dure tant qu'une impulsion de départ id n'est pas émise vers le premier basculeur B1, cette impulsion de départ id entrant par l'entrée MO dans le premier basculeur B1 et positionnant le premier basculeur B1 en position d'émission du signal de départ sd à la valeur O. Ceci peut être vu aussi à la figure 6. 15 Tant que le signal de départ sd est opérant à sa valeur 1, les impulsions de l'horloge i h s peuvent être comptabilisées dans le compteur Cl associé à ce signal de départ sd. Toujours en regard des figures 5 et 6, le compteur Cl est remis à zéro à chaque impulsion de synchronisation isync correspondant à une impulsion de remise à 0 20 id0 du compteur Cl tant que le signal de départ sd reste à sa valeur 1. Quand le signal de départ sd est à sa valeur 0, il n'y a plus de remise à zéro du compteur Cl et la valeur de temps de service pour le démarrage t d s peut alors être délivrée par le compteur C1. Auparavant, il a été effectué un comptage entre la dernière impulsion de remise à 0 idO, spécifique au signal de départ sd et correspondant à une impulsion de 25 synchronisation, et la fin de l'opération du signal de départ sd à sa valeur 1. La zone de mesure par le compteur Cl du temps de service pour le démarrage t d s est référencée Z1 à la figure 6. Les zones de mise à disposition du temps de service pour le démarrage t d s sont référencées Z2 et Z4, ces deux zones étant directement successives sans interruption. 30 En se référant toujours aux figures 5 et 6, un deuxième basculeur B2 pour le circuit de mesure de la durée de service pour l'arrêt tms émet un signal de durée de démarrage-arrêt sda à la valeur 1 dès réception d'une impulsion de départ id par l'entrée M1. Ceci dure tant qu'une impulsion pour l'arrêt ia n'est pas émise vers l'entrée MO du deuxième basculeur B2, plaçant le signal de durée démarrage-arrêt sda à 35 la valeur O. Le compteur C2 est relatif à la durée de service tms. A partir et tant que le signal de démarrage-arrêt sda est à sa valeur 1, les impulsions d'horloge ih_s sont 3046856 18 transmises au compteur C2 pour le comptage des impulsions pour la durée de service tms. La zone de mesure par le compteur C2 de la durée de service tms est référencée Z2 à la figure 6. La mesure est mise à disposition dans la zone Z4. 5 Un troisième basculeur B3 pour le circuit de mesure du temps de service pour l'arrêt t a s émet un signal d'arrêt sa à la valeur 1 dès la réception d'une impulsion d'armement iARM par son entrée Ml. Ceci dure tant qu'une impulsion d'arrêt ia n'est pas émise vers le troisième basculeur B3 par son entrée MO, plaçant alors le signal d'arrêt à la valeur O. 10 Tant que le signal d'arrêt sa est opérant à sa valeur 1, les impulsions de l'horloge i h s sont comptabilisées dans le compteur C3 associé à ce signal d'arrêt. Ce compteur C3 est remis à 0 à une impulsion de synchronisation correspondant à une impulsion de remise à 0 iao du compteur C3 tant que le signal d'arrêt sa reste à sa valeur 1. 15 Quand le signal d'arrêt sa est à sa valeur 0, il n'y a plus de remise à zéro du compteur C3. Auparavant il a été effectué un comptage par le compteur C3 des impulsions entre la dernière impulsion de remise à 0 ia0 correspondant à une impulsion de synchronisation spécifique au signal d'arrêt sa et la fin de l'opération du signal d'arrêt sa à sa valeur 1 correspondant à l'impulsion d'arrêt ia. Ceci définit la zone Z3 qui 20 correspond à la zone de décomptage du temps de service pour l'arrêt t a s par le compteur C3. La zone de mise à disposition du temps de service pour l'arrêt t a s et de la durée de service tms est référencée Z4, donc une zone commune pour la mise à disposition des temps de service pour le démarrage et pour l'arrêt t d s, t a s et de la 25 durée de service tms. Les figures 7a, 7b, 8a, 8b illustrent des circuits de compensation pour la génération d'un temps réel. A ces figures et dans la description se référant à ces figures, il sera utilisé tgr pour temps de génération réel et tgs pour temps de génération de service les différenciant des temps de mesure réel et de service précédents. Pour la génération 30 d'un évènement le problème diffère de la mesure du temps étant donné que son but est, après un évènement de départ, de prévoir une action après une durée générée ou tg. La difficulté est que le temps réel tgr ne peut être déduit, dans le procédé précédemment décrit, que par un calcul lui-même consommateur de temps à partir de la durée de service tgs. 35 II convient donc de procéder par anticipation pour ne pas rajouter du temps de calcul au temps d'horloge. Ceci correspond à la formule : tgs - tgr = (t a s - t a) - (t d s - t d) 3046856 19 Comme prendre un tel temps de calcul pourrait amener un délai supplémentaire de calcul, il est requis de disposer d'un procédé de compensation en continu. La table 2, dérivée de la table 1, montre la différence (temps réel - temps de 5 service) arrondie en impulsions d'horloge en fonction du temps de service pour le démarrage t d s ou l'arrêt t a s déduits de la table 1. Par exemple si le temps de service t d s = 1,2 ils, la table 1 donne un temps réel t d = 1,096 ps. La différence est de 1,096 - 1,2 = -0,104 ps que l'on arrondit à un comptage de périodes -1, c'est-à-dire -0,2 ps. 0.2 0.4 0.6 0.8 -1 -1 -1 2 -1 -1 -1 -1 4 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 7 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 10 -2 -2 -3 -3 -2 il -2 -2 -2 -2 12 -2 -2 -2 -2 -2 13 -2 -2 -2 -2 -2 14 -2 -2 -2 -2 -2 15 -2 -2 -2 -2 -2 -1 -i 16 -2 -2 -2 -2 -1 -1 -1 -1 17 -1 -1 -1 -1 18 -i 19 -1 20 21 22 23 24 2 2 2 2 2 25 2 2 2 2 2 26 2 2 2 2 2 27 2 2 2 2 2 28 2 2 2 2 2 2g 2 2 2 2 2 30 2 2 3 3 31 2 2 2 2 2 32 2 2 2 2 2 33 2 2 2 2 2 34 2 2 2 2 2 35 2 2 2 2 36 2 2 2 2 37 38 39 10 Table 2 3046856 20 Les cases entourées sont les cases pour lesquelles il y a une augmentation ou une diminution du décalage de temps exprimé en nombre d'impulsions d'horloge. Une table 3 représente la table 2 en fonction du rang d'impulsion d'horloge. En entrée le temps de service est remplacé par le rang de la transition d'horloge de 5 service, on peut dire que c'est le temps de service exprimé en nombre d'impulsions. Par exemple, le temps de service 1,2 ps est remplacé par le résultat de sa division par 0,2 ps, soit 6. La première colonne de la table 3 représente les dizaines (0 en l'occurrence) et la première ligne représente les unités (6 en l'occurrence). Donc, l'entrée est le rang de l'impulsion d'horloge modulée et la sortie la différence (temps réel - temps de service), 10 exprimée en décalage d'impulsions d'horloge. Pour générer un évènement, avoir un procédé de compensation continue transformant le temps de service en temps réel permettra d'obtenir une génération optimisée. 2 4 7 o 1 2 3 -2 4 5 -2 6 7 g -2 9 11 12 2 2 2 2 2 2 2 2 2 2 13 2 2 2 2 2 2 2 2 2 14 2 2 2 2 z 2 2 2 2 2 15 2 2 2 2 2 2 2 16 2 2 2 2 2 2 2 2 2 2 17 2 2 2 2 2 2 2 2 2 2 18 2 2 2 2 19 1 15 Table 3 La table 4 applique la correction montrée à la table 3 sur le rang d'impulsions. Cela permet une estimation du temps réel en fonction du temps de service. C'est-à-dire que si on rajoute la valeur temps de service, exprimée en nombre d'impulsions, à cette différence (temps réel - temps de service), on retrouve la valeur du temps réel, exprimée 20 en nombre d'impulsions. 3046856 21 Pour cette table 4, en prenant comme exemple la 151ème impulsion de l'horloge modulée qui est représentée à la ligne 15 et à la colonne 1, celle-ci étant la deuxième des colonnes qui vont de 0 à 9 par intervalle de 1, le résultat compensé indique 153 impulsions au lieu de 151 d'une période d'horloge régulière de 0,2 ils, ce qui 5 donne : 153 x 0,2 = 30,6 ils tandis que le temps de service est de : 151 x 0,2 = 30,2 ils Comme vérification, la table 1 indiquait précédemment que pour 30,2 ps de 10 temps de service mesuré, le temps réel est de 30,697 ps. La différence entre les tables 1 et 4 est donc de 30,697 - 30,6 = 0,097 ps qui est plus petite que la moitié d'une période d'horloge, cette moitié étant de 0,1 ps. Un circuit en temps réel mettant en oeuvre la table 4 empêcherait les 6ème 20ème 52ème 155ème 184ème et 196ème impulsions d'horloge d'augmenter le 15 comptage à l'impulsion suivante tandis que les 55ème, 84ème, 96ème, 106ème 120ème et 152ème impulsions d'horloge augmentent de 2 par rapport à l'impulsion précédente. 2 3 4 5 6 7 0 - 2 3 4 5 6 7 1 9 2' 11 12 13 14 ï5 16 17 _ 2 18 19 2 21 22 23 - 25 26 2- 3 28 29 =. 32 - 35 36 37 4 38 39 -L 41 42 43 --, 46 47 5 48 49 49 50 51 53 55 56 57 6 58 59 61 62 6.3 1:. 65 66 67 7 68 69 70 71 72 71: IL ij 76 77 8 78 79 ' 83 8. 83 S6 87 SS 9 89 9 9_ '='? '=-''; ''' 96 97 98 99 10 100 .L i'-'-. - _ . 107 'iC9 0 11 111 _ ' _ ' : 116 __ 1.S ,.19 _?0 12 122 _23 - ' _ tz 7 , i29 _3C 131 1" 2 8' __- _ _- 37 9 140 141 q 150 151 15 2 -5 155 _ 57 157 - - q- i60 161 16 _62 163 -- _t_ 166 - _ ' 169 ' L: 171 17 _.72 3 _r. 1 _6 -7 '8 79 0: - 18 82 183 184 ' j 185 1 ".5 187 188 189 L. 19 _9` _92 193 °=, D 19i_c. 196 197 198 199 Table 4 Les figures 7a et 7b montrent des cas particuliers d'un circuit de 20 compensation conforme à la présente invention tandis que les figures 8a et 8b montrent respectivement un mode de réalisation d'un circuit de compensation générale conforme à 3046856 22 la présente invention. Les figures 7a et 8a montrent un circuit relatif à un algorithme de modulation périodique et symétrique, la symétrie y étant utilisée pour ne travailler que sur une demi-période ou 1 / 2 P pour la comparaison des rangs d'impulsion. En se référant notamment aux figures 8a et 8b, les étapes du procédé de 5 compensation du décalage entre durées de service et durées réelles de mesure de temps selon l'invention se font à la suite du procédé de détermination d'une durée de service sur un signal d'horloge dans un circuit électronique comme précédemment décrit. La compensation recherchée se fait en fonction des durées de génération réelle tgr et de service tgs selon des impulsions d'horloge précédentes. Il est tout d'abord 10 établi un relevé donnant les différences arrondies à un nombre entier pour une modulation d'horloge en fonction d'un rang dans une succession d'impulsions, ce qui correspond à la table 4. Il est ensuite procédé à la détermination des rangs d'impulsion à partir desquels un décalage dans le comptage des impulsions d'horloge, respectivement positif 15 ou négatif, est observé par rapport au rang directement précédent. Ceci conduit à la formation d'un premier groupe de nombres [al : an] de rang d'impulsion associé à une diminution dans le comptage des impulsions d'horloge, et d'un deuxième groupe de nombres [bl : bn] de rang d'impulsion associé à une augmentation dans le comptage des impulsions d'horloge. 20 Il est alors procédé à l'attribution d'un rang pour une impulsion à un instant donné dans une succession d'impulsions d'un signal d'horloge. Ce rang est alors comparé avec les nombres [a1-1 : an-1], [b1-1 : bn-1] de rang des premiers et deuxièmes groupes. Cela sert à déterminer de quel groupe relève une impulsion à laquelle on a attribué un rang. Toute impulsion peut appartenir au premier, au deuxième groupe ou à 25 aucun des deux groupes. Ce sont les valeurs (ax-1) et (bx-1) qui sont prises du fait que la comparaison ne peut avoir d'action qu'à l'impulsion d'horloge suivante. Dans le cadre de l'invention, il peut être possible de prévoir d'autres groupes supplémentaires par exemple des groupes avec un saut d'impulsion de + ou - 2. Pour réaliser ce saut en retranchement ou en augmentation dans le comptage 30 d'impulsions, à chaque impulsion le biais dynamique Evl est mis à jour, lequel correspond à la différence entre durée réelle tgr et durée de service tgs. Si l'impulsion est de rang (ax-1), il est procédé à un retranchement, si elle est de rang (bx-1), il est procédé à une augmentation, dans les autres cas, la valeur reste inchangée. Ceci permet d'obtenir une première valeur d'erreur. 35 Parallèlement à ces étapes, il est procédé au comptage de la durée de service tgs avec détermination d'une durée réelle tgr correspondante et d'une deuxième erreur entre durée réelle tgr et durée de service tgs ainsi comptée. 3046856 23 Il est ensuite procédé à la comparaison des première et deuxième erreurs avec l'émission d'un indicateur d'évènement indi dès qu'une comparaison donne une égalité entre première et deuxième erreurs. Le circuit de compensation pour la mise en ceuvre d'un tel procédé de 5 compensation comprend un compteur d'impulsions C dans un circuit de signal d'horloge ih s, le compteur d'impulsions C ou C1/2P attribuant un rang à chaque impulsion effective d'une succession d'impulsions. Ce compteur peut être dans le cas d'un algorithme de variation pour l'étalement de spectre un compteur par demi-période référencé C1/2P aux figures 7a et 8a. 10 Le circuit comprend aussi des modules de comparaison [Ma1-1 : Man-1] ; [Mb1-1 : Mbn-1] avec comparaison du rang attribué à chaque impulsion effective avec chacun des rangs de succession d'impulsions des premier et deuxième groupes [a1-1 : an-1] ; [b1-1 : bn-1]. Un module [Ma1-1 : Man-1] ; [Mb1-1 : Mbn-1] est avantageusement présent pour chaque rang des premier et deuxième groupes [a1-1 : an-1] ; [b1-1 : bn-1]. 15 Le circuit comprend un registre de direction R déterminant un ajout ou un retranchement symbolisé par -/+ d'une unité dans une première cellule Ev1 d'évaluation d'une première erreur. La première cellule Ev1 présente des moyens d'ajout ou de retranchement au biais dynamique constitutifs de la première erreur. Le circuit comprend une deuxième cellule Ev2 d'évaluation d'une seconde 20 erreur qui est la différence entre une durée réelle tgr et une durée de service tgs, la durée de service tgs étant mesurée par un décompteur C2 à partir d'une impulsion de départ id et la durée réelle tgr étant introduite en complément dans la deuxième cellule Ev2. Entre les première et deuxièmes cellules d'évaluation Ev1 et Ev2, se trouve une cellule de comparaison Ecomp effectuant la comparaison entre les première et 25 deuxième erreurs respectives des première et deuxième cellules Ev1, Ev2. Un indicateur d'évènement indi est alors émis quand les première et deuxième erreurs sont égales. Pour les première et deuxième erreurs, dans chaque cellule Ev1, EV2 il est ajouté un talon n constant en tant qu'entier naturel positif suffisant pour que les première et deuxième erreurs soient toujours supérieures à O. Par exemple, ce talon peut être égal 30 à 3 mais ceci n'est pas limitatif. Une fois le talon n pré-chargé dans le compteur C2 de temps de service avec une valeur à charger qui est tgr + n, une impulsion de départ id permet au décomptage de débuter. C'est à partir de ce moment qu'il est procédé à une comparaison de la première erreur par rapport à la deuxième erreur basée sur une durée de service comptée par le 35 compteur C2. Quand la première erreur est égale à la deuxième erreur, l'indicateur d'évènement indi prend la valeur 1 et peut déclencher l'évènement souhaité. 3046856 24 Une fois que l'indicateur d'évènement indi est égal à 1, le compteur C2 est bloqué mais comme la première erreur peut encore varier par ajout d'incréments, ceci peut créer un basculement de l'indicateur d'évènement indi après une transition significative qui est la première après l'émission de l'impulsion de départ id. 5 Le chargement de la deuxième cellule Ev2 est commandé par une commande de chargement CC. Un autre registre R1 commande le début du décomptage en étant mis à 1 par l'impulsion de départ id et mis à 0 par l'émission d'un indicateur d'évènement indi. En se référant à la figure 8a, quand l'algorithme de variation est symétrique, ce qui n'est pas toujours le cas dans le cadre de la présente invention, il est possible du 10 fait de la symétrie de la table du fait de l'algorithme symétrique pour utiliser un comptage de demi-période suffisant dans ce cas pour déterminer les rangs d'impulsions significatifs. En se référant notamment à la table 3 et à la figure 7b, si le rang d'impulsion est 5, 19, 51, 54, 83, 95, 105, 119, 151, 154, 183 ou 195, l'horloge modulée est autorisée à incrémenter ou décrémenter la cellule d'évaluation Ev1 faisant office de compteur. Ceci 15 ne sera cependant effectif qu'à la prochaine impulsion d'horloge de sorte que la cellule d'évaluation Ev1 faisant office de compteur changera la valeur au rang d'impulsion 6, 20, 52, 55, 84, 96, 106, 120, 152, 155, 184 ou 196. Ceci est un exemple pour la sélection des valeurs (ax-1) et (bx-1) précédemment mentionnées. L'erreur comptabilisée dans la cellule d'évaluation Ev1 faisant office de 20 compteur Ev1 est un biais dynamique qui consiste en un cumul d'augmentations ou de diminutions suivant le rang d'impulsion, comme montré à la table 4. Comme illustré en figures 7a et 8a, la reconnaissance du sens de variation, en augmentation ou en diminution, se fait si l'algorithme est symétrique en fonction de la sortie du compteur par deux C3, en plus de la détection du rang d'impulsion. 25 Par exemple, en figure 7a, les rangs d'impulsion 5, 19, 51, 154, 183 ou 195 requièrent une diminution de 1 tandis que les rangs d'impulsion 154, 183 ou 195 sont identifiés comme étant 54, 83 ou 95 avec un signal correspondant à une demi-période de l'algorithme et référencée 1/2 P égal à 1. Il est en effet à considérer que le comptage se fait préférentiellement sur une 30 demi-période de l'algorithme de variation à modulation périodique et s'effectue par un compteur par deux C3. Comme autre exemple, les rangs d'impulsion 54, 83, 95, 105, 119 ou 151 requièrent une augmentation de 1 tandis que les rangs d'impulsion 105, 119 ou 151 sont identifiés comme étant 5, 19 ou 51avec le signal 1/2 P égal à 1. 35 La table 5 montre la logique de comptage en augmentation ou en diminution du biais dynamique à partir de la table 3. 3046856 25 Rang de Alpha 1/2 P +1- Sens Ev1 Rang détection effectif 5 1 0 0 Diminution 6 19 1 0 0 Diminution 20 51 1 0 0 Diminution 52 54 0 0 1 Augmentation 55 83 0 0 1 Augmentation 84 95 0 0 1 Augmentation 96 105 1 1 1 Augmentation 106 119 1 1 1 Augmentation 120 151 1 1 1 Augmentation 152 154 0 1 0 Diminution 155 183 0 1 0 Diminution 184 195 0 1 0 Diminution 196 Table 5 Alpha indique le sens en augmentation ou en diminution du biais dynamique pour les rangs inférieur à la centaine, c'est-à-dire à l'intérieur de la première demi-période. 5 L'inversion entre augmentation et diminution pour la deuxième demi-période est déclenchée par le signal 1/2 P, lorsqu'il existe. Le signal +/- prend en compte Alpha et 1/2P pour fixer le sens de comptage ou décomptage dans le compteur Ev1, et donc réaliser l'augmentation ou le retranchement précédemment évoqués. Le verrouillage et la permission pour la mise à jour du biais dynamique 10 surviennent avec un décalage d'une impulsion d'horloge, que la logique soit synchrone ou asynchrone, du fait des temps de transmission. Il y a donc un décalage de 1 entre le rang de détection et le rang effectif. Pour les rangs d'impulsion d'horloge 6, 20, 52, 155, 184 ou 196, la valeur 1 est retranchée du biais dynamique. 15 Pour les rangs d'impulsion d'horloge 55, 84, 96, 106, 120, 152, la valeur 1 est ajoutée au biais dynamique. Rang d'impulsion Errgur Ev1 _-..,,5 ,.,,-D 6 à 19 2 20 à 51 52 à 54 0 55 à 83 84 à 95 2 96 à 104 3 106 à 119 4 120 à 151 152 à 154 6 155 à 183 5 184 à 195 4 ?.196 Table 6 3046856 26 Afin de ne pas avoir à travailler sur des valeurs négatives, il convient de charger le biais dynamique par un talon positif, par exemple de 3, ceci à chaque synchronisation. De ce fait, le compteur de temps réel est aussi à augmenter de 3 quand pré-chargé. 5 La table 6 indique l'erreur comptabilisée par la cellule d'évaluation Ev1 faisant office de compteur d'erreur en fonction du rang d'impulsions, à partir de l'exemple de la table 1. Supposons que l'on veuille, par exemple, générer à partir de la table 1 un évènement 5 us après l'instant de synchronisation qui correspond à un maximum de 10 fréquence modulée. La table 1 montre qu'il faut considérer 5,4 us pour obtenir 5,023 us de durée réelle. Rang Evl Ev2 lilçll. d'impulsion d'horloge 3 27 2 3 26 3 3 25 4 3 24 5 3 23 6 2 22 7 2 21 8 2 20 9 2 19 10 2 18 11 2 17 12 2 16 13 2 15 14 2 14 15 2 13 16 2 12 17 2 11 18 2 10 19 20 21 1 7 22 1 5 23 24 25 26 27 Table 7 3046856 27 L'application du procédé de compensation selon la présente invention aboutit à pré-charger la valeur 3 dans la première cellule d'évaluation Ev1 faisant office de compteur et 28 dans la deuxième cellule d'évaluation Ev2 faisant office de décompteur. La variation des valeurs jusqu'à l'égalité de la différence des valeurs des compteurs Ev1 5 et Ev2 est donnée par la table suivante qui est la table 7. Dans cette table, l'impulsion de rang 27 correspond à 5,4 us dans le référentiel du temps de service, donc 5,023 us en temps réel d'après la table 1. Elle déclenche bien la montée à 1 de l'indicateur indi à 5,023 us après l'impulsion de départ, pour 5 us visé. REVENDICATIONS1. Procédé de comptage d'une durée de service (tms) de mesure de temps sur un signal d'horloge comportant des transitions d'horloge périodiques dans un circuit électronique et de détermination d'une durée réelle (tmr) de mesure de temps en fonction de la durée de service (tms), le signal d'horloge ayant subi un étalement de spectre selon un algorithme de variation (AES) périodique provoquant une modulation en fréquence des transitions d'horloge dudit signal et créant une différence entre durée réelle (tmr) et durée de service (tms), caractérisé en ce qu'il est procédé au comptage pendant des incréments de temps successifs au moins d'un temps de service pour le démarrage (t d s) et d'un temps de service pour l'arrêt (t a s) et, à partir de ces temps de service pour le démarrage et pour l'arrêt (t d s, t a s), il est procédé à la détermination des temps réels pour le démarrage et pour l'arrêt (t d, t a) servant au calcul de la durée réelle de mesure (tmr) en fonction des paramètres de l'algorithme de variation (AES). 2. Procédé selon la revendication 1, dans lequel la différence entre la durée 15 réelle de mesure (tmr) et la durée de service (tms) s'établit en fonction des temps réels pour le démarrage et pour l'arrêt (t d, t a) et des temps de service pour le démarrage et pour l'arrêt (t d s, t a s) selon la formule suivante : tmr - tms = (t a - t a s) - (t d - t d s) 3. Procédé selon la revendication 1 ou 2, dans lequel, l'algorithme de 20 variation (AES) étant périodiquement oscillant entre des fréquences maximales (Fhmax) et minimales (Fhmin), les paramètres de l'algorithme de variation (AES) sont au moins la période (t p) de l'algorithme et un point d'application de l'algorithme (AES) se référant aux fréquences maximales ou minimales (Fhmax, Fhmin) ou à un point médian entre fréquences maximales et minimales (Fhmax, Fhmin). 25 4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel il est procédé au comptage des temps de service pour le démarrage et pour l'arrêt (t d s, t a s) ainsi que de la durée de service (tms), une impulsion d'armement (iARM) étant émise pour marquer l'initialisation du procédé, une impulsion de synchronisation (isync) étant émise périodiquement en correspondance avec la période du signal d'horloge et de 30 l'algorithme de variation (AES), avec, pour chaque comptage respectif des temps et durée de service (t d s, t a s, tms), une émission d'une impulsion de départ (id) initiant le début du comptage du temps de service pour l'arrêt (t a s) et de la durée de service (tms) et initiant la fin du comptage du temps de service pour le démarrage (t d s), le temps de service pour le démarrage (t d s) étant compté entre la dernière impulsion 35 de synchronisation précédant l'impulsion de départ (id) et cette impulsion de départ (id), la 3046856 29 durée de service (tms) étant comptée entre l'impulsion de départ (id) et une impulsion pour l'arrêt (ia), l'impulsion pour l'arrêt (ia) terminant aussi le comptage du temps de service pour l'arrêt (t a s) débutant avec la dernière impulsion de synchronisation précédant l'impulsion d'arrêt (ia). 5 5. Procédé selon l'une quelconque des revendications précédentes, dans lequel il est élaboré une table donnant la durée réelle (tmr) en fonction de la durée de service (tms) et un relevé donnant les différences arrondies à un multiple d'une période d'horloge pour une modulation d'horloge en fonction d'un rang dans une succession d'impulsions. 10 6. Procédé de compensation du modulation entre durées de mesure de service et durées réelles de temps, lequel comprend un procédé de détermination d'une durée de service réelle (tgr) sur un signal d'horloge dans un circuit électronique selon la revendication précédente, dans lequel la compensation se fait en fonction des durées réelle (tgr) et de service (tgs) précédentes selon des impulsions d'horloge précédentes avec : - à partir du relevé donnant les différences arrondies à un multiple de la période d'horloge pour une modulation d'horloge en fonction d'un rang dans une succession d'impulsions, détermination des rangs d'impulsion à partir desquels un décalage d'une période d'horloge, respectivement positif ou négatif, est observé par rapport au rang directement précédent avec formation d'un premier groupe de nombres [a1-1 : an-1] de rang d'impulsion associé à une diminution d'un biais dynamique et d'un deuxième groupe de nombres [b1-1 : bn-1] de rang d'impulsion associé à une augmentation du biais dynamique, - attribution d'un rang pour une impulsion à un instant donné dans une succession d'impulsions d'un signal d'horloge, - comparaison de ce rang attribué avec les nombres [a1-1 : an-1], [b1-1 : bn-1] de rang des premiers et deuxièmes groupes et détermination si le rang attribué appartient au premier, au deuxième groupe ou à aucun des deux groupes, - pour chaque impulsion mise à jour d'un biais dynamique égal à l'erreur entre durée réelle (tgr) et durée de service (tgs), ce biais dynamique diminuant, augmentant ou restant stable en fonction de l'appartenance au premier, au deuxième ou à aucun des groupes [a1-1 : an-1], [b1-1 : bn-1], 3046856 30 - parallèlement à ces étapes, comptage de la durée de service (tgs) avec détermination d'une durée réelle (tgr) correspondante et d'une deuxième erreur entre durée réelle (tgr) et durée de service (tgs) ainsi comptée, - comparaison des première et deuxième erreurs, 5 - émission d'un indicateur d'évènement (indi) suite à une comparaison donnant une égalité entre première et deuxième erreurs. 7. Procédé selon la revendication précédente, dans lequel, pour les première et deuxième erreurs, il est ajouté un talon (n) constant en tant qu'entier naturel positif suffisant pour que les première et deuxième erreurs soient toujours supérieures à 0. 10 8. Procédé selon l'une quelconque des deux revendications précédentes, dans lequel, pour un algorithme de variation (AES) périodique servant à l'étalement de spectre étant symétrique, il est relevé les différences arrondies à un nombre entier d'impulsions d'horloge en limitant ce relèvement à une demi-période de l'algorithme de variation (AES). 9. Circuit de comptage pour la mise en oeuvre du procédé de détermination 15 d'une durée de service (tms) par rapport à un signal d'horloge selon la revendication 4, lequel comprend trois compteurs (C1, C2, C3) de temps associés respectivement au comptage du temps de service pour le démarrage (t d s) de la mesure, du temps de service pour l'arrêt (t a s) de la mesure et de la durée de service (tms) pour la mesure et des moyens d'émission d'impulsions d'armement (iARM), d'impulsions d'horloge (ih s), 20 d'impulsions de synchronisation (isync), d'impulsions pour le départ (id) et d'impulsions pour l'arrêt (ia), avec : - un premier basculeur (B1) émettant un signal dit de départ (sd) vers le premier compteur (C1) mesurant un temps de service pour le démarrage (t d s) avec mise à 1 du signal de départ (sd) par une impulsion d'armement (iARM) et mise 25 à 0 du signal par une impulsion de départ (id), le comptage du temps par le premier compteur (C1) se faisant en fonction d'un signal d'horloge (ih_s) quand le signal de départ (sd) est mis à 1, - des moyens de transmission au premier compteur (C1) d'impulsions de synchronisation (id0) remettant le premier compteur (C1) à 0, 30 - un deuxième basculeur (B2) émettant un signal dit de durée démarrage- arrêt (sda) vers un deuxième compteur (C2) mesurant une durée de service (tms), avec mise à 1 du signal par une impulsion de départ (id) et mise à 0 du signal par une impulsion pour l'arrêt (ia), le comptage du temps par le deuxième compteur (C2) se faisant en fonction du signal d'horloge (ih_s) quand le signal pour l'arrêt est mis à 1, 3046856 31 - un troisième basculeur (B3) émettant un signal dit d'arrêt (sa) vers un troisième compteur (C3) mesurant un temps de service pour l'arrêt (t a s) avec une mise à 1 du signal par une impulsion d'armement (iARM) et une mise à 0 du signal par une impulsion d'arrêt (ia), le comptage du temps par le troisième compteur (C3) 5 se faisant en fonction du signal d'horloge (ih_s) quand le signal d'arrêt est mis à 1 , - des moyens de transmission au troisième compteur (C3) d'impulsions de synchronisation (ia0) remettant le troisième compteur (C3) à zéro, - des moyens de transmission respectifs aux trois compteurs (C1, C2, C3) d'une 10 impulsion d'armement (iARM) remettant ces compteurs (C1,C2, C3) à zéro. 10. Circuit de compensation pour la mise en oeuvre du procédé de compensation du modulation entre durée de mesure de service (tgs) et durée réelle (tgr) selon l'une quelconque des revendications 6 à 8, lequel comprend : - un compteur d'impulsions (C) dans un circuit de signal d'horloge (ih s), le 15 compteur d'impulsions (C) attribuant un rang à chaque impulsion effective d'une succession d'impulsions, - des modules de comparaison [Ma1-1 : Man-1] ; [Mb1-1 : Mbn-1] du rang attribué à chaque impulsion effective avec chacun des rangs de succession d'impulsions des premier et deuxième groupes [a1-1 : an-1] ; [b1-1 : bn-1], un module 20 [Ma1-1 : Man-1] ; [Mb1-1 : Mbn-1] étant présent pour chaque rang des premier et deuxième groupes [a1-1 : an-1] ; [b1-1 : bn-1], - un registre de direction (R) déterminant un ajout ou un retranchement (-/+) dans la mise à jour d'une erreur par une première cellule d'évaluation (Ev1) d'une première erreur, la première cellule (Ev1) présentant, pour chaque impulsion, des 25 moyens d'ajout ou de retranchement à la première erreur, - une deuxième cellule (Ev2) d'évaluation d'une seconde erreur, qui est la différence entre une durée réelle (tgr) et une durée de service (tgs), la durée de service (tgs) étant mesurée par un décompteur (C2) à partir d'une impulsion de départ (id) et la durée réelle (tgr) étant introduite en complément dans la 30 deuxième cellule (Ev2), - une cellule de comparaison (Ecomp) effectuant la comparaison entre les première et deuxième erreurs respectives des première et deuxième cellules (Ev1, Ev2) avec émission d'un indicateur d'évènement (indi) quand les première et deuxième erreurs sont égales.