(19)
(11) EP 1 521 143 A1

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
06.04.2005  Bulletin  2005/14

(21) Numéro de dépôt: 03103642.9

(22) Date de dépôt:  01.10.2003
(51) Int. Cl.7G04F 10/00, G04F 10/04
(84) Etats contractants désignés:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR
Etats d'extension désignés:
AL LT LV MK

(71) Demandeur: Acqiris
1228 Plan-les-Ouates (CH)

(72) Inventeurs:
  • Bolli, Jean-Luc
    1202, Genève (CH)
  • Goumaz, Jean-François
    1208, Genève (CH)

(74) Mandataire: P&TS Patents & Technology Surveys SA 
Terreaux 7 P.O.Box 2848
2001 Neuchâtel
2001 Neuchâtel (CH)

   


(54) Convertisseur temps-numérique


(57) Convertisseur temps-numérique (10) comportant un circuit de mesure grossière (15) et un circuit de mesure fine (17). Le circuit de mesure fine permet la détermination précise de la position temporelle d'un événement à l'intérieur d'une période de la base des temps, par interpolation ou moyennage de sinusoïdes en quadrature (13, 14), échantillonnés (Ii, Qi) en coïncidence avec une salve d'impulsions (8) générées par le circuit de déclenchement du convertisseur.




Description

Domaine technique de l'invention



[0001] La présente invention se rapporte au domaine des codeurs de temps, et plus précisément des convertisseurs temps-numérique, désignés aussi TDC (Time-Digital-Converters).

Etat de la technique antérieure



[0002] Les convertisseurs temps-numériques, ou TDC, sont utilisés où l'on désire mesurer et coder avec précision la position temporelle d'un événement, ou d'une pluralité d'événements, représentés par des impulsions électriques, par rapport à un signal de référence, définissant l'origine de l'échelle temporelle.

[0003] Les TDC sont utilisés par exemple dans de domaine de la physique corpusculaire, pour mesurer les temps de passage des particules élémentaires produites lors d'une interaction, dans les différentes zones actives d'un détecteur de particules segmenté.

[0004] Les TDC trouvent aussi des applications dans beaucoup d'autres domaines, dans lesquels on requiert une mesure précise des temps d'arrivée d'impulsions électriques. En particulier, mas non exclusivement les applications des TDC comprennent la microscopie à corrélation temporelle de photons, de la tomographie optique, l'essai des composantes électroniques, la spectroscopie par mesure du temps de vol, la réflectométrie dans le domaine du temps.

[0005] Une technique bien connue de coder des intervalles de temps est de compter électroniquement le nombre d'impulsions d'un signal d'horloge, et de copier la valeur du compteur lors de l'événement d'intérêt dans un registre.

[0006] Une limitation de cette technique est que la précision de mesure, est limitée par la cadence du signal d'horloge. Pour une résolution de 10 picosecondes, par exemple, un signal d'horloge de 100 gigahertz est requis, en sorte que ce niveau de précision est difficilement atteignable par cette technique.

[0007] Une autre technique connue prévoit de convertir l'intervalle à mesurer en un intervalle proportionnellement plus long, par exemple avec un convertisseur à double rampe, dans lesquels on charge et puis décharge un condensateur avec deux courants constants de valeurs différentes.

[0008] Le temps requis pour que la tension aux bornes du condensateur retourne à zéro est proportionnel à l'intervalle de temps recherché, et peut être mesuré avec un compteur dont la cadence est relativement faible. Un inconvénient de cette technique est le temps mort relativement important associé à chaque événement mesuré, en sorte que cette technique est difficilement applicable à des impulsions multiples et rapprochées, comme par exemple les signaux générés par les détecteurs de particules élémentaires (événements multi-hit).

[0009] Un autre inconvénient de la technique ci-dessus est lié à la difficulté de réaliser des sources de courants constantes et indépendantes de la tension de rampe. Toute différence de comportement entre le deux sources induisant des erreurs de conversion.

[0010] Il est aussi connu de transformer un intervalle de temps en un signal analogique de tension ou de charge de valeur proportionnel, grâce à un convertisseur temps-amplitude (TAC), et de convertir ensuite le signal analogique en un signal numérique par un convertisseur analogique-numérique (ADC). Cette méthode présente toutefois le désavantage d'une calibration complexe et délicate. Un autre inconvénient de la technique ci-dessus est lié à la difficulté d'obtenir une rampe de tension exactement linéaire. La non linéarité de la capacité et/ou la non constance de la source du courant sont des sources d'erreur de conversion. Cette technique exige d'autre part de prévoir une procédure de calibration de la rampe, due à l'imprécision initiale inévitable da la capacité et du courant de rampe.

[0011] Un objet de la présente invention est de présenter un codeur de temps exempt des inconvénients de l'art antérieur.

[0012] Un autre but de la présente invention est de proposer un codeur de temps qui joint une résolution et une profondeur élevées, permettant des mesures très précises d'intervalles temporels étendus.

