FR 2647988 A1 19901207 FR 8907099 A 19890530 DISPOSITIF DE RETARD D'UN SIGNAL NUMERIQUE PROGRAMMABLE ET AP- PLICATION A UN DISPOSITIF DE CODE CORRECTEUR D'ERREURS. Description L'invention concerne un dispositif de retard pour retarder un signal numérique d'entrée série SIN d'un nombre entier M de temps de bit H, soit d'une durée:t = M.H, et le transformer en un signal numérique de sortie série retardé SOUT ayant même débit binaire que SIN, le nombre M étant pro- grammable par pas. Le dispositif selon l'invention permet d'obtenir des retards de quelques mégabits avec des fréquences d'horloge (débits binaires) pouvant dépasser 100 MHz. De telles perfor- mances permettent d'appliquer aisément ce dispositif notamment à des dispositifs de codes correcteurs d'erreurs connus, util- isés dans le domaine des télécommunications, par exemple pour la création de retards supérieurs à 500 temps de bit avec un débit binaire de l'ordre de 40 MHz. Plus généralement, ce dis- positif trouve une application chaque fois qu'il est besoin de retarder un signal numérique, sans effectuer de changement de rythme comme c'est le cas dans les dispositifs du type premier entré-premier sorti (FIFO). Comme autre type d'utilisation dans le domaine des télécommunications, on peut encore citer le filtrage en bande de base et, dans le domaine de la vidéo, le filtrage bidimensionnel et d'autres applications qui se font jour avec l'apparition de la télévision numérique. En se plaçant à un niveau d'arrière plan technolo- gique qui englobe largement le domaine technique concerné on cite par exemple le problème technique qui consiste & extraire les contours horizontaux d'une image vidéo en calculant le gradient de deux points situés sur une mème verticale. Cette opération nécessite le retardement d'une ligne vidéo afin de la comparer à la ligne suivante et par exemple 4 dispositifs de retard ayant chacun une capacité de plusieurs centaines d'éléments d'image (pixels) sont nécessaires. Les solutions actuellement connues et utilisées pour résoudre cette catégorie de problèmes sont les suivan- tes - l'utilisation de lignes à retard analogiques qui peuvent os05 aussi traiter des signaux numériques. Ces lignes sont réalisées par l'association d'éléments ac- tifs tels que des amplificateurs, et d'éléments passifs tels que selfs et capacités. Elles présentent les inconvénients d'être asynchrones, peu stables dans le temps à cause de la dérive des composants passifs, d'avoir une faible gamme de programmation et d'être chères. - l'utilisation de lignes à retard C.C.D. (Charge Coupled De- vices en langue anglaise). Ces lignes sont constituées par une série de cellules aptes & mémoriser une charge électrique, les cellules étant re- liées entre elles par des transistors MOS permettant, lors- qu'ils sont conducteurs, le passage des charges d'une cellu- le à la suivante. On distingue, dans un système CCD un con- vertisseur tension-courant, la barrette CCD et ses signaux de commande, un convertisseur courant-tension et un échan- tillonneur de sortie. Les inconvénients des lignes CCD sont leur lenteur (fréquence d'horloge intérieure à 20 MHz), leur mise en oeuvre difficile (plusieurs tensions d'alimentation sont nécessaires), l'impossibilité d'obtenir un retard pro- grammable et leur cot élevé. - l'utilisation de registres programmables à bascules (bascu- les D). Ces registres, dont les caractéristiques de fonctionnement sont proches de celles visées par l'invention, le fonction- nement entièrement numérique notamment, sont largement uti- lisés et simples & mettre en oeuvre. Les fréquences de déca- lage peuvent atteindre des valeurs très élevées (supérieures à 100 MHz) et ces registres sont facilement programmables. Un inconvénient majeur demeure cependant, qui est celui de l'obtention de grands retards étant donné que chaque temps de bit de retard nécessite l'utilisation d'une bascule avec son entrée d'horloge particulière et que l'utilisation de nombreux commutateurs pour la création de grands retards po- se des problèmes de temps de propagation tr6p grands. Pour des retards importants, supérieurs à 500 temps c bit, le nombre de bascules nécessaires devient prohibitif et le prix très élevé. On connait par exemple le registre & décalage programmable 1 à 64 bits HEF 4557 B produit par la société Philips, qui peut fonctionner à une fréquence d'horloge de 20 MHz. En typique sous 15 Volts, on connait aussi le regis- tre à décalage AMD 2804, produit par la société américaine AMD et pouvant fournir des retards compris entre 1 et 256 bits à des fréquences d'horloge de 4 MHz. Selon l'invention, les inconvénients de l'art anté- rieur sont atténués ou supprimés grâce au fait que le disposi- tif de retard indiqué au premier paragraphe est remarquable en ce qu'il comporte un registre d'entrée à au moins un bit, une mémoire à accès aléatoire (RAM) dont les r emplacements de bit(s) contiennent un nombre entier p de bit(s) au moins égal à 1, un registre de sortie à au moins un bit, et des moyens de commande de la mémoire RAM constitués par un décodeur qui re- çoit sous forme numérique sur un bus d'entrée le nombre M, un compteur cyclique qui reçoit du bus de sortie du décodeur un nombre de programmation N ou sa partie principale n par lequel (laquelle) il adresse cycliquement la mémoire RAM et un sé- quenceur qui reçoit du compteur cyclique un signal de commande de cycle d'écriture-lecture et qui fournit à la mémoire RAM les signaux de commande d'écriture et de lecture. L'idée de base de l'invention est d'utiliser une mémoire RAM comme registre et de faire fonctionner globalement ce registre comme un registre à décalage ordinaire, à la dif- férence près que, pour l'établissement d'un temps de retard prédéterminé, l'information sous forme numérique reste stockée en un emplacement fixe de la mémoire RAM au lieu de transiter dans les différents emplacements de bit comme c'est le cas pour un registre à décalage. Pour obtenir un tel fonctionne- ment, un adressage cyclique de la RAN est nécessaire, ainsi qu'une synchronisation des instants d'écriture et de lecture par rapport à l'horloge bit, et un décodage du nombre de bits de retard requis afin de prendre en compte un certain nombre de bits de retard intrinsèquement apportés, en fonctionnement, par la mémoire RAM et des registres annexes d'entrée et de sortie. On notera que la mémoire RAM peut avoir une grande ca- pacité de stockage d'information numérique, directement liée aux retards souhaités, qu'elle fonctionne à vitesse élevée, en liaison directe avec le nombre de bits par emplacement mémoi- re, tout en nécessitant une seule entrée d'horloge et que son prix est très bas en comparaison de celui de plusieurs centai- nes, voire milliers de bascules D comportant chacune une en- trée d'horloge. A noter aussi qu'une bascule, sur une plaquet- te de circuit intégré, consomme pour 1 bit deux fois plus de place (de surface de Silicium) qu'une cellule de mémoire RAM de 8 bits. Un mode de réalisation préféré du dispositif selon l'invention est caractérisé en ce que la mémoire RAM est orga- nisée en mots de p bits, p étant égal à 2 ou à un multiple de 2, que ledit registre d'entrée comporte une entrée série et p sorties parallèles, ledit registre de sortie comporte p en- trées parallèles et une sortie série, et qu'il comporte en ou- tre, juste en amont dudit registre d'entrée, un registre & dé- calage programmable qui reçoit du bus de sortie du décodeur les bits les moins significatifs fournissant un nombre de bits de décalage 1 tel que: np+l-1 - N et que ledit décodeur est conçu pour fournir ladite partie principale n du nombre de programmation N audit compteur cyclique. Le principal avantage de cette réalisation est que le multiplexage des bits avant écriture dans la mémoire permet d'atteindre des fréquences d'horloge typiquement supérieures à MHz, à un prix très bas comparativement à la solution & bascules; à titre d'illustration, on peut citer le cas des circuits prédiffusés o une cellule RAM représente 3 portes équivalentes, au lieu de 6 pour une bascule D. La description qui suit en regard des dessins anne- xés, le tout donné à titre d'exemple, fera bien comprendre comment l'invention peut être réalisée. La figure 1 est le schéma synoptique d'un premier mode de réalisation de l'invention. La figure 2 est un diagramme de temps permettant d'expliciter le fonctionnement du dispositif de la figure 1. La figure 3 est le schéma synoptique d'un deuxième mode de réalisation de l'invention. Le dispositif de retard représenté à la figure 1 est constitué par une chaîne principale de traitement d'un si- gnal de données numériques entrantes SIN, à la partie supé- rieure de la figure, et d'une chaine secondaire de commande de la chaîne principale à la partie inférieure de la figure. Le signal SIN est fourni à un registre à décalage programmable par pas de 1 bit, référencé 1. Le registre 1 est constitué par exemple par l'agencement série d'un registre à décalage 2 à p bits, à entrée série et p sorties parallèles et d'un multiple- xeur 3 à p entrées parallèles, 1 parmi p, et sortie série. Le registre 1 fournit un signal numérique série INR & un registre d'entrée 4, identique au registre à décalage 2 qui fournit sur un bus de données à p conducteurs 5 un signal DIN & une mémoi- re & accès aléatoire (RAM) 6 qui comporte r emplacements de p bits. Un bus de sortie 7 à p conducteurs, porteur du signal DOUT, est relié à un registre de sortie 8 à p entrées parallè- les et sortie série dont la sortie, qui est aussi celle du dispositif de retard, est le siège du signal SOUT. Le signal SOUT est la réplique du signal SIN retardé d'un nombre entier K temps de bit dont la valeur minimale est de l'ordre de quel- ques temps de bit (typiquement inférieure à 20 bits) et dont la valeur maximale peut atteindre plusieurs mégabits. Un si- gnal d'horloge H, de période H, est fourni aux registres 2, 4 et 8 et à la mémoire 6. La fréquence 1/H du signal d'horloge peut dépasser 100 MHz. Les éléments 2, 3, 4, 6 et 8 peuvent être réalisés au moyen des circuits intégrés suivants, pour la création de retards allant jusqu'à quelques centaines de bits avec un débit binaire 1/H de 40 MHz, en liaison avec leurs circuits de commande décrits plus loin.. registres 2 et 4: 74F164 multiplexeur 3: 74F151 mémoire 6: RAM statique HM65161 de la société françai- se Matra Harris, registre 8: 2 fois 74F194 La valeur de p, de préférence supérieure à 1 et égale à 2 ou à un multiple de 2, est choisie égale à 8 dans le présent exemple. Le débit binaire 1/H maximum possible est fonction directe de p et donc d'autant plus élevé que la va- leur de p est grande. Le registre à décalage 1 est optionnel; en son absence, le dispositif de retard permet la réalisation de retards par pas de p bits. Cependant, pour la plupart des applications et même pour de grands retards il est souhaitable d'obtenir des retards variant par pas de 1 bit, ce que permet le registre programmable 1. La chaine secondaire de commande, au bas de la figure 1, est constituée par un décodeur 11, un compteur cyclique 12 et un séquenceur 13, par exemple réalisés au moyen des circuits in- tégrés suivants: Décodeur 11 plusieurs additionneurs HE4008B montés en cascade, Compteur 12 plusieurs circuits 74F163 Séquenceur 13 74F374. Le signal d'horloge H est fourni aux éléments 12 et 13. Le dé- codeur 11 reçoit sous forme numérique parallèle d'un bus 14 le nombre de temps de bit de retard M imposé par l'utilisateur. A ce nombre est soustrait dans le décodeur 11 un nombre entier fixe q égal à quelques unités. La soustraction M-q s'effectue par exemple par adjonction du complément à 2 de q. Du décodage effectué en 11, il résulte la fourniture d'un nombre N sous forme numérique parallèle sur un bus 15 en sortie dudécodeur 11. Les bits de poids les plus faibles sont transmis par un bus 16 au multiplexeur 3 pour sélectionner l'une parmi ses p entrées et les bits restants (poids forts) par un bus 17 au compteur cyclique 12. Le bus 16 est porteur du nco're 1-1 tel que: 1l tite valeur est 1. Dans le compteur 12, un changement d'horlo- ge est effectué, en 18, pour que ce compteur s'incrémente d'une unité tous les p coups d'horloge, soit. une horloge de O10 comptage de période pH qui est aussi transmise par un conduc- teur 19 au séquenceur 13. Le compteur 12 effectue un comptage cyclique... 0, 1,..., n-1, O, 1... et ces n états de comptage sont fournis en binaire en tant qu'adresses de lecture et d'écriture, sur un bus d'adresses 21 qui permet l'établisse- ment de n cycles de lecture puis d'écriture, chacun de durée pH, dans n emplacements mémoire parmi les r emplacements de la mémoire 6. La séquence de lecture puis d'écriture & l'inté- rieur de chaque cycle est établie par le séquenceur 13 qui re- çoit & cet effet les signaux d'horloge H et pH et qui est com- mandé pour fournir à la mémoire 6 un signal de lecture R sur un conducteur 22 puis un signal d'écriture W sur un conducteur 23. Le fonctionnement du dispositif de retard est il- lustré par le diagramme de temps de la figure 2 dans le cas particulier o un seul emplacement mémoire de 8 bits est uti- lisé, dans la mémoire 6, ce qui correspond à la valeur n = 1, à l'état 0.. .001 pour le bus 17 et à l'état 0.. 000 pour le bus d'adresses 21. A la figure 2, on a représenté les signaux H, SIN, INR, DIN, AD qui est l'état d'adressage du bus 21, R, W, DOUT et SOUT. Le nombre M affiché sur le bus d'entrée 14 du déco- deur est par exemple égal à 23, ce qui entraine un retard en- tre les signaux SIN et SOUT égal &:T = 23 H. Le décodeur 11 ajoute au nombre M la représentation binaire en complément à 2 du nombre: q = 11. Le bus 16 à 3 conducteurs est porteur du nombre binaire: 1-1 = 100, soit 4, ce qui entraine un retard du signal SIN, à travers le registre à décalage 1, égal à: T2 = 5 H, correspondant à la valeur:1 = 5. Le bus 17, par exemple à 6 conducteurs est porteur du nombre binaire n = 000CO0001, ce qui se traduit sur le bus de sortie 21 du comp- teur cyclique 12 par la configuration binaire parmanente: 000000 qui adresse le premier emplacement de la mémoire 6. Le nombre de programmation N, sur le bus 15 est donc égal à: 000001100 et sa partie principale n vaut 1. On notera que, pour des valeurs de n supérieures & 1, le compteur 12 fournit cycliquement à la cadence 1/8 H les n premières adresses de la mémoire 6 comprises entre O et n-1. Les phases de lecture puis d'écriture, disjointes, au cours de chaque cycle de durée 8 H sont choisies de façon telle qu'un intervalle de temps at égal à un nombre entier k de périodes H sépare les instants mar- quant le début de chaque phase. Dans l'exemple de la figure 2, on a choisi: At = kH 4 H. Un emplacement de la mémoire 6 qui est inscrit à un instant tl est donc lu, n cycles plus tard, à l'intant tl+npH-kH soit, dans le cas de la figure 2, avec un retard de 4 H. Par ailleurs, l'ensemble des éléments 4, 6 et 8 apporte un retard: t3 = mH intrinsèque, conditionné par la technologie et le type de mémoire utilisé, ce retard, de l'ordre de quelques périodes d'horloge étant lui aussi ren- du égal à un nombre entier m de périodes H au moyen des syn- chronisations décrites plus haut. A la figure 2, le retard T3' est égal à: T3 = mH a 14 H en prenant en compte le retard pH d à la mise en parallèle du signal INR par le registre à dé- calage 4. Le calcul du nombre q peut se déduire des deux rela- tions suivantes: M-q = np+(l-1) = N M = (np-k)+m+l ce qui entraîne q = mk+l On notera que le dispositif de la figure 1 peut aussi être ajusté par étalonnage et réglage, c'est-à-dire que le nombre q à soustraire dans le décodeur 11 peut être obtenu sans calcul préalable en appliquant sur le bus 15 la configuration binaire O...01000 et en mesurant le retard, égal à qH, entre les si- gnaux SIN et SOUT. Le dispositif de retard de la figure 1.ermet d'établir des retards programmables par pas de H égaux ou su- périeurs à: (p+q)H, soit 19 H dans l'exemple de la figure 2. Pour certaines applications, il peut être nécessaire d'avoir un dispositif de retard quasi universel, c'est-à-dire ayant les performances du dispositif de la figure 1 et permettant de réaliser aussi les petits retards compris entre 2 H et (p+q-1)H. Dans ce cas, une adaptation du schéma électronique de la figure 1 est nécessaire, comme représenté à la figure 3 o l'on distingue les éléments supplémentaires suivants: entre le registre à décalage programmable 25 et le registre d'entrée 4, ainsi qu'à la sortie du dispositif de retard, deux commutateurs à deux positions respectifs 26 et 27 per- mettent de dériver l'information numérique série qui ne transite plus dès lors à travers les éléments 4, 6 et 8 mais à travers un registre de synchronisation à 1 bit 28 qui re- çoit le signal d'horloge H. Les commutateurs 26 et 27 sont commandés par un signal C à 2 états, 0 ou 1, en provenance du décodeur 29 qui effectue la dérivation précitée représen- tée sur la figure 3 lorsqu'il est détecté, dans le décodeur 29, que le nombre M est inférieur & p+q (C = O par exem- ple). Le signal C est engendré dans le décodeur 29 au moyen de circuits logiques symbolisés en 31 et dont l'agencement est à la portée de l'homme du métier. On notera que le si- gnal C doit aussi modifier légèrement le décodage, & l'inté- rieur du décodeur pour prendre en compte le retard d'une pé- riode d'horloge apporté par le registre 28; par exemple, pour la configuration binaire d'entrée: = 0...O0010 sur le bus d'entrée 14, la configuration sur le bus de sortie 15 doit être: N = O... 0000. Par ailleurs, le registre à déca- lage programmable 25 a une longueur au moins égale à p+q-1 et ce registre reçoit, en conséquence un ou plusieurs con- ducteurs supplémentaires pour sa programmation; ces modifi- cations sont représentées & la figure 3 par la liaison en trait interrompu 32, interne au registre 25 et par le commu- tateur à deux positions 33 commandé par le signal C et qui permet la dérivation, d'un ou plusieurs conducteurs de rang(s) plus élevé(s) que ceux du bus 16,'du compteur cycli- que 34 vers le multiplexeur 35. Avantageusement, le circuit de retard de la figure 1 ou de la figure 3 est réalisé sous la forme d'un circuit in- tégré unique sur une plaquette en matériau semiconducteur. Un mode de réalisation simplifié non représenté consiste à omettre le registre à décalage programmable 1 dans le dispositif de retard de la figure 1, & appliquer tous les conducteurs du bus 15 au compteur cyclique 12 et & utiliser une mémoire RAM 6 à emplacements de 1 bit. Ceci conduit & un schéma très simple du dispositif de retard selon l'invention mais pour des applications pour lesquelles la fréquence d'hor- loge 1/H est faible, typiquement inftérieure & 10 MHz. Il est décrit ci-dessus une mémoire RAM statique qui est la plus appropriée pour la mise en oeuvre de l'inven- tion; il est cependant aussi possible d'utiliser une mémoire RAM dynamique pourvu que les cycles de rafraîchissement, au moins pour les n emplacements exploités parmi les r emplace- ments que contient la mémoire, soient respectés, pendant cha- que durée npH afin de ne pas perdre l'information contenue dans ces n emplacements. D'autre part, sur les figures 1 et 3, la mémoire RAN 6 est représentée avec un bus de données d'en- trée et un bus de données de sortie distincts; un bus de don- nées d'entrée-sortie commun peut être utilisé de façon connue moyennant des commandes appropriées pour cet autre type de configuration de la mémoire. Le signal de commande d'écritu- re-lecture de la RAM 6 peut aussi être porté par un conducteur unique en provenance du séquenceur 13; dans ce dernier cas un 2647.988 autre conducteur de validation d'écriture ou de lecture re- liant les éléments 13 et 6 est alors nécessaire. Revendications 1. Dispositif de retard pour retarder un signal numé- rique d'entrée série SIN d'un nombre entier N de temps de bit H, soit d'une durée: t = M.H, et le transformer en un signal num2rique de sortie série retardé SOUT ayant méme débit binai- re que SIN, le nombre M étant programmable par pas, caractéri- sé en ce qu'il comporte un registre d'entrée à au moins un bit, une mémoire à accès aléatoire (RAM) dont les r emplace- ments de bit(s) contiennent un nombre entier p de bit(s) au moins égal à 1, un registre de sortie à au moins un bit, et des moyens de commande de la mémoire RAM constitués par un dé- codeur qui reçoit sous forme numérique sur un bus d'entrée le nombre M, un compteur cyclique qui reçoit du bus de sortie du décodeur un nombre de programmation N ou sa partie principale n par lequel (laquelle) il adresse cycliquement la mémoire RAM et un séquenceur qui reçoit du compteur cyclique un signal de commande de cycle d'écriture-lecture et qui fournit à la mé- moire RAM les signaux de commande d'écriture et de lecture. 2. Dispositif de retard selon la revendication 1, ca- ractérisé en ce que ledit décodeur est un soustracteur qui ef- fectue l'opération: M-q = N, q incorporant le retard interne exprimé en un nombre entier de périodes H intrinsèquement ap- porté par lesdits registres d'entrée et de sortie et la mémoi- re RAM lors de leur fonctionnement. 3. Dispositif de retard selon la revendicatins 2, ca- ractérisé en ce que la mémoire RAM est organisée en mots de p bits, p étant égal à 2 ou à un multiple de 2, que ledit regis- tre d'entrée comporte une entrée série et p sorties parallè- les, ledit registre de sortie comporte p entrées parallèles et une sortie série, et qu'il comporte en outre, juste en amont dudit registre d'entrée, un registre à décalage programmable qui reçoit du bus de sortie du décodeur les bits les soins si- gnificatifs fournissant un nombre de bits de décalage I tel que: np+l-1 = N et que ledit décodeur est concu pour fournir ladite partie principale n du nombre de programmation N audit compteur cyclique. 4. Dispositif de retard selon la revendication 3, ca- ractérisé en ce que ledit registre à décalage pr- rammable est constitué par le montage en série d'un registre lécalage à p bits à entrée série et p sorties parallèles et d'un multiple- xeur à entrée série, une parmi p, et sortie série. 5. Dispositif de retard selon la revendication 3 ou 4, caractérisé en ce que ledit registre à décalage programmable par pas de 1 bit est conçu pour que sa longueur soit au moins égale à: p+q-1, que ledit décodeur comporte des moyens de dé- tection pour détecter si le nombre M est supérieur ou égal, ou inférieur à: p+q, et des moyens de commande pour, si M est inférieur à p+q, commuter simultanément les bits d'entrée les moins significatifs du décodeur sur un dispositif de décodage simplifié interne au décodeur et la sortie de données série du registre à décalage programmable sur la sortie dudit disposi- tif de retard. 6. Dispositif de retard selon l'une des revendications 1 à 5, caractérisé en ce qu'il est réalisé sous la forme d'un seul circuit intégré. 7. Application du dispositif de retard selon l'une des revendications l à 6 à un dispositif de code correcteur d'er- reur pour réaliser des retards supérieurs à 500 temps de bit avec un débit binaire de l'ordre de 40 MHz. 8. Application du dispositif de retard selon l'une des revendications 1 à 6 au retard de ligne(s) d'image codée(s) sous forme numérique.