Brevet FR2716053A1 — publié le 19950811

Procédé de génération d'une fréquence particulière par division d'une fréquence de référence La présente invention concerne un procédé de génération d'un signal à une fréquence particulière par division de la fréquence d'un signal de référence à une fréquence déterminée, dans lequel on détermine deux rapports de division correspondant à deux fréquences, encadrant la fréquence particulière, de deux signaux qu'on génère, on prélève successivement, en fonction des fréquences particulières d'encadrement, des périodes de l'un et de l'autre des signaux à fréquences d'encadrement pour former une séquence de périodes du signal à fréquence particulière. Les appareils électroniques transmettant des données utilisent généralement plusieurs signaux d'horloge à des fréquences différentes. Si l'on prend le cas d'un multiplexeur numérique relié à plusieurs terminaux, comme des terminaux d'abonnés d'un réseau téléphonique, il doit, selon le type des terminaux, pouvoir échanger avec eux des données, par exemple à 48, 56 ou 64 kilohertz (kHz) ou des multiples de 64 kHz. Pour engendrer ces diverses fréquences, il est connu d'utiliser une fréquence unique, de référence, produite par un oscillateur pilote à haute fréquence, précis et stable. Le signal issu de l'oscillateur est appliqué à divers circuits logiques qui, chacun, comptent cycliquement le nombre de périodes reçues, jusqu'à un nombre entier spécifique, et fournissent alors une impulsion. Ces impulsions se répètent avec une périodicité fonction du nombre spécifique, qui règle ainsi la période, et donc la fréquence, du signal engendré considéré. Comme ces changements de fréquence sont effectués de façon logique, par comptage, il n'en résulte aucune dégradation et chaque signal à la fréquence recherchée présente les mêmes précision et stabilité que la fréquence de référence. Ce procédé de génération de fréquence comporte cependant des limitations. En effet, comme la division de fréquence est effectuée par des circuits logiques de comptage, elle ne peut être effectuée, comme indiqué, qu'avec des nombres spécifiques entiers. De ce fait, il faudrait théoriquement choisir une valeur de fréquence de référence qui soit un commun multiple de toutes les fréquences désirées. Or, le plus petit commun multiple correspond à une valeur bien trop élevée pour être du domaine du possible. Bien entendu, le procédé ci-dessus peut aussi être appliqué pour engendrer une seule fréquence à partir d'un oscillateur à haute fréquence, donc très précis, oscillant à une fréquence normalisée qui n'est pas un multiple entier de la fréquence souhaitée. Pour contourner la difficulté soulignée ci-dessus, il est connu de choisir une fréquence de référence à une valeur moindre que celle théorique. On ne peut pas alors obtenir exactement toutes les fréquences souhaitées, mais on peut cependant, pour celles qui ne sont pas un sous-multiple entier de la fréquence de référence, obtenir deux fréquences proches encadrant la fréquence souhaitée. Ces deux fréquences sont obtenues en divisant la fréquence de référence par le nombre théorique considéré, après l'avoir respectivement arrondi aux entiers inférieur et supérieur. Pour créer le signal à la fréquence désirée, on prélève alternativement des portions, ou périodes, du signal à la fréquence inférieure et des portions du signal à la fréquence supérieure, c'est-à-dire que, en fait, on dispose virtuellement de deux signaux que l'on transforme alternativement en un signal réel pour constituer des portions du signal voulu. Le signal "hybride" obtenu présente donc globalement des périodes trop longues et des périodes trop courtes par rapport au signal théorique souhaité mais, après cumul d'un certain nombre de chacune de ces périodes des deux types, et des erreurs positives ou négatives associées, les erreurs cumulées se compensent et le signal instantané est alors, temporairement, en phase avec le signal souhaité, qui est à la fréquence voulue si le rapport retenu des prélèvements, des portions de signal des deux types, convient exactement ou qui en diffère légèrement dans le cas contraire. Un nouveau cycle d'alternances recommence alors pour à nouveau intégrer, dans le signal, en proportions voulues, les deux périodes de chacun des deux signaux des deux types. Ainsi, et en référence à la figure 1, présentée à des fins purement didactiques, sans aucun rapport avec la réalité, pour obtenir une fréquence f = 50 Hz (figure 1B) à partir d'une fréquence de référence Fr = 120 Hz (figure 1A), les deux fréquences étant liées par le rapport p/q, dans lequel, ici, p = 12 et q = 5, donc pour effectuer, en moyenne, une division par le nombre 2,4, que l'on exprime par E (partie entière) = 2 et D (partie décimale) = 0,4, on effectue (figure 1C) un cycle de prélèvement avec des divisions par 2 et par 3, dans lequel on utilise en majorité le signal à fréquence 120/2 = 60 Hz et, en complément, le signal à fréquence 120/3 = 40 Hz, dans des proportions respectives 1 - D = 0,6 et D = 0,4. En d'autres termes, sur un nombre de périodes [m E + n (E+1)] du signal de référence, on prélève m = 3 périodes du signal à fréquence Fr/2 et n = 2 périodes du signal à fréquence Fr/3 pour obtenir une portion de 5 périodes d'un signal à fréquence moyenne de 50 Hz. En d'autres termes, m, n, E, Fr et f sont liés par le système suivant: m E + n (E + 1) = p m + n = q duquel on tire: m = q (E + 1) - p n=p p -Eq Dans cet exemple, la période du signal à fréquence Fr/2 (60 Hz) est de 16,67 millisecondes (ms), celle du signal Fr/3 (40 Hz), de 25 ms, ce qui donne une durée de cycle de: 3 . 16,7 + 2 . 25 = 100 ms pour un cycle de prélèvement de q = 5 périodes du signal engendré, avec, par conséquence, une période moyenne de 20 ms, correspondant bien à un signal à 50 Hz. Si la période moyenne est bien de 20 ms, la durée de chacune des périodes réelles du signal engendré, par contre, diffère de cette période moyenne d'une erreur qu'on appelle "gigue". Afin de limiter la gigue maximale cumulée, il est connu d'entrelacer au mieux les périodes prélevées de l'un et de l'autre des signaux des deux types. Ici, en intercalant les deux périodes du signal de fréquence Fr/3 en deuxième et quatrième positions, on crée, pour les 5 périodes, les erreurs respectives suivantes: gigue gigue (ms) cumulée 16,7 - 20 = - 3,33 - 3,3 25 - 20 = + 5 + 1,7 16,7 - 20 = - 3,33 - 1,7 25 - 20 = + 5 + 3,3 16,7 - 20 = - 3,33 0 On voit que, sur une période de 20 ms, l'erreur maximale est de 3,3 ms, ce qui est loin d'être négligeable. En résumé, on peut obtenir la fréquence souhaitée, ou au moins une fréquence proche, mais il subsiste une gigue. La présente invention vise à réduire cette gigue. A cet effet l'invention concerne un procédé du type mentionné ci-dessus, caractérisé par le fait que lesdits rapports de division sont déterminés en fonction d'une fréquence au moins double de la fréquence de référence. Ainsi, pour constituer le signal à la fréquence particulière et former la séquence de périodes du signal à fréquence particulière, on dispose de périodes de durées plus proches l'une de l'autre que ne l'étaient celles de l'art antérieur, ce qui permet de réduire la gigue au moins de moitié. En effet, dans le cas de rapports de division fonction d'une fréquence double de la fréquence de référence, on peut ajuster les périodes prélevées à une demi-période près du signal à fréquence de référence, si bien que les équations ci-dessus de l'art antérieur deviennent, pour le procédé de 1 'invention: m'. E + n' (E + 0,5) = p m' + n' soit: m' = 2 [ q (E + 0,5) - p] n' = 2 p P - E q] où le terme E + 0,5, qui remplace E + 1, traduit la diminution de moitié de la gigue maximale, due au fait que la fréquence de référence est remplacée virtuellement par une fréquence double. Avantageusement, on prélève les périodes d'encadrement en synchronisme avec un front montant ou descendant dudit signal de référence. Ainsi, alors que, dans l'art antérieur, on ne disposait que des fronts actifs pour prélever les périodes d'encadrement, on dispose désormais des fronts montants et descendants. De ce fait, la gigue maximale, qui était d'une demi-période de la fréquence de référence, est réduite à un quart de période. On peut aussi utiliser une fréquence harmonique de la fréquence de référence. On réduit ainsi d'autant plus la gigue que l'harmonique est élevé. De préférence, ladite fréquence harmonique est engendrée par une pluralité de déphasages dudit signal de référence. L'invention sera mieux comprise à l'aide de la description suivante du mode de réalisation préféré d'un générateur de fréquences programmable mettant en oeuvre le procédé de l'invention, en référence au dessin annexé, sur lequel: - les figures 1A à 1D sont des diagrammes temporels illustrant les constitutions de périodes de signaux respectivement engendrés selon l'art antérieur et selon le procédé de l'invention, - la figure 2 est un diagramme fonctionnel illustrant le procédé de l'invention et - la figure 3 est un schéma électrique par blocs du générateur de fréquences. Le procédé de l'invention est mis en oeuvre, dans cet exemple, dans un générateur de fréquences programmable, dont le schéma électrique par blocs est représenté sur la figure 3 et qui est décrit plus loin. Dans un but de simplification des valeurs numériques des périodes des signaux, comme indiqué plus haut, les fréquences de cet exemple ont été choisies relativement basses et dans un rapport défini par un nombre décimal de longueur très limitée. On comprendra bien cependant que le procédé de l'invention s'applique à toute valeur de fréquence et à tout rapport de ces fréquences. Le signal 1 de référence est ici à une fréquence de 120 Hz et la fréquence fx à engendrer est à une fréquence de 50 Hz. La figure 1A représente, en fonction du temps t, le signal 1 de référence présentant alternativement des fronts montants et des fronts descendants qui, ici, sont régulièrement espacés d'une demi-période, soit Tr/2 = 8,33/2 = 4,16 millisecondes (ms), douze périodes étant représentées, sur une durée d'un cycle de prélèvements Tp de 100 ms, en commençant par l'un des fronts montants, ici supposés actifs pour effectuer la division de fréquence. Sur les figures 1A à 1D, les temps sont normés en fonction de la période de référence Tr. Le signal théorique 2 à engendrer, de fréquence fx, est représenté sur la figure 1B. I1 comporte des périodes Tx de 20 ms, dont cinq sont représentées sur la durée du cycle de prélèvements Tp de 100 ms. Chaque période du signal théorique 2 commence par un front avant 3, ici montant, suivi d'un front intermédiaire 4 descendant, et se termine sur le front avant 3 de la période suivante. Dans cet exemple, mais hors du cadre de l'invention, le signal engendré subit une division de fréquence ultérieure par deux, pour le rendre temporellement symétrique d'une demipériode à la suivante, si bien que seule la position des fronts montants, actifs pour cette division ultérieure, est à considérer. Par rapport à l'instant t = O, les fronts montants du signal 2 doivent se produire aux instants 20, 40, 60, 80 et 100 ms, c'est-à-dire toutes les 120 Hz / 50 Hz = 2,4 périodes du signal 1 de référence. I1 faudrait donc, comme le montre la figure 1B, pouvoir disposer d'un front actif après successivement: 2,4, 4,8, 7,2, 9,6 et 12 périodes Tr. Dans l'art antérieur, on générerait, comme expliqué précédemment, des fronts avant 6 du signal engendré 5 à des instants multiples entiers de la période Tr, ici 2, 5, 7, 10 et 12 Tr, comme le montre la figure 1C, ce qui créerait ici une gigue maximale de 2,4 - 2 = 0,4 Tr pour les fronts montants 6 de début de deuxième et cinquième périodes. Selon le procédé de l'invention, et comme le montre la figure 1D, on crée le front montant 8, séparant deux périodes avec gigue du signal 7 engendré, en synchronisme avec soit un front montant soit un front descendant du signal 1 de référence. De ce fait, disposant de deux fois plus de fronts de synchronisation, ici équirépartis, on choisit alors, pour engendrer le signal 7, un front descendant du signal 1 de référence lorsque la position théorique (figure 1B) du signal 2 à engendrer est plus proche du front descendant que d'un des deux fronts montants l'encadrant, ce qui limite l'erreur, ou gigue, maximale à un quart de la période Tr. La gigue maximale est ici de 4,8 - 5 = - 0,2 et 7,2 - 7 = + 0,2 périodes Tr, respectivement en fin des deuxième et troisième périodes du signal 7. . La figure 2 illustre le procédé de l'invention. A une étape 11, on calcule le rapport "Fr"/"fx" = p/q = E + D, E en étant la partie entière et D la partie décimale, les références "Fr" et "fx" désignant des nombres représentant respectivement la valeur des fréquences Fr et fx. On divise ensuite la fréquence de référence Fr par respectivement les entiers E et E + 1 aux étapes respectives 12 et 13, c'est-à-dire que l'on engendre deux périodes de signaux 16, 18 dont les fréquences respectives Fr/E et Fr/(E + 1) encadrent la fréquence voulue fx = Fr/(E + D). A une étape 14, on engendre, à partir du signal 16 de période la plus courte, et comme expliqué plus loin, un signal 17, ici de période (E + 0,5) Tr. A une étape 15, on compare les instants de fin de période du signal théorique fx souhaité 2 à ceux des fronts actifs des signaux 16, 17 et 18 et on choisit le front actif le plus proche du front théorique pour engendrer un front actif 8 du signal engendré 7. On dispose donc de deux paires de signaux d'encadrement: 16 - 17 et 17 - 18, de périodes présentant une différence deux fois moindre que dans l'art antérieur et l'on utilise l'une ou l'autre paire selon que D est respectivement inférieur ou supérieur à 0,5. Comme cela est expliqué plus en détail en regard de la figure 3, le signal 17, présentant un front actif intermédiaire entre ceux des signaux 16 et 18, peut être créé en engendrant tout d'abord une impulsion sur le front actif en fin de période du signal 16, de période la plus courte, et en retardant cette impulsion de la durée d'une demi-période Tr/2 du signal 1 de référence. Ce retard peut être créé en lisant cette impulsion à travers une bascule transférant l'impulsion en synchronisme avec un front actif de l'horloge qu'elle reçoit, par exemple montant. Dans ce cas, l'application du signal 1 de référence ou de son inverse à l'entrée d'horloge de la bascule permet de retarder à volonté d'une demi-période de Tr cette lecture, donc d'obtenir le signal intermédiaire 17 qui, dans l'art antérieur, nécessitait de disposer d'une fréquence de référence de valeur double de celle de la fréquence Fr. Ainsi, selon la valeur de la partie décimale D, on utilise les fronts montants, actifs, du signal 1 ou ses fronts descendants, toujours inactifs dans l'art antérieur, selon le tableau 1 suivant: TABLEAU 1 D Front 0 à 0,25 Fr (16) 0,25 à 0,75 1 NFr (17) 0,75 à 1 Fr (18) Fr et NFr désignant le signal 1 de référence ou son complément, c'est-à-dire le signal 1 inversé pour rendre actifs ses fronts descendants, pour respectivement engendrer les signaux 16 et 18 ou 17. Dans les tableaux 1 et 2, qui suit, on ne tient pas compte de la gigue cumulée. Le tableau 2, qui découle du tableau 1, fixe le choix initial d'une division par E (qui est aussi nécessaire, dans cet exemple, à l'obtention d'une division par E + 0,5) ou bien par E + 1, c'est-à-dire la première valeur à prendre en compte: TABLEAU 2 D Rapport de division 0 à 0,75 E (16, 17) 0,75 à 1 E + 1 (18) Ensuite, la détermination de la séquence des divisions par E, E + 0,5 ou E + 1 est expliquée ci-après, en relation avec le tableau 3, dans lequel la gigue cumulée est prise en compte. Pour chacun des g termes de la séquence, ici q = 5, il s'agit de choisir Fr ou NFr et E ou E + 1, selon les tableaux 1 et 2 dans un premier temps, et 1 et 3 pour la suite. Le choix de Fr ou NFr dépend de partie décimale D, comme l'indique le tableau 1. Le choix de E ou de E + 1 pour respectivement créer les paires de signaux 16 et 17 ou bien 17 et 18, dépend de l'écart entre la position du front actif 8 de la dernière période prélevée pour former le signal 7 et de la position théorique du front 3 à créer. Les positions théoriques des fronts actifs 3 du signal 2 souhaité sont données par la suite temporelle: s(i) = i. p/q avec i entier variant de 1 à q. Calculant la valeur s(i) de rang i concernée, on en détermine les parties entière et fractionnaire E(i) et D(i): s(i) = E(i) + D(i) On arrondit ensuite s(i) au demi-entier le plus proche s'(i), selon le tableau 3, homologue du tableau 1 pour le choix de Fr ou NFr: s(i) -- > sl(i) TABLEAU 3 D(i) s'(i) 0 à 0,25 E(i) 0,25 à 0,75 E(i) + 0,5 0,75 à 1 E(i) + 1 On arrondit ensuite s'(i) par excès: sl(i) -- > s' '(i) puis on calcule la différence: d(i) = s' '(i) - s'' (i-I), qui vaut E ou E + 1 et fixe ainsi le choix du rapport de division de fréquence. Le générateur de fréquences programmable de la figure 3 va maintenant être décrit. Le signal 1 de référence est appliqué à l'entrée d'horloge d'un compteur 24 programmable, relié par des entrées de programmation à la sortie d'un multiplexeur 23 à deux voies respectivement reliées à deux registres tampon 21, 22 contenant respectivement des nombres représentant les valeurs E et E + 1, issus d'un bus 30 relié à un microprocesseur non représenté. Sur la figure 3, les références CK et L indiquent des entrées de signal respectivement d'horloge de comptage et de chargement. La sortie de débordement CARRY du compteur 24 est reliée à une entrée d'un multiplexeur 27 à deux voies et à l'entrée de données d'une bascule 26, de type D, commandée par un inverseur 25 recevant le signal 1 de référence. La sortie de la bascule D 26 est reliée à la seconde entrée du multiplexeur 27. Il est ici prévu un compteur diviseur programmable 29, commandé depuis le bus 30 à travers un registre 28, dont l'entrée d'horloge est reliée à la sortie du multiplexeur 27 et en reçoit, ou prélève, des périodes successives du signal 7 engendré. Un registre parallèle / parallèle 31 est relié au bus 30 pour en recevoir, à chaque cycle de prélèvements Tp, un mot de, ici, q = 32 bits au maximum qui sont transférés dans un registre parallèle / parallèle 32 en début du cycle de prélèvements Tp. Ces g bits fixent successivement chacun le choix entre les valeurs E et E + 1 respectivement contenues dans les registres 21 et 22. Un autre couple de registres 35, 36, semblables au couple 31, 32, reçoit un mot de 32 bits fixant le choix (Fr, NFr) des fronts montants ou descendants du signal 1 de référence pour fixer l'instant de fin de la portion temporelle prélevée. Un registre parallèle / parallèle 33 reçoit du bus 30 un mot de 8 bits pour le transférer, en début de chaque cycle de prélèvements Tp, dans un compteur 34 comptant les périodes du signal 7 engendré dans le cycle en cours et commandant le passage au cycle Tp suivant lorsqu'il a effectué un nombre q de périodes défini par ce nombre de 8 bits. La sortie du registre 32 commande le multiplexeur 23, et le compteur 24 est, à la fin de chaque comptage par E ou E + 1, rechargé par une nouvelle valeur E ou E + 1. Le signal CARRY, qui passe à l'état actif, en phase avec le front montant du signal 1 de référence, après comptage de E ou E + 1 périodes Tr et y reste pendant la durée d'une période Tr, autorise ce rechargement en phase avec le signal 1 de référence, c' est-à-dire lors du front montant du signal 1 qui suit celui où il a été engendré, ce qui fait alors disparaître le signal CARRY. Le registre 36 commande le multiplexeur 27 et commande ainsi la fourniture au compteur 29 du signal CARRY, directement, ou du signal CARRY retardé d'une demi-période de Tr, du fait que la bascule 26 est commandée en opposition de phase par le signal 1 inversé. Le compteur diviseur 29 reçoit ainsi le signal 7 de fréquence fx à gigue réduite et fournit un signal à une fréquence sous-multiple de la fréquence fx, de valeur déterminée par le contenu du registre 28. Le compteur 34 avance au rythme d'une horloge 37, fournie par le compteur 24 avec une période de même valeur (E ou E+1 Tr) que celle du signal CARRY, horloge 37 commandant aussi le décalage des registres 32 et 36. Le compteur 34 fournit, lorsqu'il déborde en fin de période de prélèvements Tp, un signal 38 de rechargement des registres 32 et 36 et de lui-même à partir des registres respectifs 31, 35 et 33. Les registres 21 et 22 contiennent ici deux nombres qui sont respectivement le complément de E et E + 1 à la valeur de débordement du compteur 24, en tenant compte du délai de rechargement (durée du CARRY). Un décompteur aurait aussi pu être utilisé à sa place, sans complémentation des valeurs. On remarquera que le supplément de durée, valant 0,5 Tr, pourrait être créé ailleurs qu'en fin de comptage de E périodes du signal 1 de référence. Par exemple, une porte OU exclusif, en entrée d'horloge du compteur 24, permettrait d'inverser le signal d'horloge en début ou en cours de comptage, en synchronisme avec l'un de ses fronts, c'est-à-dire de créer une seconde inversion simultanée supprimant le front créé par la première et ainsi de figer localement en quelque sorte le temps, en créant momentanément un signal 1 de référence déformé, dont l'une des deux demipériodes a une durée double de la normale. Afin d'augmenter la précision du réglage de la durée des périodes du signal 7 engendrées, on pourrait aussi compléter ou remplacer la bascule 26 par une série de bascules homologues, en cascade ou en parallèle, commandées par des signaux 1 de référence différemment déphasés. Ce déphasage pourrait être obtenu en utilisant des circuits analogiques à retard ou encore en utilisant un signal 1 de référence présentant un facteur de forme différent de 0,5, dont une "demipériode" fournirait, pour commander la série de bascules de retard comme 26, alors en cascade, une référence de durée inférieure à la valeur de la demi-période théorique, telle que le tiers, le quart ou encore moins. Ainsi, trois signaux respectivement déphasés de Tr/4, Tr/2 et 3/4 Tr permettraient d'engendrer, à l'intérieur de la période du signal 1 de référence, une pluralité de fronts supplémentaires, ici dtrois, représentant un signal harmonique de la fréquence de référence Fr, dont on utiliserait les transitions montantes comme fronts de synchronisation pour choisir la durée des portions de période prélevées du signal 1 de référence. On réduirait ainsi, dans ce cas, d'un coefficient 4 la gigue par rapport à l'art antérieur et cela équivaudrait à disposer des fronts d'un signal de fréquence 4 Fr. REVENDICATIONS 1. Procédé de génération d'un signal (7) à une fréquence particulière (fx) par division de la fréquence d'un signal de référence (1) à une fréquence déterminée (Fr), dans lequel on détermine deux rapports de division (E, E+1) correspondant à deux fréquences (Fr/E, Fr/E+1), encadrant la fréquence particulière (fx), de deux signaux (16, 18) qu'on génère, on prélève successivement, en fonction des fréquences particulières d'encadrement (Fr/E, Fr/E+1), des périodes de l'un et de l'autre des signaux à fréquences d'encadrement (16, 18) pour former une séquence de périodes du signal (7) à fréquence particulière (fx), procédé caractérisé par le fait que lesdits rapports de division (E, E+0,5, E+1) sont déterminés en fonction d'une fréquence au moins double de la fréquence de référence (Fr). 2. Procédé selon la revendication 1, dans lequel on prélève les périodes d'encadrement en synchronisme avec un front montant ou descendant dudit signal de référence (1). 3. Procédé selon la revendication 1, dans lequel lesdits rapports de division (E, E+0,5, E+1) sont déterminés en fonction d'une fréquence harmonique de la fréquence de référence (Fr). 4. Procédé selon la revendication 3, dans lequel ladite fréquence harmonique est engendrée par une pluralité de déphasages dudit signal de référence (1). 5. Procédé selon l'une des revendications 3 et 4, dans lequel on prélève les périodes d'encadrement en synchronisme avec ladite fréquence harmonique.