[0013] Un autre but de la présente invention est de permettre de réaliser un codeur de temps dont la résolution est programmable et adaptable aux besoins de l'application.

[0014] Un autre but de l'invention est de réaliser un codeur de temps ne nécessitant pas de procédure de calibration pour maintenir sa précision.

[0015] Ces buts sont atteints par le dispositif qui est l'objet de la revendication principale, et notamment par un dispositif de mesure de la position temporelle d'un événement, comprenant: un générateur de signal démarrable, pour générer un signal périodique synchrone avec le dit événement, et dont la phase est corrélée à la position temporelle dudit événement, caractérisé en ce que ledit dispositif de mesure comporte un premier convertisseur analogique-numérique pour mesurer une pluralité d'échantillons d'un premier signal de référence lors dudit événement, les valeurs desdits échantillons déterminant ladite phase dudit signal périodique.

[0016] L'invention sera mieux comprise à la lecture des revendications et de la description détaillée et illustrée par les figures dans lesquelles :
  • la figure 1a représente un schéma-bloc d'un codeur de temps selon une variante de l'invention ;
  • la figure 1 b représente un schéma-bloc d'un codeur de temps selon un mode ultérieur de réalisation de l'invention ;
  • la figure 2a et 2b représentent des chronogrammes des différents signaux des circuits des figures 1a et 1b respectivement ;
  • les figures 3 et 4 représentent deux exécutions possibles d'un générateur pour la base des temps du dispositif selon l'invention;
  • les figures 5 et 7 représentent deux exécutions possibles d'un générateur d'impulsions de l'invention ;
  • la figure 6 représente un chronogramme illustrant le fonctionnement du circuit de la figure 5 ;
  • la figure 8 représente un autre mode d'exécution d'un codeur de temps selon l'invention ;
  • la figure 9 représente un chronogramme illustrant le fonctionnement du circuit de la figure 8 ;

Description détaillée de l'invention



[0017] Le fonctionnement général d'un convertisseur 10 selon un aspect de la présente invention est maintenant décrit avec référence au schéma-bloc de la figure 1 et au chronogramme de la figure 2.

[0018] Le signal d'entrée 2 est un signal analogique ou numérique comprenant des impulsions de tension ou de courant correspondant en général à des événements dont la position temporelle doit être déterminée avec précision. Dans la figure 1 le signal 2 est connecté à une entrée d'un discriminateur 37, pour en obtenir un signal numérique de déclenchement 6 (TRIG, TR), dont le front correspond à l'événement signalé par l'impulsion 2.

[0019] Lorsque les circonstances le requièrent, le discriminateur pourra être précédé d'un circuit de conditionnement du signal d'entrée 2, non représenté sur la figure 1. Le circuit de conditionnement peut pour exemple inclure des élément de protection contre les surtensions, une ligne de retard, un amplificateur, atténuateurs, adaptateurs d'impédance et tout autre élément électrique ou électronique nécessaire pour adapter les caractéristiques du signal 2 au discriminateur 37.

[0020] Une seconde entrée du discriminateur 37 est connectée au convertisseur DAC 35, qui fournit un niveau de tension constant 5 et représentant un niveau de seuil à dépasser pour qu'un événement soit détecté par le convertisseur 10. En général le niveau de seuil 5 sera placé suffisamment bas pour détecter aussi les petites impulsions, mais toutefois assez éloigné du niveau du bruit pour limiter les faux déclenchements.

[0021] Le DAC 35 permet d'adapter aisément la valeur du seuil 5 aux conditions de mesure. Dans une variante simplifiée de l'invention, et lorsque cette flexibilité d'utilisation n'est pas requise, le DAC 35 pourra être remplacé par un générateur de tension de référence fixe ou variable.

[0022] Dans une autre variante de l'invention, le discriminateur 37 est un discriminateur à fraction constante (CFD), qui déclenche l'impulsion de trigger lorsque le niveau d'entrée a atteint une fraction prédéterminée de sa valeur de pic. Cette disposition est particulièrement utile lorsque l'amplitude des signaux d'entrée peut varier d'un événement à l'autre.

[0023] Dans le schéma de la figure 1, le discriminateur 37 détecte le flanc ascendant du signal d'entrée 2. Il existe toutefois des situations dans lesquelles il est nécessaire de détecter le flanc descendant, par exemple lors qu'on traite des impulsions ayant une polarité négative. Dans ce cas la porte logique 39, commandée par l'entrée 38 permet d'obtenir un signal logique de trigger 6 ayant la polarité requise.

[0024] Dans un premier mode de réalisation de l'invention, décrit avec référence à la figure 1a, le générateur 81 produit le signal sinusoïdal 13 servant de base des temps pour le convertisseur 10. La sinusoïde 13 est généré à partir d'un signal d'horloge externe 82, comme indiqué sur la figure 1a, ou par un générateur local de base des temps non représenté. La fréquence du signal 13 est choisie en fonction de l'application et de la résolution temporelle désirée, dans des limites imposées par la vitesse des composantes utilisées. Dans un cas typique on peut préconiser une fréquence de 100 MHz, bien que, évidemment, la présente invention englobe aussi des dispositifs dont la cadence est plus élevée ou plus faible, selon les cas.

