FR 2699299 A1 19940617 FR 9215176 A 19921216 PROCEDE DE GENERATION DE GIGUE CELLULES DANS UN SIGNAL INCIDENT TRANSMIS EN MODE ATM ET DISPOSITIF DE MISE EN OEUVRE L'invention concerne un procédé de génération de gigue cellules dans un signal incident transmis en mode ATM et un dispositif de mise en oeuvre. L'invention permet de simuler les incidences dues à un phénomène de gigue pouvant survenir lors de la traversée de noeuds de commutations sur un réseau ATM. On rappelle à ce propos qu'un réseau ATM (Asyn- chronous Transfert Mode) permet la transmission d'infor- mations numériques ayant des débits variés et pouvant être importants, ces débits pouvant en effet aller jusqu'à 155 Mbit/s. La transmission mode ATM se fait par transfert de blocs d'informations de longueur constante La quantité élémentaire d'informations transmises est de 48 octets; le bloc d'informations transmis en ATM est dénommé cellule et est identifié par une étiquette de 5 octets appelée également en-tête La longueur totale d'une cellule est donc de 53 octets. On rappelle aussi que deux autres grandes classes de modes de transmissions numériques existent également à l'heure actuelle Il s'agit du mode circuit à 64 kbit/s et du mode paquet utilisé par exemple par le réseau Transpac Une communication en mode ATM consiste à envoyer des cellules dont l'identité est connue, à partir d'un terminal ATM vers un ou plusieurs autres terminaux, éventuellement en recevoir, ceci après échange de signalisation Cette communication se fait au travers d'un réseau constitué d'un ou plusieurs noeuds de commutations propre à l'ATM susceptibles d'être saturés. C'est pourquoi on prévoit des files d'attente à chaque noeud. Le temps mis par une cellule pour traverser le réseau varie en fonction du nombre de noeuds traversés et la charge de ceux-ci Cette variation du temps de traversée du réseau se traduit par un écart entre les cellules à l'arrivée différent de l'écart origine, c'est ce que l'on entend par gigue, on parlera dans la suite de gigue cellule ou de cellules giguées. En mode ATM, un terminal raccordé au réseau voit arriver un flux de cellules sur le réseau ATM auquel il est raccordé, issues d'une ou plusieurs sources d'émission Ce flux est constitué notamment de cellules destinées à ce terminal Le terminal est apte à sélectionner les cellules qui lui sont destinées par lecture de leur en- tête On qualifiera ces cellules dans la suite, de cellules relatives à une même communication. La gigue a donc pour effet de modifier la distribu- tion temporelle des cellules émises au départ d'un terminal d'émission A l'arrivée dans le terminal de réception, l'ordre des cellules est respecté mais n'a plus la même distribution La gigue induit par exemple une rafale de cellules concernant le terminal de récep- tion suivi d'un nombre X de cellules étrangères desti- nées à d'autres terminaux. La gigue a des incidences sur le dimensionnement des terminaux ATM. On ne connaît pas à ce jour de système qui permette de connaître les incidences réelles de ce phénomène de gigue. Pour résoudre ce problème, le déposant a eu l'idée de simuler ce phénomène afin d'obtenir un signal présen- tant ce défaut de transmission et de l'utiliser pour tester des terminaux ATM. Il n'est pas connu non plus à ce jour de système qui permette d'obtenir la simulation de ce phénomène provoqué par la saturation d'un réseau ATM et, par conséquent, de générer une gigue sur un signal incident transmis en mode ATM. La présente invention a plus particulièrement pour objet un procédé de génération de gigue cellules dans un signal incident émis en mode ATM, principalement carac- térisé en ce qu'il comprend les étapes suivantes mémoriser un modèle de consigne de gigue préétabli, Calculer et mémoriser l'écart entre les cellules incidentes relatives à une même communication, modifier ou non l'écart entre cellules de cette même communication selon la consigne. La modification consiste à enlever ou à insérer un nombre de cellules donné pour la consigne entre les cellules d'une même communication Selon l'autre aspect de l'invention, la détermination de l'écart entre cellules consiste à l'arrivée de chaque cellule à identifier la cellule par son en-tête; et à compter après identification, le nombre de cellules séparant deux cellules relatives à une même communication. L'identification d'une cellule consiste au préalable, à enregistrer l'entête d'une cellule concernant la communication affectée par la gigue; à comparer les en-têtes des cellules incidentes à cet en-tête; à stocker après comptage l'écart entre les cellules de manière à le modifier ou non selon la consigne. La présente invention a également pour objet un dispositif de génération de gigue cellules dans un signal incident transmis en mode ATM, principalement caractérisé en ce qu'il comprend: des moyens de mémorisation d'une consigne de gigue, des moyens de mesure de l'écart entre cellules relatives à une même communication, des moyens d'aiguillage des cellules incidentes selon qu'elles sont relatives à la même communica- tion ou non, des moyens de commande permettant de modifier ou non l'écart entre cellule relatives à une même communication. Selon un autre aspect de l'invention les moyens de mesure de l'écart comportent: un détecteur d'en-tête des cellules; un compteur d'écart entre- cellules; un registre de stockage pour stocker la valeur de cet écart. Selon un autre aspect de l'invention, les moyens d'aiguillage comportent un premier registre de stockage de cellules relatives à la même communication et un deuxième registre de stockage de cellules autres. Selon un autre aspect de l'invention les moyens de commande comportent une unité arithmétique et logique et un séquenceur. Selon un autre aspect de l'invention les moyens de mémorisation comportent une mémoire à lecture et écri- ture de type RAM. D'autres particularités et avantages de l'invention apparaîtront à la lecture de la description qui est faite à titre illustratif et non limitatif et en regard du dessin sur lequel: la figure 1, représente un schéma général du dispositif conforme à l'invention; la figure 2, représente un schéma plus détaillé de réalisation du dispositif; la figure 3, représente un diagramme illustrant le stockage des cellules et le comptage; la figure 4, représente le schéma du déroulement de la génération de gigue selon un exemple de réalisa- tion pratique. Dans toute la suite de la description on parlera de cellules giguées que l'on notera G pour les cellules relatives à une même communication Les cellules G seront par conséquent les cellules de la communication affectée par la gigue introduite par le procédé objet de l'invention Les cellules autres seront notées NG pour indiquer qu'il s'agit de cellules appartenant à des communications non affectées par la gigue. Le schéma général de la figure 1, illustre un dispositif conforme à l'invention. Ce dispositif comprend une unité de mémorisation qui permet de programmer une consigne de gigue CG préalablement établie à partir soit de mesures effec- tuées sur une liaison de transmission en mode ATM soit à partir d'une loi mathématique donnée reflétant au mieux le phénomène de gigue sur une transmission en mode ATM. Une unité de commande 400 est prévue pour commander la lecture de la consigne dans l'unité 100 et commander la génération d'un signal SG présentant des écarts variables entre cellules ou non selon le signal de la consigne. Le flux de sortie SG du dispositif est identique au flux d'arrivée SI lorsque l'écart entre cellules reste le même en entrée qu'en sortie Le flux de sortie est différent lorsque l'écart entre cellules a été modifié par rapport à l'écart du flux d'entrée. L'écart entre cellules du flux d'arrivée SI est mesuré par une unité 200. Après mesure de cet écart, les cellules G relatives à la communication concernée sont séparées des cellules autres NG Cette séparation ou aiguillage est réalisée par l'unité 300. L'unité de commande 400 permet de piloter l'en- semble des opérations réalisées par les unités 100, 200 et 300 pour ensuite modifier l'écart entre cellules de la communication concernée en réinsérant le même nombre de cellules NG (des communications autres) entre deux cellules G ou un nombre différent de celui-ci. Un exemple de réalisation non limitatif va être décrit dans la suite à partir de la figure 2 Selon cet exemple, l'unité 100 est réalisée par une mémoire à lecture et écriture de type RAM Cette mémoire est donc chargée par un modèle de consigne CG désiré et modi- fiable L'unité 200 est réalisée par un circuit 201 de détection des en-têtes des cellules permettant d'iden- tifier les cellules G relatives à la communication concernée et les autres cellules NG. Cette unité 200 comprend également, associé à ce circuit 201, un circuit 202 de comptage d'écart cellules et une file d'attente 203 réalisée par piles de stockage de type FIFO afin de stocker les écarts obtenus à la sortie du compteur 202. L'unité d'aiguillage 300 comporte, selon cet exemple de réalisation, une file d'attente 301 réalisée par piles de stockage de type pile FIFO permettant de stocker les cellules G relatives à la communication affectée, identifiées par le circuit 201. Cette unité 300 comporte également une file d'at- tente 302 réalisée par piles de stockage de type pile FIFO permettant de stocker les cellules NG de communications autres. L'unité de commande 400 permettant de mettre en oeuvre le procédé comporte un multiplexeur 405, une unité arithmétique et logique 402, un séquenceur 403 et une logique de commande 404 de manière à gérer l'adressage des piles de stockage, le comptage des écarts et, l'insertion ou la retenue de cellules entre les cellules de la communication affectée par la gigue. Le déroulement de l'ensemble des opérations pilo- tées par l'unité centrale au moyen de l'unité arithmé- tique et logique 402, du séquenceur 403 et de la logique de commande 404 pour obtenir un cycle de gigue est illustré par l'organigramme de la figure 4 Tous ces ensembles sont synchronisés sur un signal d'horloge Hc externe, centré sur l'en-tête des cellules et correspondant au rythme d'arrivée des cellules. Le détecteur d'en-tête 201 est synchronisé sur l'horloge Hc externe correspondant au rythme d'arrivée des cellules Ce circuit est par exemple réalisé par un circuit programmable Xilinx dans lequel l'en-tête des cellules de la communication affectée a été programmé. Ce circuit réalise la comparaison des en-têtes des cellules incidentes au rythme de leur arrivée, à l'en-tête programmé et, transmet la cellule à l'ensemble 301 ou 302 selon les résultats de la comparaison. Le compteur 202 est activé par un signal de détec- tion D de cellules délivré par le circuit 201. Le stockage des cellules dans la pile FIFO 301 se fait simultanément au stockage dans la pile 203 de l'écart mesuré associé à chaque cellule tel que cela a été illustré par l'exemple donné sur le diagramme de la figure 3. Sur ce diagramme l'écart entre les cellules Gl et G 2 est égal à 1, cette valeur d'écart " 1 " est affectée à la cellule Gl L'écart entre G 2 et G 3 est 4, 4 est affecté à la cellule G 3 L'écart entre G 3 et G 4 est 0, O est affecté à G 3. La consigne programmée consiste par conséquent à mémoriser des mots indiquant des valeurs d'écart obéis- sant à une loi de programmation donnée. Pour obtenir une cellule de plus entre deux cel- lules G la consigne sera égale à + 1 Pour obtenir une cellule de moins, la consigne sera égale à -1. Pour n'obtenir aucun changement, la consigne sera égale à O. L'unité de séquencement commande la lecture d'une valeur de consigne V Gi puis V Gi+l pour mettre en oeuvre le cycle de génération de gigue sur la cellule Gi puis Gi+l Ainsi, pour giguer les cellules G, le dispositif va insérer un nombre variable de cellules NG entre deux cellules G. On va dans la suite, désigner par VG: la valeur gigue (ou consigne); ECART: l'écart séparant deux cellules G, il repré- sente donc le nombre de cellules non giguées dans le flux d'entrée; DELTA:le reliquat de gigue à terminer sur la cellule suivante dans le cas d'une impossibilité de réalisation du calcul; n NG:le nombre de cellules non giguées NG à envoyer avant de sortir la cellule giguée G faisant l'objet du calcul. L'unité arithmétique réalise le calcul suivant: n NG = ECART + VG + DELTA la valeur DELTA représente une retenue dans le calcul lorsque n NG est négatif. Selon un exemple de réalisation pratique, la valeur maximum du paramètre ECART est fixée à 4095 (cellules). Pour traiter une cellule Gi, on lit les paramètres ECART et V Gi concernant cette cellule, ainsi que le paramètre DELTA résultant du calcul précédent. Si n NG > 0, la gigue est positive, le déroulement du cycle pour la cellule peut commencer Les moyens de commande séquencent la sortie d'un nombre de cellules NG correspondant au nombre n NG puis la sortie de la cellule Gi. Si n NG de suite. Pour éviter d'avoir à lire une pile vide, on prévoit de réaliser un test sur la pile de cellules NG dans la boucle de vidage du nombre n NG de cellules Ce test se déroule immédiatement après l'envoi d'une cellule NG Dans le cas ou la pile NG est vide, on envoie la cellule giguée "en avance" et le nombre de cellules NG restant à sortir est reporté dans la valeur DELTA. L'ensemble des étapes 1 à 10 mentionnées sur la figure 4, correspondent aux différentes opérations effectuées pour un cycle de gigue et qui viennent d'être détaillées. On va maintenant donner, à titre d'exemple, des détails de réalisation pratique. On a choisi pour le circuit 100, une RAM statique de 32 k x 16 permettant de mémoriser des valeurs sur 16 bits, soit + 32767 à 32768 Le cycle recommence iden- tique à lui-même toutes les 32768 cellules giguées. L'unité arithmétique et logique 402 travaille sur 16 bits et forme, avec le séquenceur 403, une unité de séquencement des opérations en synchronisme avec le signal Hc. Les fonctions des unités 201 et 202 sont intégrées dans un circuit logique de type FPGA (Field Programmable Gate Array). Les piles de stockage 301, 302 ont une capacité de 256 k x 8, car on a fixé l'écart maximum entre deux cellules G égal à 4096 cellules Chaque pile doit avoir au moins une taille de 53 x 4096 octets. Pour avoir cette capacité, les piles sont consti- tuées de RAM statiques associées à une logique classique en soi 404 qui permet de gérer les lectures et écritures de ces mémoires. On peut écrire dans ces piles un octet au rythme de l'horloge de base soit 19,44 M Hz et simultanément lire un octet Le temps d'accès des mémoires actuelles étant limité on a choisi la structure suivante pour l'écriture et la lecture: En effet, la longueur impaire d'une cellule ATM gêne la gestion par paire d'octets au rythme de 155 M Bits/s Pour gérer de manière plus rapide des écritures en mémoire, d'ordinaire on travaille par paire de valeurs Par exemple si on veut stocker des octets en mémoire de 8 bits à la limite du temps d'accès de ces mémoires, il suffit de mettre deux octets en parallèle dans des mémoires 16 bits On travaille alors à un rythme deux fois plus lent Par contre ceci est impos- sible dans cette réalisation. Ainsi, pour résoudre ce problème, on considère un flux impair d'octets On décompose ce flux en trois flux différents: le flux des octets pairs dans lequel sont rangés les octets de rang 0,2,, 2 i,, etc,. le flux des octets impairs qui comporte les octets 1, 3, 5, 2 i+l), etc, le flux des octets derniers (DER). il Cette décomposition permet d'obtenir 2 flux (pair et impair) dont le nombre d'éléments est identique et de plus, ce nombre est pair Le dernier de chaque suite est stocké dans une pile de type FIFO référencée 303 De cette manière, on peut gérer des écritures lectures par paire et traiter le dernier en un seul cycle avec une pile FIFO de capacité déterminée mais de temps d'accès très rapide, la capacité de la FIFO dépend du nombre d'octets que l'on veut stocker en même temps dans la RAM Si cette RAM comporte 2 koctets et si la suite impaire est égale à ( 2 N + 1) octets, la FIFO doit avoir une capacité de 2 k-1 mots de 16 bits. N Les octets pairs et impairs O et 1 sont décrits en même temps puis au tour des octets 2 et 3 etc Quand le dernier arrive, on l'écrit dans la FIFO DER 303 réservée au dernier octet de chaque suite. Pour la lecture on adopte le même principe. On a donc réalisé un système simple qui permet d'écrire et de lire toute suite impaire d'octets par paire Ce qui permet en plus d'utiliser l'indicateur de file vide de cette pile FIFO comme indicateur général pour cet ensemble de stockage. REVENDICATIONS 1 Procédé de génération de gigue cellules dans un signal incident transmis en mode ATM, caractérisé en ce qu'il comprend les étapes suivantes: mémoriser un modèle de consigne de gigue préétabli, déterminer l'écart entre les cellules incidentes relatives à une même communication, modifier ou non l'écart entre cellules de cette même communication selon la consigne. 2 Procédé de génération de gigue selon la revendication 1, caractérisé en ce que la modification consiste à enlever ou à insérer un nombre de cellules donné par la consigne entre les cellules d'une même communication. 3 Procédé de génération de gigue selon la revendication 1, caractérisé en ce que la détermination de l'écart entre cellules consiste à l'arrivée de chaque cellule: à identifier la cellule par son en-tête; à compter après identification, le nombre de cellules séparant deux cellules relatives à une même communication. 4 Procédé de génération de gigue selon la revendication 2, caractérisé en ce que l'identification d'une cellule consiste: au préalable, à enregistrer l'en-tête d'une cellule concernant la communication affectée par la gigue; à comparer les en-têtes des cellules incidentes à cet en-tête; à stocker après comptage l'écart entre les cellules de manière à le modifier ou non selon la consigne. Dispositif de génération de gigue cellules dans un signal incident transmis en mode ATM, caractérisé en ce qu'il comprend: des moyens de mémorisation ( 100) d'une consigne de gigue, préalablement établie; des moyens ( 200) de mesure de l'écart entre cellules relatives à une même communication, des moyens ( 300) d'aiguillage des cellules incidentes selon qu'elles sont relatives à la même communication ou non, des moyens de commande ( 400) permettant de modifier ou non l'écart entre cellules relatives à une même communication. 6 Dispositif de génération de gigue selon la revendication 5, caractérisé en ce que les moyens de mesure de l'écart ( 200) comportent: un détecteur d'en-tête des cellules ( 201); un compteur d'écart entre cellules ( 202); un registre de stockage pour stocker la valeur de cet écart ( 203). 7 Dispositif de génération de gigue selon la revendication 5 ou 6, caractérisé en ce que les moyens d'aiguillage ( 400) comportent un premier registre de stockage ( 301) de cellules relatives à la même communication et un deuxième registre de stockage ( 302) de cellules autres. 8 Dispositif de génération de gigue selon la revendication 7, caractérisé en ce qu'il comporte un registre de stockage ( 203) de l'écart entre cellules relatives à la même communication. 9 Dispositif de génération de gigue selon l'une quelconque des revendications 5 à 8, caractérisé en ce que les moyens d'aiguillage comportent en outre un registre de stockage ( 303) permettant de réaliser des écritures et lectures d'octets par paire, le dernier octet de chaque cellule étant stocké dans ce registre. Dispositif de génération de gigue selon l'une quelconque des revendications 5 à 9, caractérisé en ce que les moyens de commande ( 400) comportent une unité arithmétique, un séquenceur et une logique d'adressage des registres. 11 Dispositif de génération de gigue selon l'une quelconque des revendications 1 à 10, caractérisé en ce que les moyens de mémorisation comportent une mémoire ( 100) à lecture et écriture de type RAM statique. 12 Dispositif de génération selon l'une quelconque des revendications précédentes, caractérisé en ce que les registres de stockage ( 301, 302) sont réalisés par des mémoires RAM statiques.