FR 2687879 A1 19930827 FR 9215830 A 19921229 La présente invention concerne de manière générale les protocoles de transfert de données et plus particulièrement un système de transfert de données synchrone sûr, utilisant n'importe quel protocole de 5 transfert de données fournissant à un intervalle régu- lier un élément d'information susceptible d'être sup- primé ou reproduit par l'emploi d'un tampon ou mémoire intermédiaire d'élasticité. Le processus du transfert de données entre des dispositifs communiquants de tous types nécessite un type quelconque d'émetteur qui envoie les données et un type quelconque de récepteur qui reçoit les données Une méthode communément utilisée pour transférer des données consiste à prévoir également un signal d'horloge séparé15 qui est transmis ensemble avec le signal de données Le récepteur utilise ensuite ce signal d'horloge pour saisir le signal de données L'émetteur génère le signal d'horloge à une fréquence qui est aussi proche que possible de la fréquence de base interne du récepteur.20 Si la fréquence et la relation de phase du signal d'horloge de l'émetteur sont les mêmes que la fréquence et la relation de phase du signal d'horloge du récep- teur, comme cela est souvent le cas dans les systèmes lents, on dit que les deux signaux d'horloge sont25 synchronisés Le transfert de données entre l'émetteur et le récepteur pendant des périodes de synchronisation des horloges est habituellement très précis Une alté- ration de données peut se produire cependant en de nombreux systèmes rapides o il n'est pas possible de garantir que l'horloge de l'émetteur soit toujours synchronisée exactement avec l'horloge du récepteur Par exemple, des éléments d'information seront parfois indéfinis à l'échantillonnage, des éléments d'informa- tion seront périodiquement perdus par le récepteur si l'horloge de l'émetteur est plus rapide que l'horloge de récepteur et des éléments d'information seront périodiquement reproduits par le récepteur si son horloge est plus rapide que celle de l'émetteur. Certaines solutions analogiques apportées à ce problème par la technique antérieure, comportent la transmission d'une porteuse superposée au flux de signaux binaires de haute fréquence et pouvant être extraite côté récepteur pour servir à la synchronisation de l'horloge du récepteur Une deuxième solution de la technique antérieure consiste à utiliser une boucle à verrouillage de phase pour le verrouillage, soit sur le flux de données, soit sur un signal pilote, et amener la différence de phase au récepteur à zéro Les solutions analogiques pour synchroniser des horloges sont diffi- ciles à appliquer dans certaines topologies de connexion (telles que des anneaux) et sont souvent trop particu- lières à une certaine application pour pouvoir être mises en oeuvre facilement dans des processus de diffé- rents fournisseurs; autrement dit, des circuits analo- giques conçus et produits par un fabricant sont typi- quement à remodeler pour pouvoir être produits par un autre fabricant Une troisième solution consiste à prévoir un signal de maintien que le récepteur doit renvoyer à l'émetteur chaque fois qu'un transfert de données non synchronisé a lieu Cette solution, connue également sous le terme "établissement de liaison", amène l'émetteur à retenir l'envoi du signal de données suivant jusqu'à ce que le récepteur soit prêt, ce qui limite la largeur de bande pour le transfert de données. Une quatrième solution est suggérée par l'interface cohérente évolutive (SCI pour "Scalable Coherent Interface") proposée selon la norme IEEE P 1596. La solution suggérée consiste à utiliser un protocole de transfert de données qui fournit périodiquement un élément d'information qui peut être "supprimé" ou "reproduit", selon les besoins, par le récepteur La SCI est principalement destinée à une configuration de système annulaire (en boucle) o des paquets de données sont envoyés d'un noeud à un autre noeud par des liai- sons unidirectionnelles Un noeud SCI possède habituellement son propre horloge (horloge de transmission de 5 données) qui a approximativement, mais non pas exacte- ment, la même fréquence que l'horloge de n'importe quel autre noeud qui y est relié dans la même boucle Comme décrit précédemment, ceci pose un problème pour la transmission précise de données parce que des symboles10 peuvent être supprimés ou introduits dans les paquets lorsque les horloges séparées s'écartent l'une de l'autre, avec le temps, en phase et en fréquence La solution SCI à ce problème consiste, plutôt que de synchroniser les horloges de transmission de données, à. transmettre des symboles blancs supplémentaires, les- quels sont reçus par un noeud entre des symboles va- lables faisant partie d'un ou plusieurs paquets de données Ces symboles blancs ou ineffectifs, appelés également symboles d'élasticité, peuvent ensuite être reproduits ou supprimés selon les besoins. La spécification SCI suggère d'employer au port d'entrée de la SCI un tampon d'élasticité, conte- nant un élément de retard de 2 symboles et à plusieurs prises, d'une longueur de 2 T, o T est la durée d'un25 symbole, pour effectuer l'insertion (reproduction) et la suppression d'éléments d'élasticité (symboles blancs). En particulier, un symbole est à insérer lorsque le retard est augmenté de T et un symbole doit être sup- primé lorsque le délai est réduit de T Bien que la spécification précitée décrive de façon très détaillée le fonctionnement général et les utilisations du tampon d'élasticité, elle ne contient pas d'information parti- culière sur la façon de réaliser un tel tampon Compte tenu des connaissances actuelles dans ce domaine, le tampon d'élasticité serait réalisé le plus vraisembla- blement par application de techniques analogiques bien connues, faisant appel par exemple à une boucle à verrouillage de phase ou une ligne de retard à prises. Or, ce dont on a besoin est une solution numérique pour le tampon d'élasticité, solution qui ne nécessite pas d'établissement de liaison, qui réduise à un minimum les problèmes de métastabilité et dont le concept soit facilement transposable à de multiples processus de différents fournisseurs pour être mis en oeuvre dans une large palette d'applications. Un mode de réalisation préféré de l'invention comporte un tampon d'élasticité destiné à être utilisé dans un système de transmission de données comprenant un émetteur et un récepteur et appliquant un protocole de transfert de données qui fournit périodiquement un 13 élément d'élasticité susceptible d'être supprimé ou reproduit par le tampon d'élasticité afin de maintenir le transfert synchrone d'éléments d'information Le tampon d'élasticité comporte: un réseau-mémoire et au moins un indicateur par emplacement de mémoire, indica- teur pouvant être amené à un premier ou un second état; une commande d'écriture fonctionnant à l'horloge de l'émetteur et servant à écrire les éléments d'informa- tion dans les emplacements de mémoire dans un ordre séquentiel et à positionner les indicateurs correspon-2 D dants; une commande de lecture fonctionnant à l'horloge du récepteur et servant à extraire des éléments d'in- formation des emplacements de mémoire dans le même ordre séquentiel, sauf lorsqu'un symbole d'élasticité est supprimé ou reproduit; ainsi qu'un contrôleur d'indica-30 teurs pour lire les indicateurs, déterminer si l'horloge de l'émetteur est plus rapide ou plus lente que l'hor- loge du récepteur d'après la configuration d'indicateurs lue en mémoire, envoyer un signal de suppression à la commande de lecture pour supprimer un symbole d'élasti-35 cité si l'horloge de l'émetteur avance par rapport à l'horloge du récepteur et envoyer un signal de reproduction à la commande de lecture si l'horloge de l'émetteur est en retard par rapport à celle du récep- teur. La commande de lecture peut spécifier aux registres d'indicateurs qu'un bit indicateur doit être amené à l'état opposé lorsqu'un emplacement de mémoire correspondant est lu. Le contrôleur d'indicateurs peut déterminer que la première horloge et la seconde horloge sont en IU phase lorsqu'une première partie des bits indicateurs de la configuration d'états lue des registres d'indicateurs présente un premier état et une seconde partie de ces bits indicateurs de la configuration d'états présente un second état. L'invention apporte également un système de transmission de données possédant un émetteur fonc- tionnant à une première horloge et un récepteur fonc- tionnant à une seconde horloge, et utilisant un proto- cole de transfert de données qui fournit périodiquement un élément d'élasticité susceptible d'être supprimé ou reproduit par un tampon d'élasticité prévu au récepteur, de manière à maintenir le transfert synchrone d'éléments d'information entre l'émetteur et le récepteur, qui est caractérisé en ce que le tampon d'élasticité comprend: une mémoire pour recevoir de l'émetteur les éléments d'information, comportant un ou plusieurs desdits éléments d'élasticité, et pour stocker chacun des éléments d'information dans un réseau d'emplacements de mémoire en conformité avec un ordre d'écriture et une adresse de mémoire, la mémoire contenant au moins un indicateur pour chaque emplacement de mémoire, indica- teur qui peut être amené à un premier ou un second état; une commande d'écriture fonctionnant à la première horloge pour envoyer l'ordre d'écriture et l'adresse de mémoire à ladite mémoire pour chaque élément d'informa- tion à stocker dans l'un des emplacements de mémoire, la commande d'écriture positionnant l'indicateur pour un emplacement de mémoire lorsque l'un des éléments d'in- formation est inscrit dans cet emplacement, les ins- criptions dans les emplacements de mémoire et les positionnements des indicateurs s'effectuant dans un ordre séquentiel; une commande de lecture fonctionnant à la seconde horloge pour envoyer à la mémoire un ordre de lecture et une adresse de mémoire pour chaque élément d'information à extraire des emplacements de mémoire, la lecture des emplacements de mémoire s'effectuant dans ledit ordre séquentiel, à moins que la commande de lecture ne reçoive un signal de suppression ou un signal de reproduction changeant cet ordre séquentiel; et un contrôleur d'indicateurs pour lire une combinaison desdits indicateurs de la mémoire après un nombre prédéterminé de périodes de la seconde horloge, cette combinaison comportant les indicateurs amenés soit au premier état soit au second état, pour déterminer que la première et la seconde horloge sont en phase lorsque les D O indicateurs forment une première combinaison, déterminer que la première horloge avance par rapport à la seconde horloge lorsque les indicateurs forment une deuxième combinaison, déterminer que la première horloge retarde par rapport à la seconde horloge lorsque les indicateurs forment une troisième combinaison, pour envoyer le signal de suppression à la commande de lecture afin d'amener celle-ci à changer l'ordre séquentiel par la suppression d'un élément d'élasticité lorsque le con- trôleur d'indicateurs lit la deuxième combinaison et pour envoyer à la commande de lecture le signal de reproduction afin d'amener cette commande à changer l'ordre séquentiel par la reproduction d'un élément d'élasticité lorsque le contrôleur d'indicateurs lit la troisième combinaison. La commande d'écriture du tampon d'élasticité peut envoyer l'ordre d'écriture et l'adresse de mémoire à ladite mémoire avec un nombre prédéterminé d'adresses d'avance par rapport à l'envoi par la commande de lecture de l'ordre de lecture et de ladite adresse de mémoire à la mémoire La commande de lecture du tampon d'élasticité peut être conçue pour mettre à O l'indica- teur de l'emplacement de mémoire à la lecture de cet emplacement. La combinaison d'indicateurs peut comporter la totalité des indicateurs et une première partie des indicateurs de ladite première combinaison peut être positionnée à un premier état, tandis qu'une seconde partie peut être positionnée à un second état Il est possible aussi que la totalité des indicateurs de cette première combinaison soit amenée ou bien à ce premier état ou alors à ce second état Une autre caractéris- tique prévoit que le contrôleur d'indicateurs lit la combinaison après un nombre prédéterminé de cycles ou périodes de la seconde horloge. Selon un autre mode de réalisation, la mémoire du tampon d'élasticité comporte deux indicateurs par emplacement de mémoire, constitués par un premier bit indicateur amené à un état opposé à chaque première demipériode de la première horloge et par un second bit indicateur amené à un état opposé à chaque seconde demi-période de la première horloge. D'autres caractéristiques et avantages de l'invention ressortiront plus clairement de la descrip- tion qui va suivre d'un exemple de réalisation non limitatif, ainsi que des dessins annexés, sur lesquels: la figure 1 est un schéma fonctionnel d'un système émetteur et d'un système récepteur employant un tampon d'élasticité selon le mode de réalisation préféré de l'invention; et la figure 2 est un schéma synoptique du tampon d'élasticité selon la figure 1. L'invention est applicable à tout système de transfert de données qui utilise un protocole selon lequel l'émetteur fournit à intervalle régulier, au récepteur, un symbole ou élément d'information supplé- i mentaire qui peut être supprimé ou reproduit en fonction des besoins en vue du maintien du transfert synchrone de données Le concept selon l'invention est en outre compatible avec deux modes de fonctionnement de tels systèmes, un selon lequel un élément d'information est transféré par période d'horloge et un selon lequel deux éléments d'information sont transférés par période d'horloge, l'un au flanc montant et l'autre au flanc descendant de l'impulsion d'horloge. La figure 1 montre le mode de réalisation préféré de l'invention, dans lequel un système émetteur reçoit un premier signal d'horloge 12 utilisé pour piloter la transmission de signaux de données 14 à un système récepteur 20 Celui-ci reçoit les signaux de données 14 et corrige si nécessaire leur synchronisation entre l'émetteur 10 et le récepteur 20 avant de les envoyer, en tant que signaux de données 21, à un autre système communiquant avec le système récepteur 20 Le premier signal d'horloge 12 est généré par l'une quel- conque d'une large gamme de sources, par exemple par l'horloge système d'un ordinateur raccordé au système émetteur 10 Celui-ci envoie également un signal d'hor- loge d'émetteur 16 au système récepteur 20 Ce signal est dérivé du premier signal d'horloge 12. Le système récepteur 20 reçoit à la fois le signal d'horloge d'émetteur 16 et un second signal d'horloge 22 et ces deux signaux sont acheminés vers un tampon d'élasticité 40 Le second signal d'horloge 22 est généré de façon analogue par l'une quelconque d'une large gamme de sources, par exemple par un second35 ordinateur raccordé au système récepteur 20 Le signal d'horloge d'émetteur 16, reçu également par un tampon , est utilisé par celui-ci pour corriger le désalig- nement des signaux de données 14 reçus par le récepteur , comme expliqué plus en détail par la suite Il est à noter que le système récepteur 20 pourrait être prévu aussi, en variante, sans la logique de correction de désalignement 30, quoique, dans une telle réalisation, les signaux de données 14 reçus par le tampon d'élasti- cité 40 risquent de ne pas toujours être alignés Il est préférable que les éventuels défauts d'alignement des10 signaux de données soient corrigés avant que ces signaux ne soient appliqués à l'entrée du tampon 40. Le tampon d'élasticité 40, montré sur la figure 1 et contenu dans le récepteur, est représenté plus en détail sur la figure 2 et sera décrit davantage ci-après, notamment pour ce qui concerne sa détection cyclique du sens de la dérive ou de l'écart s'établis- sant entre l'horloge de l'émetteur et l'horloge du récepteur, son attente de la transmission de l'élément ou symbole d'information décrit précédemment en fonction du protocole et sa reproduction ou sa suppression de ce symbole, selon les besoins, afin de maintenir la syn- chronisation du matériel du récepteur Ainsi que le montre la figure 2, le mode de réalisation préféré de ce tampon d'élasticité 40 comporte un réseau-mémoire 102 possédant un certain nombre d'entrées de mémoire indi- viduelles pour écrire et lire des éléments d'informa- tion Bien qu'il n'y ait pas de limite maximale pour le nombre d'entrées de mémoire possibles du réseau-mémoire 102 et qu'un réseau- mémoire à huit éléments soit préfé- ré, celui décrit ici est à quatre éléments dans un but de simplification Les éléments d'information, tels que les signaux de données 14, reçus par le réseau-mémoire 102 du système émetteur 10, sont inscrits ou stockés dans le réseau-mémoire 102 avec utilisation du signal d'horloge d'émetteur 16 Une logique de commande 1 O d'écriture 106 reçoit le signal d'horloge d'émetteur 16, détermine quelle adresse ou quelles adresses du réseaumémoire 102 doit ou doivent être inscrite(s) ensuite, et délivre en sortie des signaux d'adresse 110 et des5 signaux d'écriture 112 appropriés, appliqués au réseau- mémoire 102, de sorte que les éléments d'information sont inscrits dans les entrées de mémoire adéquates. Les éléments d'information sont inscrits dans le réseau-mémoire 102 dans un ordre séquentiel Sur le plan de la conception, le réseau-mémoire 102 fonctionne donc comme un tampon annulaire Par exemple, si la commande d'écriture 106 utilise un compteur d'adresses pour sélectionner des emplacements de mémoire à charger, le compte d'adresses devrait se répéter après le char- gement du quatrième emplacement de mémoire dans l'exemple décrit ici Les éléments d'information sont lus ou extraits du réseau- mémoire 102 avec utilisation du second signal d'horloge ou signal d'horloge de récepteur 22 sous le contrôle de la logique de commande de lecture 116 et sont délivrés par la sortie de données 21 Comme la commande d'écriture 106, la commande de lecture 116 fournit des signaux d'adresse 120 et des signaux de lecture 122 au réseau-mémoire 102, de manière que les éléments d'information puissent être extraits de ses entrées de mémoire dans un ordre séquentiel (circu- laire) A chaque entrée de mémoire du réseau-mémoire 102 est coordonné un bit indicateur 124 stocké dans un registre d'indicateur 126 qui lui est propre et fait partie d'un ensemble de registres d'indicateurs, au nombre de quatre dans cet exemple Ces bits indicateurs 124, appliqués à l'entrée d'une logique de contrôle d'indicateurs 128 en tant que signaux de bits indica- teurs 130, sont utilisés pour déterminer le sens de la dérive entre le signal d'horloge d'émetteur 16 et le signal d'horloge de récepteur 22 Le contrôleur d'indi- cateurs 128 fonctionne sous la commande de l'horloge de I 1 récepteur 22 et fournit un signal indiquant le sens de la dérive 132 à la commande de lecture 116 chaque fois qu'une situation de dérive de la phase et/ou de la fréquence des horloges est détectée. On décrira maintenant la méthode préférée pour utiliser ces bits indicateurs Dans ce mode de réalisa- tion préféré, seule la commande d'écriture 106 a la capacité (ou l'autorité) de positionner, dans les re- gistres d'indicateurs 126, les bits indicateurs 124 coordonnés aux emplacements de mémoire chargés par la commande d'écriture 106, et seul le contrôleur d'indi- cateurs 128 est autorisé à lire les bits 124 Si l'on suppose que tous les bits indicateurs 124 soient mis à O et que l'emplacement de mémoire à charger du réseau - mémoire 102 soit le premier emplacement, le bit indica- teur coordonné à cet emplacement serait mis à 1 pendant que s'effectue l'inscription dans ce premier emplacement de mémoire Lors du cycle suivant, le deuxième emplace- ment de mémoire serait chargé et le bit indicateur qui lui est coordonné serait mis de façon analogue à 1 Ce processus continuerait jusqu'à ce que tous les quatre emplacements de mémoire aient été chargés et que tous les bits indicateurs aient été mis à 1; ensuite, le cycle de chargement des quatre emplacements de mémoire25 et de positionnement des bits indicateurs serait répété, sauf que les bits indicateurs seraient mis à 0, et ainsi de suite. Pendant ce temps, selon une disposition préférée, du fait que le réseau-mémoire 102 est une mémoire à quatre emplacements, le contrôleur d'indica- teurs 128 échantillonne les bits indicateurs toutes les quatre périodes, bien que d'autres cadences d'échan- tillonnage soient utilisables aussi, si désiré De plus, si le réseau-mémoire 102 avait plus de quatre emplace- ments de mémoire, la cadence d'échantillonnage du contrôleur d'indicateurs 128 pourrait certainement être différente Quoi qu'il en soit, il n'est pas nécessaire que la cadence d'échantillonnage du contrôleur 128 soit définie spécifiquement parce qu'il peut être souhaitable d'échantillonner les bits indicateurs à une cadence plus C lente dans certaines situations afin de réduire le risque de problèmes de métastabilité Dans le mode de réalisation préféré, si l'horloge d'émetteur et l'hor- loge de récepteur sont synchronisées, le contrôleur d'indicateurs 128, lequel est cadencé par un signal de rythme dérivé de l'horloge de récepteur 22, observe, soit quatre 0, soit quatre 1 après chaque intervalle d'échantillonnage, ainsi que le montre la table 1 suivante. BITS IND. 1 2 3 4 0 O Q O O e-échantillon 1 0 0 0 o 1100 2 O M 1 1 1 0 1110 m 1 1 1 1 échantillon 0 1 1 1 X O 0 1 1 H O O O 1 X O O O O échantillon TABLE 1 Bits indicateurs inscrits par période d'horloge d'émet- teur si émetteur et récepteur sont synchronisés.30 Quand l' horloge de l'émetteur et l'horloge du récepteur commengent à s'écarter l'une de l'autre, le contrôleur 128 observe autre chose qu'une configuration échantillonnée de quatre 1 ou de quatre 0, par exemple une configuration de seulement trois 1 ou O contigus. Sur la base du changement intervenu dans cette configuration échantillonnée, par rapport à ce qui était prévu comme résultat d'échantillonnage par la logique de contrôle d'indicateurs 128, le sens de la dérive des horloges pourrait être détecté Par exemple, si le contrôleur 128 s'attend à trouver des configurations échantillonnées constitués de 1 seulement et trouve, au lieu de cela, un 0 suivi de trois 1, il sait que l'hor- loge de l'émetteur est plus rapide que l'horloge du récepteur, ainsi que le montre la table 2 Le contrôleur d'indicateurs 128 sait, en pareil cas, que l'horloge d'émetteur 16 est plus rapide parce que, à l'échantil- lonnage des bits indicateurs 124, il s'attend à "voir" des 1 seulement, ce qui implique que la dernière écri- ture par la commande d'écriture 106 a été effectuée dans le quatrième emplacement de mémoire, sinon la configu- ration serait constituée de trois 1 suivis d'un G; or, comme la configuration échantillonnée est constituée d'un O suivi de trois 1, la commande d'écriture 106 a déjà chargé le quatrième emplacement et s'apprête à commencer le nouveau cycle d'écriture de zéros, à commencer par le premier emplacement Par conséquent, la commande d'écriture 106 est en avance par rapport au contrôleur 128, dont le fonctionnement est basé sur l'horloge de récepteur 22, ce qui veut dire que l'hor- loge d'émetteur 16 est en avance par rapport à l'horloge de récepteur 22. De façon analogue, le contrôleur d'indicateurs 128 est capable de déterminer que l'horloge d'émetteur 16 est plus lente que l'horloge de récepteur 22 parce 3 o que, au lieu de voir quatre 1 à la période d'échantil- lonnage, le contrôleur 128 échantillonnerait une confi- guration de trois 1 suivis d'un 0, ce qui veut dire que la commande d'écriture 106 n'a pas chargé le quatrième emplacement de mémoire quand cela était prévu La situation o l'horloge d'émetteur 16 est plus lente que l'horloge de récepteur 22 est illustrée par la table 3. BITS IND. t 2 3 4 0 O O -échantillon m t 1 O 0 O 51 i O O SS 1 1 0 r AC a 1 a échantill lon TABLE 2 Bits indicateurs inscrits par période d'horloge d'émet- teur lorsque l'horloge d'émetteur est plus rapide que l'horloge de récepteur BITS IND. i 2 3 4 A O O Q O 1 0 0 O m X U) 1 1 O O 1 i i i O Q '1 1 O échantillon TABLE 3 Bits indicateurs inscrits par période d'horloge d'émet- teur lorsque l'horloge d'émetteur est plus lente que l'horloge de récepteur. Le retard d'adresse(s) entre l'adresse de lecture et l'adresse d'écriture peut être prédéterminé. Il est déterminé de préférence en divisant le nombre d'emplacements de mémoire du réseau-mémoire 102 par deux, bien que d'autres retards d'adresses pourraient être choisis aussi Dans le mode de réalisation décrit ici, la lecture des emplacements de mémoire est en retard de deux adresses par rapport au chargement des emplacements de mémoire, ce qui veut dire que l'adresse de lecture est en retard de deux emplacements d'adresse par rapport à l'adresse d'écriture Par exemple, si le troisième emplacement de mémoire est chargé à une période d'horloge donnée, le premier emplacement de 5 mémoire serait en cours de lecture A la période sui- vante, le quatrième emplacement serait chargé et le deuxième serait en cours de lecture, à supposer, bien entendu, que les horloges soient synchronisées Si le contrôleur d'indicateurs 128 constate que l'horloge1 d'émetteur 16 est plus rapide que l'horloge de récepteur 22, il procèdera à la suppression d'un élément d'infor- mation La suppression consiste à ne pas extraire un élément d'information de l'emplacement de mémoire traité à ce moment (emplacement qui est adressé par la commande S de lecture 116), l'élément d'information en question ne pouvant être qu'un élément d'élasticité Une telle suppression est produite par l'augmentation de deux unités du compteur d'adresses de la commande de lecture 116, au lieu d'une seule unité, comme cela serait normal Afin de garantir que seulement des éléments d'élasticité soient supprimés, la commande de lecture 116 pourrait être agencée pour surveiller chaque élément d'information pour être certain que l'élément d'infor- mation a supprimer est effectivement un élément d'élas-25 ticité Par contre, la commande de lecture 116 ne serait pas obligé de surveiller chaque élément d'information si l'emplacement de l'élément d'élasticité peut être prédit, par exemple si un tel élément se trouve à la queue d'un paquet de données Le compteur d'adresses30 pour la commande de lecture 116serait alors incrémenté en réponse au signal 132 pour le sens de dérive des horloge et l'emplacement de mémoire suivant serait lu. Le compte de cycles d'échantillonnage pour le contrôleur d'indicateurs 128 serait en même temps corrigé pour correspondre à la commande de lecture 116. En variante, le tampon d'élasticité 40 pour- rait être perfectionné davantage en doublant le nombre de bits indcateurs 124, par exemple en prévoyant deux bits indicateurs par emplacement de mémoire Par un agencement selon lequel la commande d'écriture 106 positionne les bits indicateurs 124 chaque demi-période, on pourrait accroître la granularité avec laquelle la dérive des horloges est surveillée, ce qui permettrait une logique de commande de lecture 116 plus simple De plus, cette logique pourrait avoir une certaine 11 hysté- réris" pour tenir compte d'horloges qui changent conti- nûment du sens dans lequel elles dérivent L'hystéresis produirait un décalage des points de décision, de sorte que les circuits logiques de commande ne passeraient pas sans cesse d'un état à l'autre dans une situation limite. On décrira ci-après une méthode alternative pour utiliser les bits indicateurs Selon ce mode de réalisation, à la fois la commande d'écriture 106 et la commande de lecture 116 ont la capacité de positionner les bits indicateurs 124 Ainsi, un bit indicateur 124 est mis à 1 lorsque l'emplacement de mémoire qui lui est coordonné est chargé par la commande d'écriture 106 et le bit indicateur 124 en question est remis à O par la commande de lecture 116 à la lecture de l'emplacement concerné Là encore, le contrôleur d'indicateurs 128 est capable de lire les registres d'indicateurs 126 Comme l'adresse de lecture est également en retard de deux emplacements d'adresse par rapport à l'adresse d'écri- ture, de la même façon que dans le mode de réalisation préféré, une configuration tournante de bits indicateurs correspondant à " 1100 " 1 est produite Le contrôleur d'indicateurs 128 constate que l'horloge d'émetteur 16 est plus rapide que l'horloge de récepteur 22 lorsque,35 après un certain nombre de périodes, l'adresse de lecture est en retard de trois adresses par rapport à l'adresse d'écriture, c'est-à-dire lorsque les bits indicateurs sont positionnés à trois l et un 0 Comme expliqué précédemment, la logique de contrôle d'indica- teurs 128 reconnaît cette configuration comme une indication qu'un élément d'information doit être sup- primé La suppression est produite par la non-extraction d'un élément d'information de l'emplacement de mémoire traité à ce moment (emplacement qui est adressé par la logique de commande de lecture 116) Le compteur10 d'adresses est alors incrémenté de deux unités (au lieu d'un unité, ce qui serait normal), l'emplacement suivant est lu et à la fois le bit indicateur de l'emplacement de mémoire en cours et le bit indicateur de l'emplace- ment suivant sont mis à " O " A la suite de cette procé- 15 dure, les registres d'indicateurs 126 contiendraient de nouveau la configuration de bits indicateurs de deux 1 et deux 0. Si l'horloge d'émetteur 16 est un peu plus lente que l'horloge de récepteur 22, la configuration de bits indicateurs contiendra, après un certain nombre de périodes, trois O et un 1 Dans ce cas, le compteur d'adresses ne sera pas incrémenté pour un cycle de lecture et l'emplacement de mémoire en cours de traite- ment à ce moment sera lu deux fois.25 Il est à noter que la séparation entre l'adresse de mémoire d'écriture active et l'adresse de mémoire de lecture active, implique qu'un seul et même emplacement de mémoire ne soit jamais chargé et lu simultanément Donc, des événements métastables ne poseront normalement pas de problème à la lecture des éléments d'information Bien que le système puisse être optimisé en permettant l'inscription et la lecture simultanées d'un même emplacement du tampon, il faudrait beaucoup de soins à la conception pour éviter la méta- stabilité Celle-ci peut cependant présenter un problème à la lecture des registres d'indicateurs 126 puisque tous ces registres sont lus à la f:ois Une situation métastable peut se produire dans ce cas lorsque la dérive des horloges est suffisante pour qu'un bit indicateur 124 soit positionné juste après la lecture du5 registre concerné Une solution à ce problème consiste à échantillonner les registres d'indicateurs 126 périodiquement, comme décrit précédemment, avec une période suffisamment longue entre les échantillonnages pour permettre la stabilisation d'éventuels événements-0 métastables Comme la dérive entre les horloges est suffisamment lente, il n'est pas nécessaire d'échantil- lonner les bits indicateurs lors de chaque période. Bien que l'invention ait été décrite en référence aux figures 1 et 2 et aux tables 1-3 et en mettant l'accent sur deux modes de réalisation particu- liers, il va de soi que ces figures ont été données seulement à titre d'illustration et ne doivent pas être considérées comme des limitations de la portée et de l'application de l'invention De nombreux changements et modifications peuvent être apportés par l'homme de métier aux éléments, au processus et à la réalisation des étapes du processus selon l'invention sans sortir de l'esprit et du cadre de l'invention tels que décrits dans ce qui précède. REVENDICATIONS 1 Tampon d'élasticité destiné à être utilisé dans un système de transmission de données ayant un protocole de transfert de données fournissant périodi- quement un élément d'information ( 14) susceptible d'être supprimé ou reproduit par le système de transmission de données afin de maintenir un transfert synchrone d'élé- ments d'information entre un émetteur ( 10) fonctionnant à une première horloge ( 16) et un récepteur ( 20) f onc- tionnant à une seconde horloge ( 22), caractérisé en ce qu'il comprend. une mémoire ( 102) pour recevoir les éléments d'information ( 14) de l'émetteur ( 10) et stocker ces éléments dans un réseau d'éléments de mémoire, cette mémoire ( 102) comportant un ensemble de registres d'indicateurs ( 126) à un bit correspondant aux éléments de mémoire, chacun de ces registres contenant au moins un bit indicateur ( 124) susceptible d'être amené à un état opposé chaque fois qu'un élement d'information ( 14) est stocké dans un élément de mémoire correspondant; une commande d'écriture ( 106) fonctionnant à la première horloge ( 16) pour spécifier à la mémoire ( 102) dans quels éléments de mémoire doivent être inscrits les éléments d'information ( 14) et pour spéci- fier aux registres d'indicateurs ( 126) qu'un bit indi- cateur ( 124) doit être amené à un état opposé lorsqu'un emplacement de mémoire correspondant est inscrit, les éléments de mémoire étant inscrits et les bits indica- teurs ( 124) étant positionnés dans un ordre séquentiel; une commande de lecture ( 116) fonctionnant à la seconde horloge ( 22) pour spécifier à la mémoire ( 102) de quels éléments de mémoire doivent être extraits des éléments d'information ( 14), ces éléments d'infor- mation étant extraits des éléments de mémoire dans ledit ordre séquentiel, à moins que la commande de lecture ( 116 > ne reçoive un signal de suppression ( 132) ou un signal de reproduction ( 132 > changeant ledit ordre séquentiel; et un contrôleur d'indicateurs ( 128) fonctionnant à la seconde horloge ( 22) pour lire périodiquement tous les bits indicateurs ( 124) des registres d'indicateurs ( 126 >, de manière à former une configuration d'états à partir de ces bits indicateurs ( 124), analyser cette configuration d'états pour déterminer si la première horloge ( 16) et la seconde horloge ( 28) sont en phase et, si la première horloge ( 16) avance par rapport à la seconde horloge ( 22) d'une quantité prédéterminée, communiquer le signal de suppression ( 132) à la commande de lecture ( 116) afin d'amener celui-ci à changer ledit ordre séquentiel par la suppression d'un élément d'in- formation ( 14), tandis quesi la première horloge ( 16) retarde par rapport à la seconde horloge ( 22) d'une quantité prédéterminée, pour communiquer le signal de reproduction ( 132) à la commande de lecture ( 116) afin d'amener celui-ci à changer ledit ordre séquentiel par 0 o la reproduction d'un élément d'information ( 14). 2 Tampon d'élasticité selon la revendication 1, dans lequel la commande d'écriture ( 106 > inscrit les éléments d'information ( 14) dans les éléments de mémoire avec un nombre prédéterminé d'adresses en avance par rapport à l'extraction des éléments d'information des éléments de mémoire par la commande de lecture ( 116). 3 Tampon d'élasticité selon la revendication 2, dans lequel la commande de lecture ( 116) spécifie aux registres d'indicateurs ( 126) qu'un bit indicateur ( 124)30 doit être amené à l'état opposé lorsqu'un emplacement de mémoire correspondant est lu. 4 Tampon d'élasticité selon la revendication 3, dans lequel le contrôleur d'indicateurs ( 128) détermine que la première horloge ( 16) et la seconde horloge ( 22)35 sont en phase lorsqu'une première partie des bits indicateurs ( 124) de la configuration d'états lue des registres d'indicateurs ( 126) présente un premier état et une seconde partie de ces bits indicateurs de la configuration d'états présente un second état. Tampon d'élasticité selon la revendication 1, dans lequel le contrôleur d'indicateurs ( 128) lit tous les bits indicateurs ( 124) pour former la configuration d'états après un nombre prédéterminé de périodes de la seconde horloge ( 22). 6 Tampon d'élasticité selon la revendications dans lequel les registres d'indicateurs ( 126) comportent deux bits indicateurs ( 124) par emplacement de mémoire, dont un premier bit indicateur qui est amené à un état opposé chaque première demi- période de la première horloge ( 16) et un second bit indicateur qui est amené à un état opposé chaque seconde demi-période de la pre- mière horloge. 7 Tampon d'élasticité selon la revendication 1, dans lequel la commande de lecture ( 116) spécifie aux registres d'indicateurs ( 126) qu'un bit indicateur ( 124)20 doit être amené audit état opposé lorsqu'un emplacement de mémoire correspondant est lu. 8 Tampon d'élasticité selon la revendication 7, dans lequel le contrôleur d'indicateurs ( 128) détermine que la première horloge ( 16) et la seconde horloge ( 22) sont en phase lorsqu'une première partie des bits indicateurs ( 124) de la configuration d'états lue des registres d'indicateurs ( 126) présente un premier état et une seconde partie des bits indicateurs de cette configuration présente un second état. 9 Tampon d'élasticité selon la revendication 1, dans lequel le contrôleur d'indicateurs détermine que la première horloge ( 16) et la seconde horloge ( 22) sont en phase lorsque tous les bits indicateurs ( 124) de la configuration d'états lue des registres d'indicateurs ( 126) présentent un premier état. Système de transmission de données possédant un émetteur ( 10) fonctionnant à une première horloge ( 16 > et un récepteur ( 20) fonctionnant à une seconde horloge ( 20), et utilisant un protocole de transfert de données qui fournit périodiquement un élément d'élasti- cité susceptible d'être supprimé ou reproduit par un tampon d'élasticité ( 40), notamment selon l'une quel- conque des revendications 1 à 9, tampon d'élasticité qui est prévu dans le récepteur ( 20), afin de maintenir le transfert synchrone d'éléments d'information ( 14) entre l'émetteur et le récepteur, caractérisé en ce que le tampon d'élasticité ( 40) comprend: une mémoire ( 102) pour recevoir de l'émetteur les éléments d'information ( 14 >, comportant un ou plusieurs desdits éléments d'élasticité, et pour stocker chacun des éléments d'information dans un réseau d'em- placements de mémoire en conformité avec un ordre d'écriture et une adresse de mémoire, la mémoire ( 102) contenant au moins un indicateur ( 124) pour chaque emplacement de mémoire, indicateur qui peut être amené à un premier ou un second état; une commande d'écriture ( 106) fonctionnant à la première horloge ( 16) pour envoyer l'ordre d'écriture et l'adresse de mémoire à ladite mémoire ( 102) pour chaque élément d'information ( 14) à stocker dans l'un des emplacements de mémoire, la commande d'écriture ( 106) positionnant l'indicateur ( 124) pour un emplace- ment de mémoire lorsque l'un des éléments d'information ( 14 > est inscrit dans cet emplacement, les inscriptions dans les emplacements de mémoire et les positionnements des indicateurs ( 124) s'effectuant dans un ordre sé- quentiel; une commande de lecture ( 116) fonctionnant à la seconde horloge ( 22 > pour envoyer à la mémoire ( 102) un ordre de lecture et une adresse de mémoire pour chaque élément d'information ( 14) à extraire des Z-J emplacements de mémoire, la lecture des emplacements de mémoire s'effectuant dans ledit ordre séquentiel, à moins que la commande de lecture ( 116) ne reçoive un signal de suppression ( 132) ou un signal de reproduction ( 132) changeant cet ordre séquentiel; et un contrôleur d'indicateurs ( 128) pour lire une combinaison desdits indicateurs ( 124) de la mémoire après un nombre prédéterminé de périodes de la seconde horloge ( 22), cette combinaison comportant les indica- teurs amenés soit au premier état soit au second état, pour déterminer que la première horloge ( 16) et la seconde horloge ( 22) sont en phase lorsque les indica- teurs ( 124) forment une première combinaison, déterminer que la première horloge avance par rapport à la seconde horloge lorsque les indicateurs forment une deuxième combinaison, déterminer que la première horloge retarde par rapport à la seconde horloge lorsque les indicateurs forment une troisième combinaison, pour envoyer le signal de suppression ( 132) à la commande de lecture ( 116) afin d'amener celle-ci à changer l'ordre séquen- tiel par la suppression d'un élément d'élasticité lorsque le contrôleur d'indicateurs ( 128) lit la deu- xième combinaison et pour envoyer à la commande de lecture ( 116) le signal de reproduction ( 132) afin d'amener cette commande à changer l'ordre séquentiel par la reproduction d'un élément d'élasticité lorsque le contrôleur d'indicateurs ( 128) lit la troisième combi- naison. 11 Système selon la revendication 10, dans lequel la commande d'écriture ( 106) envoie l'ordre d'écriture et l'adresse de mémoire à la mémoire ( 102 > avec un nombre prédéterminé d'adresses en avance par rapport à l'envoi par la commande de lecture ( 116) de l'ordre de lecture et de l'adresse de mémoire à la mémoire ( 102). 12 Système selon la revendication 1-J dans lequel la commande de lecture ( 116) repositionne l'indicateur 1 124) pour l'emplacement de mémoire correspondant lors de la lecture de cet emplacement. 13 Système selon la revendication 12, dans lequel ladite combinaison comporte tous les indicateurs ( 124) et dans lequel une première partie des indicateurs de la première combinaison est amenée à un premier état et une seconde partie de ces indicateurs est amenée à un second état. 14 Système selon la revendication 10, dans lequel ladite combinaison comporte tous les indicateurs ( 124) et dans lequel tous les indicateurs de la première combinaison sont amenés, soit au premier état, soit au second état. Système selon la revendication 10, dans lequel le contrôleur d'indicateurs ( 128) lit ladite combinaison après un nombre prédéterminé de périodes de la seconde horloge ( 22). 16 Système selon la revendication 10, dans lequel la mémoire ( 102) contient deux indicateurs ( 124) pour chaque emplacement de mémoire dont un premier bit indicateur qui est amené à un état opposé chaque pre- mière demi-période de la première horloge ( 16) et un second bit indicateur qui est amené à un état opposé chaque seconde demi-période de la première horloge. 17 Système selon la revendication 10, dans lequel la commande de lecture ( 116) repositionne l'indicateur ( 124) pour l'emplacement de mémoire correspondant à la lecture de cet emplacement. 18 Système selon la revendication 17, dans lequel ladite combinaison comporte tous les indicateurs ( 124) et dans lequel une première partie des indicateurs de la première combinaison est amené à un premier état et une seconde partie de ces indicateurs est amenée à un second état. 19 Système selon la revendication 10, dans lequel le récepteur ( 20) comprend une commande logique de correction de désalignement ( 30), commande qui est destinée à recevoir les éléments d'information ( 14) de l'émetteur ( 10), corriger l'alignement de ces éléments et envoyer au tampon d'élasticité ( 40) les éléments d'information dont les défauts d'alignement ont été corrigés.