[0025] Le signal numérique de déclenchement 6 est envoyé à un système de mesure grossier 15, décrit par la suite avec référence aux figures 1a et 2a. Le circuit de mesure grossier 15 comprend le compteur en temps réel 61 et les deux registres 64, 65.

[0026] Le compteur en temps réel 61 compte les périodes du signal sinusoïdal 13, et est utilisé pour alimenter les deux bus 3 et 4, dont le contenu change de manière synchrone, étant incrémenté à chaque cycle de la base des temps 13, pendant tout le temps dans lequel le convertisseur 10 est actif. Le bus 4 est décalé d'une demi-période par rapport au bus 3 par un circuit logique de temporisation non représenté.

[0027] Le nombre de bits des bus 3 et 4 est choisi en fonction de la distance temporelle maximale entre deux événements que l'on désire enregistrer. Admettant que la base des temps tourne à 100 MHz, et que les bus 3 et 4 comprennent 32 bits chacun, la durée maximale sera de 43 secondes. Si une durée plus limitée suffit, l'on pourra limiter la profondeur des bus 3 et 4 et du compteur 61, par exemple à 24 bits pour une profondeur de 167 ms.

[0028] Les registres 64 et 65 échantillonnent le contenu des bus 3 et 4 à l'instant de chaque événement signalé par le flanc ascendant du signal de trigger 6. Le contenu des registres est ensuite copié dans une zone de mémoire prévue à cet effet dans l'unité logique 71.

[0029] Dans une variante préférentielle de l'invention, le système de mesure grossier 15, comprenant le compteur en temps réel 61, les deux bus 3, 4, l'unité de temporisation et les registres 64, 65 sont réalisés à l'intérieur d'un circuit intégré de type FPGA (Field Programmable Gate Array). De préférence le circuit FPGA comprendra aussi l'unité logique 71.

[0030] Le signal de déclenchement 6 est aussi envoyé à un dispositif de mesure fine 17, comprenant le générateur d'impulsions 40 et l' ADC 52.

[0031] Le générateur d'impulsions 40 déclenche une salve d'impulsions 8 en correspondance de chaque événement marqué par une impulsion du signal de trigger 6. Le signal 8 sert d'horloge pour l'ADC 52 qui échantillonne le signal sinusoïdal 13 en correspondance de chaque impulsion du signal 8. Le signal 8 généré est, par la manière dont le circuit 40 fonctionne, synchrone avec le signal de trigger 6. Le signal 8 contient donc, par la valeur de sa phase, l'information sur l'instant d'arrivée de l'événement.

[0032] Les valeurs échantillonnés par l'ADC 52 sont stockées dans l'unité logique 71. Le fait de prendre plusieurs échantillons de la sinusoïde 13 permet de déterminer la phase de cette dernière au moment du signal de trigger 6, avec une grande résolution, comme on verra par la suite.

[0033] On admet que le signal sinusoïdal 13 est représenté par la relation :

   où la quantité ω0 représente la fréquence angulaire du signal 13, qui est connue parce qu'elle st liée à la base des temps interne ou externe, A représente l'amplitude de la sinusoïde 13 et D représente en tension, inconnu a priori.

[0034] A l'instant du trigger TRIG, on déclenche une salve de N mesures du signal S(t) et l'on enregistre ces mesures dans 71. On a, pour les N échantillons ;

   où Ts représente l'espacement entre deux impulsions d'une salve. Les N relations (2) constituent donc un système de N équations avec les inconnues:
