Brevet FR2924875A1 — publié le 20090612

Dispositif de resynchronisation de signaux analogiques obtenus par conversion, avec des convertisseurs numérique-analogique DDR, de signaux numériques synchronisés La présente invention concerne un dispositif de resynchronisation d'une pluralité de signaux analogiques obtenus par conversion, avec des convertisseurs numérique-analogique à rythme de données double, d'une pluralité de signaux numériques synchronisés en sortie d'un composant numérique. Elle s'applique par exemple dans le domaine de l'électronique. La conversion en analogique de signaux numériques à haute fréquence d'échantillonnage a toujours posé des problèmes, à cause notamment de phénomènes physiques rémanents sur des composants internes aux convertisseurs numérique-analogiques (CNA). Une solution actuelle est l'utilisation de CNA fonctionnant conformément au protocole à rythme de données double, ce protocole étant plus connu par l'acronyme anglo-saxon � DDR � signifiant � Double Data Rate �. Le principe du protocole DDR est d'utiliser les fronts montants et les fronts descendants d'un signal d'horloge au lieu d'utiliser uniquement ses fronts montants. Concrètement, pour faire travailler un CNA sur des signaux numériques de fréquence d'échantillonnage 2F, le CNA reçoit un signal d'horloge de fréquence 2F en entrée, qu'il divise par deux par des mécanismes internes afin d'obtenir un signal d'horloge de fréquence F. Le signal de fréquence F est utilisé par le CNA pour cadencer ses étages de registres, notamment ses registres d'entrée recevant le signal numérique à convertir. D'une part, en travaillant sur les fronts montants et sur les fronts descendants du signal de fréquence F conformément au protocole DDR, ces étages de registres peuvent traiter un signal numérique d'entrée échantillonné à la fréquence 2F. D'autre part, en travaillant à la fréquence F au lieu de travailler à la fréquence 2F, ces étages de registres limitent l'impact des phénomènes physiques rémanents. Par la suite, un CNA fonctionnant conformément au protocole DDR sera simplement appelé CNA DDR. Dans certaines situations, plusieurs signaux numériques synchronisés et de même fréquence élevée peuvent devoir être convertis en signaux analogiques, de telle manière que les dits signaux analogiques doivent rester synchronisés. Il peut alors être intéressant de faire travailler en parallèle plusieurs CNA DDR recevant un même signal d'horloge. Par exemple, en considérant deux signaux numériques synchronisés de fréquence élevée 2F, ces deux signaux peuvent être fournis en entrée de deux CNA DDR respectivement, les deux CNA DDR recevant un même signal d'horloge de fréquence 2F. Mais malheureusement, malgré le fait qu'ils reçoivent un même signal d'horloge de fréquence 2F, il n'y a aucune raison pour que les signaux de fréquence F obtenus par division en interne de chacun des deux CNA DDR soient en phase. Les signaux de fréquence F obtenus par division par deux en interne de chacun des deux CNA DDR peuvent être en opposition de phase l'un par rapport à l'autre. En effet, ces divisions du signal étant réalisées indépendamment l'une de l'autre par des composants électroniques certes identiques mais distincts, il n'y a aucune raison pour qu'elles donnent des signaux identiques en phase. Dans le cas présent, cela peut s'expliquer par des temps de latence spécifiques à chaque composant électronique qui, malgré un même signal d'horloge, décalent dans le temps les CNA DDR dès leurs démarrages. Ainsi, les divisions par deux peuvent se faire sur des phases différentes du signal d'horloge de fréquence 2F et les signaux de fréquence F se retrouvent en opposition de phase. Les signaux analogiques convertis en sortie des deux CNA DDR se retrouvent eux aussi en opposition de phase. Par ailleurs, il faut noter que ce phénomène n'est pas déterministe et que d'une mise sous tension à une autre des deux CNA DDR, malgré des conditions de mise sous tension qui peuvent sembler identiques, ils peuvent être en phase ou en opposition de phase sans qu'il soit possible de prévoir. Le problème semble avoir été identifié par des fabricants de CNA DDR, certains ayant même publié des notes techniques visant à donner des pistes et des conseils aux utilisateurs confrontés au problème. Il s'agit essentiellement de prendre garde de faire fonctionner les CNA DDR dans des environnements similaires tant que faire se peut, par exemple en prenant notamment soin de soumettre les lignes véhiculant le signal d'horloge aux mêmes contraintes. Mais les tentatives dans ce sens menées par la demanderesse avec l'assistance des fabricants n'ont pas abouti. Un fabricant envisage de produire prochainement un dispositif comportant deux CNA DDR sur une même puce ce qui, d'après le fabricant en question, devrait résoudre le problème puisque les deux CNA DDR partageront les composants de démarrage suspectés d'être à l'origine du problème. Mais cette solution n'est pas encore disponible actuellement. L'invention a notamment pour but de résoudre le problème précité, en exploitant judicieusement l'architecture matérielle des CNA DDR. A cet effet, l'invention a pour objet un dispositif de resynchronisation d'une pluralité de signaux analogiques obtenus par conversion, avec des convertisseurs numérique-analogique à rythme de données double, d'une pluralité de signaux numériques de fréquence 2F synchronisés en sortie d'un composant numérique. Le dispositif comporte au moins deux convertisseurs numérique-analogique A et B à rythme de données double, chaque convertisseur étant connecté respectivement à une voie de sortie du composant numérique. Les convertisseurs A et B reçoivent un même signal d'horloge de fréquence 2F, les convertisseurs A et B divisant par deux de manière indépendante ce signal d'horloge, pour obtenir un signal d'horloge de fréquence F permettant de cadencer à la fréquence F leurs registres de sortie et leurs registres d'entrée. Le convertisseur B fournit le signal d'horloge à la fréquence F au composant numérique pour cadencer les registres de sortie dudit composant, de sorte que les signaux analogiques en sortie des deux convertisseurs A et B restent synchronisés même si le signal d'horloge à la fréquence FA obtenu par division dans le convertisseur A est en opposition de phase par rapport au signal d'horloge à la fréquence FB obtenu par division dans le convertisseur B. Les convertisseurs A et B peuvent comporter chacun une sortie d'horloge fournissant le signal d'horloge à la fréquence F ainsi qu'une entrée d'horloge permettant de cadencer leurs registres d'entrée. La sortie d'horloge du convertisseur A peut avantageusement être connectée à son entrée d'horloge et la sortie d'horloge du convertisseur B peut avantageusement être connectée à son entrée d'horloge. La sortie d'horloge du convertisseur B peut avantageusement là encore fournir le signal d'horloge des registres de sortie du composant numérique. Par exemple, le composant numérique peut être un module de sérialisation implémenté dans un réseau de portes programmables. Il peut par exemple permettre de passer de signaux numériques sur 56 bits à des signaux sur 14 bits en multipliant la fréquence par quatre. Par exemple, la fréquence 2F peut être supérieure à 1000 mégahertz. L'invention a encore pour principaux avantages qu'elle ne nécessite pas un mécanisme pour détecter dans un premier temps une opposition de phase et un mécanisme pour corriger dans un deuxième temps une éventuelle opposition de phase. L'invention fournit une solution simple, unitaire et autonome qui fonctionne de manière identique qu'il y ait opposition de phase ou pas D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard de dessins annexés qui représentent : - la figure 1, une illustration par un synoptique d'un exemple 20 d'architecture matérielle d'un CNA DDR ; la figure 2, une illustration d'exemples de signaux pouvant résulter de la division par deux d'un signal d'horloge ; - la figure 3, une illustration par un synoptique d'un exemple de dispositif selon l'invention. 25 La figure 1 illustre par un synoptique un exemple d'architecture matérielle d'un CNA DDR A. Le CNA DDR A de la figure 1 est un CNA DDR de marque Analog Device de type AD9736. Il comporte un élément CLKRX 30 qui peut recevoir de l'extérieur un signal d'horloge DACCLK à la fréquence 2F. Un élément DIV2 divise par deux la fréquence de DACCLK pour obtenir un signal d'horloge DATACLK_OUT de fréquence F, le signal d'horloge DATACLK OUT étant d'une part fourni en sortie par l'intermédiaire d'un composant LVDSTX et le signal d'horloge DATACLK_OUT étant d'autre part 35 fourni à des registres de sortie DIA et D2A internes au CNA DDR A. Les registres DIA et D2A sont donc cadencés à la fréquence F. Le CNA DDR A de l'exemple de la figure 1 comporte également un élément LVDSRXI qui peut recevoir de l'extérieur un signal d'horloge DATACLK_IN. Le signal d'horloge DATACLK_IN est fourni à des registres d'entrée DI et D2 par l'intermédiaire d'un élément SD d'échantillonnage. Les registres Dl et D2 peuvent recevoir par l'intermédiaire d'un élément LVDSRX2 un signal numérique DAC_INPUTA à convertir. Pour convertir correctement le signal numérique DAC_INPUTA, les registres DI et D2 doivent être synchronisés avec les registres de sortie du composant extérieur fournissant le signal DAC_INPUTA. En d'autres termes, le signal d'horloge DATACLK_IN doit être identique au signal qui cadence les registres de sortie du composant qui fournit le signal numérique DAC_INPUTA à convertir. Le CNA DDR A comporte également un multiplexeur MUXA qui permet de traiter alternativement les registres DIA et D2A et de fournir les données qu'ils contiennent à un élément DACCORE. L'élément DACCORE fournit en sortie du CNA DDR A un signal analogique DAC_OUTPUTA qui est la conversion du signal DAC_INPUTA. L'architecture du CNA DDR A apparaît clairement séparée en deux domaines : un domaine où les étages de registres sont cadencés à la fréquence DATACLK IN et un domaine où les étages de registres sont cadencés à la fréquence DACCLK. L'invention se propose d'exploiter judicieusement cette propriété que l'on retrouve dans la majorité des CNA DDR. La figure 2 illustre les deux signaux DATACLK_OUT pouvant résulter de la division par deux du signal DACCLK par le composant DIV2. Comme explicité précédemment, la division réalisée par DIV2 peut se faire sur des phases différentes du signal DACCLK de fréquence 2F, ceci de manière indéterministe. Ainsi, deux signaux DATACLK_OUT peuvent résulter de la division du signal DACCLK : soit un signal DATACLK_OUT de fréquence FA, soit un signal DATACLK_OUT de fréquence FB, les fréquences FA et FB étant en opposition de phase. La figure 3 illustre par un synoptique un exemple de dispositif selon l'invention. Le dispositif comporte deux CNA DDR identiques de type AD9736, le CNA DDR A de la figure 1 et un CNA DDR B, pour traiter parallèlement deux signaux numériques DAC_INPUTA et DAC INPUTB synchronisés de 14 bits chacun. Ces deux signaux numériques DAC_INPUTA et DAC_INPUTB synchronisés peuvent être fournis par un réseau de portes programmables, ou � FPGA � selon la terminologie anglo-saxonne (� field-programmable gate array �). Par exemple, le FPGA peut être de marque Lattice de la famille SC25M. Il peut comporter deux tampons de mémoire BUF A et BUF B de type FIFO (� First ln First Out �) pouvant recevoir par exemple deux flots de données de 56 bits chacun, ceci de manière discontinue. Le FPGA peut comporter un module SER de sérialisation des données vers lequel sont transférés les flots de données de 56 bits. Par exemple, le module SER peut permettre de passer de deux bus 56 bits à 300 mégahertz en entrée à deux bus 14 bits avec une horloge quatre fois plus rapide en sortie, c'est-à-dire une horloge à 1200 mégahertz. Le CNA DDR A et le CNA DDR B doivent donc convertir les deux signaux numériques synchronisés de 14 bits à 1200 mégahertz, de telle sorte que les deux signaux analogiques DAC_OUTPUTA et DAC_OUTPUTB en sortie de CNA DDR A et de CNA DDR B respectivement soient toujours synchronisés. Pour cela, le CNA DDR A et le CNA DDR B reçoivent en entrée de leurs éléments CLKRX respectifs le même signal d'horloge DACCLK à la fréquence 2F de la figure 2 avec 2F=1200 mégahertz. Dans l'exemple de la figure 3, le signal à F=600 mégahertz en sortie DATACLK_OUT du CNA DDR B peut avantageusement être fourni comme signal d'horloge des registres de sortie du module SER. En effet, les sorties du module SER étant traitées par des composants DDR, à savoir le CNA DDR A et le CNA DDR B, une horloge à 600 mégahertz au lieu de 1200 mégahertz suffit. Car comme explicité précédemment, une horloge à 600 mégahertz utilisée en DDR est équivalente à une horloge à 1200 mégahertz utilisée en rythme de données simple. Ainsi, selon l'invention, les données sont envoyées vers la sortie du module SER avec une horloge synchrone du CNA DDR B, qui sera appelé par la suite � convertisseur de référence �. Par ailleurs, chacun des signaux d'horloge aux sorties DATACLK_OUT peut être renvoyé à son propre convertisseur : le signal à la fréquence F=600 mégahertz en sortie DATACLK_OUT du CNA DDR B est fourni comme signal d'horloge à l'entrée DATACLK_IN du CNA DDR B et le signal à la fréquence F=600 mégahertz en sortie DATACLK_OUT du CNA DDR A est fourni comme signal d'horloge à l'entrée DATACLK_IN du CNA DDR A. Mais comme explicité précédemment, malgré le fait qu'ils reçoivent le même signal d'horloge DACCLK à la fréquence 2F=1200 mégahertz et le fait que les lignes véhiculant ce signal soient soumises aux mêmes contraintes, il n'y a aucune raison pour que les deux signaux de fréquence F=600 mégahertz disponibles sur les sorties DATACLK_OUT respectives du CNA DDR A et du CNA DDR B soient en phase. Dans un premier cas, qui est celui illustré par la figure 3, ils peuvent être en opposition de phase, le signal à la sortie DATACLK_OUT du CNA DDR A pouvant être à la fréquence FA de la figure 2 et le signal à la sortie DATACLK OUT du CNA DDR B pouvant être à la fréquence FB de la figure 2. Comme illustré par la figure 1, le multiplexeur MURA traite alternativement les données en sortie du registre DIA puis les données en sortie du registre D2A, les registres DIA et D2A ainsi que le multiplexeur MURA étant eux-même cadencés en interne du CNA DDR A à la fréquence FA. De manière similaire, le CNA DDR B comporte un multiplexeur MUXB qui traite alternativement les données en sortie d'un registre DI B puis les données en sortie d'un registre D2B, les registres D1 B et D2B ainsi que le multiplexeur MUXB étant eux-même cadencés en interne du CNA DDR B à la fréquence FB. Mais puisque par hypothèse FA et FB sont en opposition de phase, alors MUXA et MUXB travaillent de manière symétrique ou inversée : MURA traite DIA quand MUXB traite D2B et MUXA traite D2A quand MUXB traite DI B. Or, les sorties du module SER sont quant à elles cadencées à la fréquence FB, le CNA DDR B étant le convertisseur de référence fournissant le signal d'horloge au module SER. Donc les registres d'entrée DI et D2 du CNA DDR A cadencés à FA travaillent également de manière inversée ou symétrique par rapport aux registres de sortie du module SER : le registre DIA se retrouve à contenir ce qu'aurait dû contenir le registre D2A et le registre D2A se retrouve à contenir ce qu'aurait dû contenir le registre DIA. Cette inversion du contenu des registres DIA et D2A combinée avec l'inversion dans le séquencement des traitements par MUXA des registres DIA et D2A permet de rétablir la synchronisation. En quelque sorte, une inversion annule l'autre. Dans un deuxième cas, les signaux de fréquence F=600 mégahertz disponibles sur les sorties DATACLK_OUT respectives du CNA DDR A et du CNA DDR B peuvent être en phase, le signal à la sortie DATACLK OUT du CNA DDR A et le signal à la sortie DATACLK_OUT du CNA DDR B pouvant être à la même fréquence FA de la figure 2. Dans ce cas, il n'y a plus aucune inversion et la synchronisation n'est jamais rompue. Dans un deuxième cas, les signaux de fréquence F=600 mégahertz disponibles sur les sorties DATACLK_OUT respectives du CNA DDR A et du CNA DDR B peuvent être en phase, le signal à la sortie DATACLK_OUT du CNA DDR A et le signal à la sortie DATACLK_OUT du CNA DDR B pouvant être à la même fréquence FB de la figure 2. Dans ce cas également, il n'y a plus aucune inversion et la synchronisation n'est jamais rompue. Ainsi, grâce à l'invention, les signaux analogiques convertis en sortie des deux CNA DDR A et CNA DDR B sont toujours en phase, ils ne sont jamais désynchronisés. Outre l'avantage d'offrir une solution simple, unitaire, autonome et peu coûteuse, l'invention décrite précédemment a encore pour principaux avantages qu'elle est applicable quel que soit le nombre de CNA DDR utilisés, un seul d'entre eux constituant le convertisseur de référence pour tous les autres. Indépendante de la fréquence, elle est par ailleurs applicable à des fréquences élevées. REVENDICATIONS 1. Dispositif de resynchronisation d'une pluralité de signaux analogiques (DAC_OUTPUTA, DAC_OUTPUTB) obtenus par conversion, avec des convertisseurs numérique-analogique à rythme de données double, d'une pluralité de signaux numériques (DAC_INPUTA, DAC_INPUTB) de fréquence 2F synchronisés en sortie d'un composant numérique (SER), caractérisé en ce que : il comporte au moins deux convertisseurs numérique-analogique A et B à rythme de données double, chaque convertisseur étant connecté respectivement à une voie de sortie du composant numérique : les convertisseurs A et B reçoivent un même signal d'horloge de fréquence 2F, les convertisseurs A et B divisant par deux de manière indépendante ce signal d'horloge, pour obtenir un signal d'horloge de fréquence F permettant de cadencer à la fréquence F leurs registres de sortie (DIA, D2A) et leurs registres d'entrée (DI, D2) ; le convertisseur B fournissant le signal d'horloge à la fréquence F au composant numérique pour cadencer les registres de sortie dudit composant, de sorte que les signaux analogiques (DAC_OUTPUTA, DAC_OUTPUTB) en sortie des deux convertisseurs A et B restent synchronisés même si le signal d'horloge à la fréquence FA obtenu par division dans le convertisseur A est en opposition de phase par rapport au signal d'horloge à la fréquence FB obtenu par division dans le convertisseur B. 2. Dispositif selon la revendication 1, caractérisé en ce que : les convertisseurs A et B comportent chacun une sortie d'horloge (DATACLK_OUT) fournissant le signal d'horloge à la fréquence F ; les convertisseurs A et B comportent chacun une entrée d'horloge (DATACLK_IN) permettant de cadencer leurs registres d'entrée (Dl, D2) ; la sortie d'horloge du convertisseur A est connectée à l'entrée d'horloge du convertisseur A et la sortie d'horloge du convertisseur B est connectée à l'entrée d'horloge du convertisseur B ; 10 15- la sortie d'horloge du convertisseur B fournit le signal d'horloge des registres de sortie du composant numérique (SER). 3. Dispositif selon la revendication 1, caractérisé en ce que le composant 5 numérique est un module de sérialisation (SER). 4. Dispositif selon la revendication 3, caractérisé en ce que le module de sérialisation (SER) est implémenté dans un réseau de portes programmables (FPGA). 5. Dispositif selon la revendication 3, caractérisé en ce que le module de sérialisation (SER) permet de passer de signaux numériques sur 56 bits à des signaux sur 14 bits en multipliant la fréquence des signaux par quatre. 6. Dispositif selon la revendication 3, caractérisé en ce que la fréquence 2F est supérieure à 1000 mégahertz.