t0
instant d'arrivée du trigger par rapport au passage par zéro de S(t) ;
A
amplitude de la sinusoïde 13;
TS
période avec laquelle la sinusoïde 13 est échantillonnée (inverse de la fréquence de la salve d'impulsions 8) ;
D
décalage vertical (offset) de la sinusoïde dans l'échelle de l'ADC.


[0035] Toutes les inconnues, et en particulier t0, (celle qui nous intéresse) peuvent donc être déterminées dès que N ≥ 4.

[0036] Pour N > 4 le système (2) est surdéterminé. On pourra alors utiliser des procédés d'adaptation ou de minimisation des erreurs pour améliorer la résolution de la mesure fine. La précision de la mesure fine s'améliore avec un facteur

, par exemple par N = 7 la résolution est améliorée d'un facteur 2 ; pour N = 19 la résolution est améliorée d'un facteur 4 et ainsi de suite, la résolution temporelle initiale (N = 4) étant déterminée par la fréquence ω0 et le nombre de bits de l'ADC 52.

[0037] L'amplitude A est choisie de façon à occuper au maximum l'échelle de l'ADC 52, sans toutefois la dépasser.

[0038] La période d'échantillonnage Ts est choisie judicieusement en fonction de la période T0 de la sinusoïde échantillonnée. De préférence on adoptera une cadence sensiblement plus rapide que celle de la sinusoïde 13, pour accélérer le temps de conversion. Par exemple on pourra choisir des impulsions séparées de 1 ns, et un ADC 52 avec un taux de conversion de 1 GS/s.

[0039] De préférence les trois inconnues A, Ts et D sont déterminées à chaque nouveau signal de trigger, et leur valeur est ignoré, ou utilisé pour des fins de monitorage uniquement. Ce procédé de mesure présente l'avantage de ne pas nécessiter d'aucune calibration, l'exactitude de la mesure reposant alors uniquement sur la précision absolue et la stabilité de la fréquence ω0.

[0040] Les quantités A, Ts et D sont toutefois sensiblement constantes, et pourraient être déterminée une fois pour toutes ou périodiquement par un procédé de calibration approprié. Il est aussi possible dans la présente invention d'évaluer séparément les quantités A, Ts et D lors d'une calibration automatique ou sur initiative d'un opérateur, réduisant ainsi le nombre d'impulsions requises pour atteindre la résolution souhaitée et limitant le temps mort di convertisseur 10. Dans une variante ultérieure de l'invention, la calibration de A, Ts et D pourra aussi être effectuée seulement lorsque certaines conditions prédéterminées sont réunies, par exemple une seule fois pour le premier hit de chaque événement, mais pas pour les hits successifs.

[0041] Grâce aux multiples échantillons il est possible d'augmenter sensiblement la résolution temporelle du convertisseur 10. Par exemple en digitalisant 9 échantillons de la sinusoïde 13 à 100 MHz avec un ADC à 6 bits on peut atteindre une résolution de 25 ps ou meilleure.

[0042] Selon les cas et les caractéristiques des composantes employés, il est possible que toutes les impulsions 8 ne soient pas échantillonnées. Si par exemple l'ADC 52 a une architecture interne en pipeline, une ou plusieurs impulsions au début et à la fin de la salve sont nécessaires uniquement pour réveiller l'ADC et pour extraire les données du pipeline. Dans ce cas on pourra augmenter le nombre de coups dans chaque salve, afin d'avoir toujours un nombre suffisant d'échantillons.

[0043] Le générateur d'impulsions 40 est maintenant décrit en détail avec référence aux figures 5 et 6. La figure 5 représente une façon possible de réaliser le générateur 40.

[0044] Le générateur 40 représenté sur la figure 5 comporte un oscillateur LC démarrable par le transistor 42. A la réception d'un signal de trigger 6, une sinusoïde est présente au terminal 45 dont la fréquence est déterminée par les valeurs de L et C. Le compteur 4 compte un nombre prédéfini d'impulsions du signal discriminé 46, et remet à zéro le signal Enable, pour couper la salve d'impulsions à la longueur souhaitée.

[0045] La figure 7 représente un circuit alternatif pour le générateur d'impulsions 40 comportant des lignes de retard 43. Chaque cellule, composée d'une ligne de retard 43 et d'une porte XOR 44 produit une impulsion décalée dans le temps. L'additionneur Σ recompose les impulsions pour donner lieu à la salve d'impulsions 8.

[0046] Lors de l'explication du fonctionnement du dispositif de mesure grossier 15, on a vu que les deux registres 64 et 65 enregistrent deux mesures indépendantes de la position temporelle de l'événement par rapport aux deux bases de temps 3 et 4 isochrones et décalées d'une demi période. Cette duplication permet d'éviter les ambiguïtés dues à la métastabilité des bus 3 et 4 lors des transitions 90, visibles sur la figure 2.

[0047] A la fin d'une période de mesure, la mémoire interne de l'unité 71 contient les données brutes relatifs à chaque événement, soit, pour chaque événement :
  • la valeur K des registres 64 et 65 du dispositif de mesure grossière 15 ;
  • les N codes SN résultant de l'échantillonnage de la sinusoïde 13 en correspondance des N impulsion de la salve d'impulsions 8 du dispositif de mesure fine 17.


[0048] Une routine de dépouillement et lecture permet de calculer la position temporelle de chaque événement enregistré. La routine comprend, pour chaque événement ayant généré un signal de déclenchement 6, les étapes suivantes :
  • les données du dispositif de lecture fine 17 doivent être traduites en temps relatif t0 sur la période des sinusoïdes I. Cette partie de l'algorithme utilise les échantillons Si enregistrés en salve pour calculer les phases ϕi et le temps relatif t0, par inversion du système (2), comme expliqué ci-dessus.
  • La valeur de t0 permet de savoir lequel des latchs 64 et 65 a enregistré le temps réel TR correctement, sans métastabilité induite par les transitions 90. En effet la connaissance de t0 et de ϕ0 permet toujours de déterminer lequel des deux registres 64 et 65 contient la valeur exacte du temps réel, et reste plus éloigné des transitions 90. Dans l'exemple de la figure 2 les transitions du bus 3 se trouvent à la phase -90°, par rapport à la sinusoïde I, tandis que les transitions du bus Q se situent à la phase +90°. Ainsi l'algorithme choisira, pour le calcul de TR, le bus 3 lorsque 0 ≤ ϕ0 ≤ 180°, et le bus 4 si 180° ≤ ϕ0 ≤ 360°. Le temps réel est alors donné par TR = 2π K / ω. L'homme du métier comprendra facilement que d'autres dispositions des déphasages entre le signal S(t) et les bus 3, 4 sont aussi possibles dans la présente invention.
  • Le temps de l'événement est obtenu par la somme du temps réel et tu temps relatif : Tev = Tv+ t0.


[0049] Selon les cas, la routine de dépouillement et lecture pourra être stockée dans l'unité logique 71 et exécutée par un processeur local, ou exécutée par un processeur master, qui a l'accès aux données brutes stockées dans l'unité 71 par un bus de communication approprié, comme par exemple un bus PCI, VME ou VXI.

[0050] Un second mode de réalisation de la présente invention est maintenant décrit avec référence à la figure 1b.

[0051] Dans ce mode de réalisation le codeur de temps selon l'invention 20 comprend un générateur 810 qui produit les deux signaux sinusoïdaux en quadrature 13 et 14 servant de base de temps pour le convertisseur 10. On désigne aussi la première sinusoïde 13 avec I (In phase), et la seconde sinusoïde 14 avec Q (Quadrature). Les signaux 13 et 14 sont générés à partir d'un signal d'horloge externe 82, comme il est visible sur la figure 1, ou par un oscillateur local non représenté. La fréquence des signaux 13 et 14 est choisie en fonction de la résolution que l'on souhaite obtenir, comme dans le premier mode de réalisation déjà décrit.

[0052] Le générateur des signaux I et Q 810 est maintenant décrit avec référence aux figures 3 et 4. Le signal de référence 82, provenant de l'extérieur ou d'un oscillateur local, est appliqué aux entrées des deux bascules 83, 84 pour générer deux signaux carrés déphasés de 90° dont la fréquence est la moitié de celle du signal 82. Les deux filtres passe-bande ou passe-bas identiques 85 et 86 transforment les signaux carrés en signaux sinusoïdaux.

[0053] Dans une variante du générateur 810, représentée sur la figure 4, les bascules 83, 84 sont remplacées par un générateur d'horloge programmable 89. Le circuit 89 produit à ses sorties A et B deux signaux carrés ayant chacun une relation de phase déterminée avec le signal de référence 82 programmable par le bus d'entrée 120. Dans le circuit de figure 4 la temporisation entre les signaux I et Q peut ainsi être aisément calibrée. De préférence le générateur programmable 89 est intégré dans le FPGA.

[0054] La fréquence des signaux de référence I et Q peut être changée, pour s'adapter aux conditions de la mesure, par des moyens appropriés non représentés.

[0055] Le signal numérique de déclenchement 6 est envoyé à un système de mesure grossier 15, identique à celui déjà décrit en relation au premier mode de réalisation de cette invention et représenté sur les figures 1a et 2a.

[0056] Le signal de déclenchement 6 est aussi envoyé à un dispositif de mesure fine 17, comprenant le générateur d'impulsions 40 et les deux ADC 51 et 52.

[0057] Le générateur d'impulsions 40 déclenche une salve d'impulsions 8 en correspondance de chaque événement marqué par une impulsion du signal de trigger 6. Le signal 8 sert d'horloge pour les deux ADC 51 et 52 qui échantillonnent les deux signaux sinusoïdaux en quadrature 13 et 14 en correspondance de chaque impulsion du signal 8.

[0058] Revenant maintenant à la figure 2b, les valeurs échantillonnés par les ADC 51 et 52 sont stockées dans l'unité logique 71, et chaque paire de codes I et Q est utilisée pour déterminer la phase ϕ de la sinusoïde I lors de son échantillonnage, selon la relation trigonométrique ϕ = arctan(I/Q), en obtenant ainsi une mesure fine du temps d'arrivée de l'événement.

[0059] Bien que ce mode de réalisation de l'invention prévoie une paire de sinusoïdes en quadrature comme référentiel de temps, l'invention n'est pas limitée par cet exemple. Un convertisseur selon l'invention pourrait aussi utiliser deux signaux déphasés d'un angle différent de 90° ou de formes différentes, par exemple des triangles, à la place des sinusoïdes 13 et 14.

[0060] Vu que le signal 8 se compose d'une salve d'impulsions régulièrement espacés dans le temps, chaque événement donne lieu à plusieurs échantillons Ii et Qi, et à plusieurs valeurs de la phase ϕi = ω0 x ti, où ω0 représente la fréquence angulaire des sinusoïdes I et Q, et ti le temps de départ de la i-ème impulsion de la salve d'impulsions 8. Le temps d'arrivée relatif t0 de l'impulsion 6 peut ainsi être déterminé plus précisément, de manière analogue à celle décrite dans le premier mode de réalisation ci-dessus, ou par des techniques de moyennage ou interpolation, par exemple une régression linéaire des valeurs ϕi.

[0061] Grâce à l'échantillonement de deux sinusoïdes en parallèle, il est possible de stocker un nombre supérieur de valeurs Ii et Qi dans un temps plus bref, par rapport au premier mode de réalisation. Cette variante de l'invention offre ainsi, à résolution équivalente, un temps mort réduit.

[0062] Une variante préférée de réalisation de la présente invention est maintenant décrit avec référence aux figures 8 et 9.

[0063] Le générateur 181 de la figure 8 produit un signal d'horloge à cadence constante CK, de manière autonome ou synchrone avec un signal d'horloge externe 82. Le circuit de base de temps 181 peut comprendre une PLL, et sa fréquence de sortie sera choisie de manière à être adaptée à l'ADC utilisé et à la vitesse des divers circuits digitaux du système, implémentés dans un FPGA. Les caractéristiques requises pour la base de temps sont :
  • une grande précision à long terme, en ppm, qui détermine la précision du TDC sur sa gamme de mesure et dépend de la qualité de la fréquence de référence de la PLL.
  • un très faible bruit de phase (mesuré en pico-secondes rms) sur la durée de la mesure.


[0064] Le compteur en temps réel 128 du codeur de temps 100 compte le nombre d'impulsions CK du début à la fin de la mesure. Sa profondeur, en bits détermine la plage du TDC, soit la durée maximale entre le premier et le dernier événement enregistré par le module TDC. La valeur du compteur 161 est disponible sur le bus CTR. Typiquement on prévoira une profondeur de 32 bits pour une cadence de l'horloge CK de 1 GHz et une profondeur de 4.3 secondes, bien que, évidemment, d'autres valeurs soient possibles pour ces paramètres.

[0065] Le codeur de temps 100 comprend aussi au moins deux canaux d'acquisition 99. Plusieurs canaux peuvent partager un seul circuit de base de temps 181 et un compteur 161 commun pour constituer un TDC multi-canal pouvant échantillonner plusieurs signaux à la fois, chaque signal étant mesuré par un des canaux du TDC.

[0066] Le signal numérique de trigger TR est généré à partir du signal d'entrée par le comparateur 37, le DAC 35 et la porte 38, comme déjà expliqué. Le signal TR est appliquée à l'entrée d'horloge d'une bascule D 107, permettant d'implémenter une fonction d'acceptation des triggers, et donne lieu, lorsque le signal de contrôle ENA est à l'état haut, à un signal de trigger accepté TRA.

[0067] Le signal TRA, dont le flanc initial est synchrone avec l'événement à mesurer, déclenche un générateur de sinus synchronisé (GSS) 140. Le circuit 140 est construit de façon similaire au circuit 40 représenté sur la figure 5, et comprend un oscillateur LC contrôlé par un circuit de démarrage / arrêt. Dans l'état arrêt un courant constant est injecté dans l'inductance L, et le facteur de qualité Q du résonateur est maintenu faible par la faible résistance des diodes D1, D2 en l'état de conduction.

[0068] Lorsque TRA passe à l'état haut, l'injection de courant et le pilotage du transistor sont brusquement supprimés, le facteur Q devient alors élevé et le résonateur LC entre en oscillation sinusoïdale faiblement amortie. L'oscillation sinusoïdale SIN est synchrone à TRA et s'étend pour plusieurs périodes, en pratique jusqu'à l'instant dans lequel le signal TRA revient à l'état bas. Ce circuit mémorise donc, par l'état de sa phase, l'instant d'arrivée de l'événement qui a généré le trigger.

[0069] Dans cet exemple la sortie du GSS 140 (SIN) est de type single-ended, l'invention s'étend toutefois aussi au cas d'une sortie différentielle.

[0070] A la différence des modes de réalisation présentés précédemment, le signal sinusoïdale SIN est appliqué à l'entrée de numérisation d'un ADC 151. L'ADC 151 échantillonne en permanence la sortie du générateur 140, selon la cadence impartie par le signal CK présent à son entrée d'horloge.

[0071] Le circuit 113, composé par la cascade des bascules 108 et 109, génère le signal de trigger accepté synchronisé à l'horloge TRAS. Ce circuit comprend au moins deux bascules D en chaîne et a la fonction de produire un signal dont le transitions sont synchrones à celles du CK, et dépourvu d'états métastables. Ce signal sera utilisé pour geler l'état du compteur de temps réel du système.

[0072] Les échantillons mesurés par l'ADC 52 sont transmis à un registre de données d'interpolation (RDI) 185. Cette mémoire numérique d'échantillons accepte les données provenant de l'ADC 151 lorsque le signal TRAS est dans l'état haut, et enregistre seulement les données de sortie de l'ADC intéressantes pour la détermination de l'instant d'arrivée de l'événement, comme il sera expliqué par la suite.

[0073] La sélection des événements utiles à la détermination du temps d'arrivée est effectuée grâce au contrôleur de séquence d'acquisition 127. Ce circuit contient un compteur d'échantillons à accepter pour déterminer le nombre d'échantillons à enregistrer à chaque événement. Lorsque ce nombre est atteint le signal RESET remet la bascule 107 à zéro. Les signaux TRA et TRAS reviennent donc à l'état bas, le premier immédiatement, et le second après un nombre de cycles d'horloge qui est déterminé par le nombre de bascules en série dans le circuit 113.

[0074] Le contrôleur de séquence d'acquisition 127 prévoit deux modes de fonctionnement sélectionnables. Dans un premier mode (mode multi-hit) se remet lui-même à zéro pour être prêt à accepter un nouvel événement immédiatement après un événement enregistré. Dans un second mode de fonctionnement (mode single-hit) il garde le signal de RESET haut, interdisant l'acquisition de nouveaux événements, jusqu'à la réception d'une nouvelle commande de réinitialisation.

[0075] Le registre de temps réel 164 mémorise l'état du bus CTR au moment de la transition positive du TRAS. La valeur enregistrée dans le registre 164 constitue une mesure grossière de l'instant du trigger TR.

[0076] En se référant maintenant au chronogramme de la figure 9, on peut voire que la zone temporelle d'acceptation d'un trigger TRA est déterminée à partir de la mesure grossière et du retard connu introduit par le circuit de synchronisation, à l'intérieur de la plage d'incertitude Zacc, correspondant à une période de l'horloge CK. Le chronogramme 9 est valable pour une synchronisation à 2 bascules ; Le même raisonnement peut toutefois s'étendre à un circuit de synchronisation différent.

[0077] L'interpolation des données acquises par l'ADC fournit, comme dans le premier mode de réalisation de l'invention, le temps exact ΔT de la transition de TRA à l'intérieur de la fenêtre Zacc.

[0078] Les échantillons stockés dans le registre RDI 185 successifs à chaque impulsion de trigger sont donc donnés, dans l'approximation d'un amortissement négligeable, Q = ∞.



[0079] On peut reconnaître dans cette expression le système d'équations (2). Le système (3) est donc déterminé si le nombre N d'échantillons est à égal à 4, et surdéterminé si N > 4. Dans ce dernier cas il sera possible d'utiliser l'information supplémentaire peur augmenter la précision de la mesure de ΔT, comme dans les exemples précédents.

[0080] Dans le cas où le résonateur LC a un facteur Q réel (Q ≠ ∞) la sinusoïde générée par le circuit 140 a la forme :



[0081] Les inconnues à déterminer sont au nombre de 5 (A, τ0, ω0, ϕ0, D) et l'algorithme utilisé sera un fit à 5 paramètres, permettant de déterminer Δt dès que N, le nombre d'échantillons, est supérieure ou égale à 5.

[0082] La fin de l'intervalle Zacc coïncide avec le temps réel mémorisé dans le registre RTR 162, l'instant d'arrivée d'un événement peut donc être obtenu par

   où Ts est la période du signal d'horloge CK.

[0083] La position et la taille de l'impulsion TRAS, correspondant à la fenêtre d'acquisition du registre RDI 162, seront choisies pour mémoriser un nombre suffisant d'échantillons Ei, en tenant compte aussi du retard introduit par l'ADC 151 (pipeline delay) comme indiquée sur la figure 9.

[0084] Les éléments 107, 113 et 127 ont, dans cet exemple, essentiellement la fonction de générer le signal de temporisation TRAS pour sélectionner les événements réellement utiles pour la détermination de l'instant du déclenchement du trigger TR. Cette sélection pourrait toutefois être réalisée ou complétée aussi dans une étape successive, par exemple par un élément de logiciel, résident dans l'unité de contrôle du codeur 100, ou dans un ordinateur externe.

[0085] Eventuellement l'on pourra aussi sélectionner seulement un sous-ensemble des échantillons Ei, par exemple pour éviter d'utiliser le premier échantillon de la sinusoïde (E3 sur la figure 9) si l'on soupçonne que l'oscillateur GSS 140 possède un phénomène transitoire de démarrage.

[0086] Les circuits proposés peuvent également fonctionner avec d'autres formes d'onde, différentes de la forme sinusoïdale. Toute forme d'onde répétitive et synchrone à un trigger pouvant en principe être utilisée. Par exemple l'on pourrait remplacer le générateurs 51, 52 et 151 par des générateurs de signaux à dents de scie ou à triangle.

[0087] On a vu que le codeur de temps de la présente invention peut être avantageusement intégré dans un dispositif multi-canal, comprenant plusieurs canaux 99 dans un module pouvant être interfacé avec un bus de communication. Dans le cas d'un dispositif multi-canal, les différents canaux d'un module peuvent être séquencés pour atteindre un temps mort proche de zéro en mode monocanal.

[0088] Le TDC selon l'invention peut être réalisé sous forme d'élément modulaire, pourvu d'un connecteur permettant de le brancher à un bus de données, comme par exemple un bus PCI, VXI ou VME. Dans ce cas chaque module constitue une carte présentant un connecteur sur un bord, de manière à pouvoir être enfiché de manière amovible et connectée électriquement avec une carte-mère.


Revendications

1. Dispositif de mesure (10, 20, 100) de la position temporelle d'un événement, comprenant:

un générateur de signal démarrable (40), pour générer un signal périodique (8, SIN) synchrone avec le dit événement, et dont la phase est corrélée à la position temporelle dudit événement

   caractérisé en ce que ledit dispositif de mesure comporte un premier convertisseur analogique-numérique (51, 151) pour mesurer une pluralité d'échantillons (Si, Ei) d'un premier signal de référence lors dudit événement, les valeurs desdits échantillons déterminant ladite phase dudit signal périodique (8, SIN).
 
2. Dispositif selon la revendication 1, dans lequel ledit signal périodique (8) détermine la cadence d'acquisition dudit convertisseur analogique-numérique (51) et ledit premier signal de référence (13) est un signal périodique continu.
 
3. Dispositif selon la revendication 2, comprenant un second convertisseur analogique-numérique (52) pour mesurer l'amplitude d'un second signal de référence (14), ayant une différence de phase prédéterminée par rapport audit premier signal de référence (13), lors dudit événement.
 
4. Dispositif selon la revendication 1, dans lequel ledit signal de référence est ledit signal périodique synchrone (SIN), et la cadence d'échantillonnage dudit ADC est déterminée par une horloge stable (CK)
 
5. Dispositif selon la revendication 2, comprenant un dispositif de mesure grossière (15) comprenant un premier registre (64) et un second registre (65) pour compter un nombre de périodes desdits premier (14) et/ou second (13) signal de référence, et des moyens de calcul pour déterminer ladite mesure grossière à partir du valeur d'un desdits premier registre (64) et second registre (65), le registre utilisé étant choisi pour éviter des erreurs induit par des transition (90) dudit nombre de périodes.
 
6. Dispositif selon la revendication 2, comprenant un dispositif de mesure grossière (15) comprenant un premier registre (64) et un second registre (65) pour compter un nombre de périodes desdits premier (14) et/ou second (13) signal de référence, et des moyens de calcul pour déterminer ladite mesure grossière à partir du valeur d'un desdits premier registre (64) et second registre (65), le registre utilisé étant celui dont le signal de référence est le plus éloigné d'une transition (90).
 
7. Dispositif selon la revendication 1 ou 4, comportant des moyens de calcul pour déduire la valeur de ladite phase dudit signal périodique et/ou la position temporelle dudit événement à partir de ladite pluralité d'échantillons mesurés (Si, Ei).
 
8. Dispositif selon la revendication 1 ou 4, comportant des moyens d'interface pour transférer la pluralité d'échantillons mesurés.
 
9. Dispositif selon la revendication 1 ou 4, dans lequel ledit générateur de signal démarrable (40, 140) comporte au moins un oscillateur LC.
 
10. Dispositif selon la revendication 2 ou 3, dans lequel ledit ou lesdits signaux de référence (13, 14) sont des signaux sinusoïdaux en quadrature.
 
11. Dispositif selon la revendication précédente, dans lequel ledit ou lesdits signaux de référence sinusoïdaux sont générés par filtrage de signaux rectangulaires.
 
12. Dispositif selon l'une des revendications précédentes, comportant des moyens de calibration de la phase dudit ou desdits signaux de référence.
 
13. Dispositif selon l'une des revendications précédentes, comportant des moyens pour changer la fréquence dudit ou desdits signaux de référence.
 
14. Dispositif selon la revendication 4, comprenant un circuit de temporisation (107, 113, 127) pour sélectionner les échantillons utiles à la détermination du temps dudit événement.
 
15. Dispositif selon l'une des revendications précédentes, dans lequel ledit événement est constitué par un changement d'état d'un signal de déclenchement, ledit signal de déclenchement étant généré par un comparateur comparant un signal d'acquisition avec une valeur de seuil.
 
16. Dispositif selon la revendication précédente, dans lequel ledit comparateur est un discriminateur à fraction constante.
 
17. Dispositif selon la revendication 15 ou 16, comportant un convertisseur numérique-analogique pour générer ladite valeur de seuil.
 
18. Système comportant plusieurs dispositifs selon l'une des revendications 1 à 5 permettant de mesurer la position temporelle de différents événements, ledit système comportant en outre une mémoire dans laquelle les résultats de mesure de chaque dispositif sont écrits, ladite mémoire étant accessible par un système de traitement numérique.
 
19. Système selon l'une des revendications précédentes, monté sur une carte d'interconnexion comprenant un connecteur sur un bord, de manière à ce que ladite carte puisse être enfichée de manière amovible et connectée électriquement avec une carte-mère.
 




Dessins




























Rapport de recherche