FR 2804268 A1 20010727 FR 0100992 A 20010125 La présente invention concerne des réseaux de relais de cellules tels que des réseaux ATM (mode de transfert asynchrone) et de façon davantage particulière, la présente invention concerne un procédé et un dispositif permettant de construire des cellules pour une transmission sur un tel réseau. Dans un réseau de relais de cellules tel qu'un réseau ATM, les données sont assemblées selon des cellules de dimension fixe qui sont transférées sur le réseau conformément à une information qui est stockée dans l'en-tête de cellule. Dans le cas d'un réseau ATM, les cellules sont d'une longueur de 53 multiplets ou octets, 5 multiplets ou octets étant réservés pour l'en-tête. Les cellules sont assemblées au moyen de la couche d'adaptation ATM (AAL). Diverses couches qui sont numérotées de 1 à offrent différents types de services. Par exemple, une couche AAL1 concerne un service qui assure un trafic binaire constant tel qu'un trafic vocal ou vidéo. Dans l'art antérieur, les cellules doivent être assemblées de façon personnalisée avant d'être passées à une interface UTOPIA pour une connexion à la couche physique. Cependant, ce processus peut être lent de façon non nécessaire du fait qu'une grande part de I'information contenue dans les en-têtes ne varie pas d'une cellule à une autre cellule. Conformément à la présente invention, on propose un procédé d'assemblage de cellules pour une utilisation dans un réseau de relais de cellules, comprenant les étapes consistant à créer une structure de données de gabarit qui représente la structure d'une cellule à assembler, à stocker ladite structure de données de gabarit en mémoire et à créer des cellules en retrouvant lesdites structures de données de gabarit et en insérant une information variable dedans. Les structures de données de gabarit de cellule (CTDS) sont typiquement utilisées dans un type I de couche d'adaptation ATM (AAL1) afin de produire des cellules ATM. Les CTDS permettent la mise en oeuvre des fonctions d'un type 1 d'AAL comme défini selon ITU-T- COM 13-R 51-E AAL. Les structures CTDS peuvent également être utilisées lors de mises en oeuvre qui supportent un service d'émulation de circuit de support (CES), comme décrit dans ATM Forum Specification af-vtoa-0078. 00 and Dynamic Structure Sizing (DSS), comme défini dans ATM Forum Specification af-vtoa-0085.00. Une structure CTDS contient une information qui est requise pour construire des cellules pour un circuit virtuel (VC). La structure CTDS réside typiquement dans un dispositif de mémoire tel qu'une mémoire vive ou RAM ou tel que des registres et elle est de préférence créée au moyen d'un logiciel qui est déroulé sur une unité centrale de traitement (CPU). La partie de segmentation de la sous-couche de segmentation et de réassemblage ou SAR d'une couche AAL1 peut utiliser l'information qui est contenue dans la structure CTDS afin de produire des cellules pour un VC. Une structure CTDS séparée est utilisée pour chaque VCC qui est supporté par la sous-couche SAR. Les structures CTDS peuvent être utilisées pour supporter des cellules CBR telles que des cellules de transfert de données non structurées ou UDT, des cellules de transfert de données structurées ou SDT avec et sans CES, et des cellules de dimensionnement de structure dynamique ou DSS avec et sans CES. Les gabarits de cellule sont normalement situés dans une mémoire. Une table de pointeurs est utilisée à cette fin. Il y a un pointeur séparé pour chaque VC et éventuellement, une table de pointeurs séparée pour chaque port. Selon une mise en oeuvre préférée, la structure de gabarit de cellule UDT est constituée par 5 zones dont chacune présente une largeur de 16 bits. Les zones 1 à 3 contiennent l'en-tête de cellule et restent statiques après avoir été écrites par la CPU. La zone 0 contient le numéro de séquence de la cellule suivante et l'information SRTS. Le système de segmentation modifie cette zone après que chaque cellule est produite. Dans le gabarit de cellule SDT, les zones 0 à 6 peuvent être utilisées pour déterminer lorsqu'il convient de produire la cellule, pour commander le nombre de canaux qui sont envoyés dans le VC, pour bloquer des données SRTS, pour déterminer lorsqu'il convient de produire une cellule de pointeur, pour déterminer la valeur de la zone de décalage d'une cellule de pointeur, pour calculer le multiplet ou l'octet d'en-tête d'AAL1, pour déterminer lorsqu'il convient de placer des valeurs CAS dans la cellule et pour déterminer l'emplacement de la valeur TDM/CAS suivante destinée à être placée dans la cellule. Les zones 7 à 9 contiennent l'information d'en-tête de cellule. Les zones restantes de la structure de commande contiennent des pointeurs sur des tampons circulaires (un pointeur pour chaque canal dans le VC) qui contiennent des données TDM. Les pointeurs sont lus à tour de rôle ou de façon cyclique et sont utilisés pour commander des canaux qu'il convient de placer dans la charge utile de cellule. Selon un mode de réalisation préféré de l'invention, le gabarit de service d'émulation de circuit à bande passante dynamique et à cellules de données structurées ou SDT DBCES est typiquement divisé selon trois régions principales. La première région (les zones 0 à 5) contient une information telle que l'en-tête de cellule qui ne varie pas lorsque la structure multitrame est redimensionnée. Les régions Alpha et Bêta de la structure contiennent l'information qui varie pendant un redimensionnement multitrame. Si le processus de segmentation est en train d'utiliser la région Alpha afin de construire des cellules, alors la CPU peut modifier le contenu de la région Bêta et vice-versa. Le bit cr (de région courante) de la zone 0 est utilisé par la CPU afin de déterminer quelle région peut être modifiée. Après que la CPU a terminé une écriture d'information dans une région, elle programme les bits nr (de région suivante) de la zone 0. Le bit cr sera établi de telle sorte qu'il soit égal au bit nr au moyen du processus de segmentation au niveau de la frontière de structure suivante après que le pointeur valide suivant et la nouvelle structure multitrame ont été envoyés. L'invention sera maintenant décrite de manière davantage détaillée au moyen d'exemples, seulement par report aux dessins annexés parmi lesquels: la figure 1 est une vue de niveau système d'un module TxSAR; la figure 2 est un schéma fonctionnel d'un bloc TxSAR et d'une mémoire interne; la figure 3 représente une structure de commande de cellules de données; la figure 4 représente la structure de commande TxSAR; la figure 5 représente la table de pointeurs de structure de commande pour un port X; la figure 6 représente la structure de commande TxSAR pour un mode SDT non DBCES; la figure 7 représente comment le pointeur de lecture est utilisé pour accéder à des tampons circulaires; et la figure 8 représente la structure de commande DBCES. Par report maintenant à la figure 1, un module de segmentation et de réassemblage pour transmission ou TxSAR inclut un bloc TxSAR i qui émet en sortie des cellules ATM sur une interface UTOPIA 2 et qui est connecté sur une liaison bidirectionnelle à une mémoire de structure de commande 3. Le bloc TxSAR 1 reçoit des données en provenance d'une unité de tampon UDT 5, d'une unité de tampons circulaires 6 et d'une unité SRTS 7. La mémoire 3, comme représenté sur la figure 2, est un bloc 1056 x 16 d'une mémoire vive ou RAM interne, laquelle mémoire est à son tour connectée à un bloc de microprocesseur 8. La mémoire 3 contient une structure de commande pour chaque VC du port TDM et est utilisée lors du processus d'assemblage de cellules. Le format de la structure de commande dépend du mode de fonctionnement (UDT, SDT (non DBCES), SDT (DBCES)). Les structures de commande font l'objet d'une discussion ci-après. La structure de commande TX_SAR de données est représentée sur la figure 3. L'adresse de base du tampon FIFO (premier entré, premier sorti) de cellules de données Tx en mémoire externe est sélectionnée dans le registre de configuration TX_SAR de données (1038). Ce registre est également utilisé pour sélectionner la dimension du tampon FIFO de cellules. Les cellules doivent commencer sur des frontières de 64 multiplets ou octets comme représenté sur la figure 3. La transmission des cellules commence lorsque le pointeur d'écriture est établi au sommet du tampon FIFO et que les données TXSAR sont validées via un bit TDSEN dans un registre 103E. Les cellules dans le tampon FIFO seront envoyées selon un ordre qui commence par l'adresse de mémoire la plus faible. Après que chaque cellule est produite, les données TX_SAR incrémentent un pointeur de lecture et une transmission de cellules cessera lorsque le pointeur de lecture est égal au pointeur d'écriture. Si le pointeur d'écriture est établi de telle sorte qu'il est supérieur à la dimension du tampon FIFO, les données TXSAR enverront en continu le contenu du tampon FIFO. La même mémoire est utilisée pour à la fois SDT et UDT. Cependant, dans le mode UDT, seulement les cinq emplacements inférieurs de la mémoire sont utilisés. La figure 4 représente le format de la structure de commande pour l'un de 28 ports TDM alimentant TXSAR. Chacune des zones de la structure de commande est décrite en détail comme suit. Zone 0 réservée (bits 15: 8): Ces bits sont réservés pour des révisions futures de la puce et sont initialisés à 0. srts (bits 7: 4) Si le bit srts_unable (se) ou d'invalidation de srts de la structure de commande est établi à l'unité, alors TxSAR lira un quartet ou demi- octet srts à partir du bloc de gestion d'horloge au début de chaque séquence de cellules (séquence = b#000). Cette valeur sera stockée dans les bits srts. Dans des cellules avec des numéros de séquence impairs, le bit srts de poids le plus fort sera placé dans le bit csi de l'en- tête SAR-PDU. La valeur SRTS sera ensuite décalée vers la gauche et écrite en retour dans les bits srts. De cette façon, un quartet ou demi- octet SRTS complet sera envoyé dans chaque séquence de 8 cellules. srts enable ou validation de srts (bit 3) Le bit de validation de srts (se) est utilisé pour indiquer que le VCC est en train de transporter des données SRTS. Lorsque ce bit est au niveau haut, TxSAR place des données SRTS dans le bit csi de l'en- tête SAR-PDU, dans des cellules présentant des valeurs de séquence impaires. Lorsque ce bit est au niveau bas, le bit csi sera toujours établi àO. Séquence (bits 2 O) Ces bits bloquent le numéro de séquence de la cellule suivante à transmettre. Les bits de séquence doivent être initialisés à b#00 par la CPU. Zone 1 qfc (bits 15: 12) La valeur de commande de flux générique ou gfc est placée dans la zone gfc de l'entête de cellule dans une cellule UNI. Si la cellule associée est NNI, ces bits forment les 4 bits de poids le plus fort du VPI. VPI (bits 11: 4) TxSAR placera cette valeur dans la zone vpi de l'en-tête de cellule. VCI (bits 3: 0) TxSAR placera cette valeur dans la zone vci de l'en-tête de cellule. Zone 2 VCI (bits 15: 4) TxSAR placera cette valeur dans la zone vci de l'en-tête de cellule. pti (bits 3: 1) TxSAR placera cette valeur dans la zone pti de l'en-tête de cellule. clp (bit 0) TxSAR placera cette valeur dans la zone clp de l'en-tête de cellule. Zone 3 hec (bits 15: 8) La couche physique est de façon générale responsable du calcul de la valeur hec et par conséquent, cette zone est normalement utilisée en tant que conteneur. Si la couche physique ne calcule pas hec, alors le contenu de la zone hec de la structure de commande TxSAR apparaîtra dans la zone hec de l'en-tête de cellule. L'utilisateur peut générer cette valeur en réalisant une division modulo 2 sur les quatre premiers octets de l'entête de cellule en utilisant le polynôme générateur G(x) = x8 + x2 + x+ 1. udf (bits 7: 0) Cette valeur est copiée dans la zone udf2 de l'en-tête de cellule lorsque le module UTOPIA est en train de fonctionner dans le mode 16 bits. Zone 4 La zone 4 contient le nombre de cellules qui ont été transmises. La CPU doit initialiser cette zone à 0000h. Table de pointeurs de structure de commande Dans les modes SDT DBCES et non DBCES, TxSAR utilise des tables de pointeurs afin de déterminer l'emplacement de chaque structure de commande dans la mémoire interne 3. Chaque port du dispositif qui est dans le mode SDT dispose d'une table de pointeurs qui lui est associée. L'adresse de base de la table de pointeurs, dans la mémoire interne, est programmée par l'intermédiaire du registre PX_PTB qui est représenté au niveau du tableau ci-après. Adresse de base de table de pointeurs de port O Adresse: 2002 (en hexadécimal) Etiquette: PO_PTB Valeur de remise à l'état initial: 0000 (en hexadécimal) Etiquette Position des bits Type Description PTBA 15: 0 RN/W* Dans le mode SDT, ces bits contiennent l'adresse de base de la table de pointeurs de structure de commande de port 0. Dans le mode UDT, ces bits forment un pointeur sur la structure de commande UDT associée au port 0. * R/WV = L/E (lecture/écriture) Comme représenté sur la figure 5, le registre PX_PTB contient l'adresse de mot de la base X de table de pointeurs dans la mémoire interne. Par exemple, une valeur de 1 Oh indique que la base de la table de pointeurs commence sur le seizième mot dans la mémoire interne (adresse de multiplet ou d'octet (20h). La valeur dans PX_PTB représente un décalage par rapport à l'adresse de base de la mémoire interne TxSAR dans la puce Monaco. Ce qui suit est une description des zones d'un pointeur. L (bit 15) Une valeur de 1 dans ce bit indique que le pointeur courant est le dernier pointeur valide dans la table et en tant que résultat, TxSAR ne lira plus d'entrée dans la table courante. A (bit 14) Une valeur de 1 dans ce bit indique que la structure de commande associée est active. Si ce bit est établi à 0, TxSAR ne produira pas de cellules pour la structure de commande associée. Pointeur de structure de commande (bits 13 O) Il s'agit de l'adresse d'une structure de commande qui est exprimée en tant que mot décalé par rapport à l'adresse de base de la mémoire interne TxSAR. Une description détaillée de chaque zone de la structure de commande TxSAR pour le mode SDT non DBCES suit par report à la figure 6. Zone 0 nmbr of tdm ou nombre d'octets TDM (bits 15: 10) Cette zone indique le nombre d'octets TDM qui sont requis pour remplir la cellule suivante du VCC correspondant. Elle est utilisée par TxSAR afin de déterminer lorsqu'il convient de créer une cellule pour le VCC associé à la structure de commande. Après que chaque cellule du VCC est envoyée, TxSAR détermine le nombre d'octets disponibles pour TDM dans la cellule suivante et met à jour la zone nmbroftdm ou nombre d'octets TDM. Cette zone doit être initialisée par l'utilisateur comme représenté au niveau du tableau ci-après. Valeurs initiales de la zone nmbroftdm mode TDM nmbr_ofchannels valeur de nmbroftdm (nombre de (nombre d'octets TDM) canaux) DS1 1 45 DS1 2: 24 46 E1 1 44 E1l 2 45 E1l 3:30 46 J2 1:96 46 STBUS 1: 30 46 nmbr of channels ou nombre de canaux (bits 9: 2) Les bits nmbr_ ofchannels (nombre de canaux) indiquent le nombre de canaux TDM dans le VCC associé à la structure de commande. Le tableau qui suit résume la plage des valeurs possibles. Valeurs de la zone nmbrofchannels Type TDM Plage de valeurs dans la zone nmbr of channels DS1 1 à 24 E1 1 à30 Mode de plan arrière 1 à 128 remainder ou reste (bit 1) Ce bit indique qu'il y a suffisamment de données TDM pour créer plus d'une cellule dans la trame courante. Ce bit doit être initialisé à 0. wait for multiframe ou attente multitrame (bit 0) Lorsque ce bit est à 1, TxSAR attendra la frontière multitrame avant de produire la première cellule du VCC. Ceci conduira au fait que la première trame de base de la multitrame est envoyée dans le premier octet de charge utile de la première cellule (séquence = 0, zone de décalage = 0). Lorsque ce bit est à 0, la première cellule sera produite aussitôt que suffisamment de données TDM sont disponibles. Zone 1 read pointer ou pointeur de lecture (bits 15: 10) La valeur dans cette zone est concaténée avec circular_buffer base ptrG ou pointeur G de base de tampon circulaire afin de former une adresse à l'intérieur d'un tampon circulaire G, comme représenté sur la figure 7. La zone read_pointer ou de pointeur de lecture sera incrémentée chaque fois que current_tdm ou TDM courant = lasttdm ou dernier TDM. Cette zone est initialisée à 00h. Inutilisé (bits 9: 8) Réservé pour une utilisation future. Ces bits sont initialisés à 0. first cell ou première cellule (bit 7) Ce bit doit être initialisé à 1 par la CPU. Il est utilisé pour indiquer qu'il s'agit de la première cellule qui est envoyée pour le VCC courant. srts (bits 6: 3) Si le bit de srtsenable ou de validation de srts (se) du VCC courant est établi à l'unité, alors TxSAR lira un quartet ou demioctet SRTS à partir du bloc de gestion d'horloge au début de chaque séquence de cellules (séquence = b#000). Cette valeur sera stockée dans les bits srts. Dans des cellules avec des numéros de séquence impairs, le bit de poids le plus fort de la valeur SRTS sera placé dans le bit csi de l'en-tête SAR-PDU. La valeur SRTS sera ensuite décalée vers la gauche et écrite en retour. De cette façon, un quartet ou demi-octet SRTS complet sera envoyé pour chaque séquence de 8 cellules. Cette zone n'a pas besoin d'être initialisée par l'utilisateur. Sequence ou séquence (bits 2: O) Les bits de séquence contiennent le numéro de séquence de la cellule qui est sur le point d'être assemblée par TxSAR. Cette valeur est utilisée par TxSAR afin de générer l'en-tête SAR-PDU et afin de déterminer si la cellule courante doit être une cellule de format P. Le numéro de séquence de la cellule suivante dans le VCC est déterminé en utilisant l'équation: Séqq.courante=1 pourséq.cour. courante a été envoyée. La séquence sera initialisée à Oh. Zone 2 structure In.qth ou longueur de structure (bits 15: 4) La zone structurelngth (longueur de structure) contient la longueur de la structure multitrame (structure de charge utile + sous- structure de signalisation). En tant qu'exemple: type TDM = DSI. nmbr of channels ou nbre de canaux = 3 structure-lngth = nbrofchannels x 24 + roundup(nbr ofchannels/2) = 74 octets, soit longueur de structure = nbre de canaux x 24 + arrondi par excès de (nbre de canaux/2) = 74 octets Le tableau qui suit propose un résumé des valeurs possibles. Valeur de la zone de longueur de structure (nmbrofchannels = nbre de canaux dans le VCC) Type TDM Valeur à écrire dans la zone de longueur de Plage de la valeur de structure longueur de structure DS1 avec CAS 24 x nmbr ofchannels + arrondi par excès 25 à 3136 de (nmbr of channels/2) E1 avec CAS 16 x nmbrofchannels + arrondi par excès 17 à 2112 de (nmbr of channels/2) DS1 sans CAS nmbr of channels 1 à 128 E1 sans CAS nmbr of channels 1 à 128 unused ou inutilisé (bits 3: 2) Réservé pour une utilisation future. Ces bits sont initialisés à 0. Mode (bits 1: 0) TxSAR a besoin des bits de mode pour déterminer le nombre d'octets TDM dans une charge utile de cellule. Ces bits sont utilisés pour indiquer la dimension de structure TDM en relation avec une charge utile de cellule et avec le type TDM qui est utilisé. La signification des bits est donnée dans le tableau qui suit. Description des bits de mode Valeur des bits de mode Signification 00 mode CCS ou DS1 avec nbre de canaux CAS > 1 ou E1 avec nbre de canaux CAS >2. 01 DS1 avec nbre de canaux CAS = 1 E1 avec nbre de canaux CAS = 1 11 E1 avec nbre de canaux CAS = 2 Zone 3 structure boundarv ptr ou pointeur de frontière de structure (bits : 4) Les bits de structure_boundary_ptr (pointeur de frontière de structure) contiennent la distance, en octets, entre le dernier multiplet ou octet de charge utile écrit et la frontière de structure suivante. TxSAR lit cette valeur pour garder trace de sa position courante dans la structure multitrame, pour déterminer lorsqu'il convient d'envoyer une cellule de format P et pour générer la zone de décalage de l'en-tête SAR-PDU. La zone structure_boundary_ptr est initialisée à h#0000. srts enable ou validation de srts (bit 3) Le bit srts_enable (se) est utilisé pour indiquer que le VCC associé est en train de transporter des données SRTS. Lorsque ce bit est au niveau haut, TxSAR place des données SRTS dans le bit csi de l'en-tête SAR-PDU dans des cellules présentant des valeurs de séquence impaires. Lorsque ce bit est au niveau bas, le bit csi sera établi à 0 dans des cellules présentant des valeurs de séquence impaires. Seulement un VCC par liaison peut transporter SRTS. pointer sent ou pointeur envoyé (bit 2) Le bit pointersent (ps) est utilisé pour assurer que seulement une unique cellule du format P est envoyée dans une séquence de 8 cellules. Lorsque la cellule du format P arrive, ce bit est établi à un niveau haut par TxSAR. Aucune autre cellule du format P ne sera produite tandis que ps = 1. Lorsque la dernière cellule de la séquence (séquence = b#111) est envoyée, ps est mis à O de telle sorte qu'une autre cellule du format P soit produite dans la séquence de cellules suivante. Le bit pointer_sent doit être initialisé à la valeur du bit pointer_enable ou validation de pointeur. pointer enable ou validation de pointeur (bit 1) Le bit pointerenable (pe) doit être établi à O dans un unique canal VCC qui ne transporte pas CAS. Ceci empêchera que des cellules de format P ne soient produites pour le VCC. Le bit pe doit être établi à I'unité dans tous les autres cas. Ceci aura pour effet que la cellule du format P sera générée une fois par séquence de 8 cellules. pointer_cell ou cellule de pointeur (bit 0) Après transmission d'une cellule, TxSAR détermine si la cellule suivante du VCC doit être une cellule du format P et établit le bit pointercell (p) en conséquence. Lorsque vient le temps de créer la cellule suivante, SAR place la zone de pointeur SAR-PDU dans la cellule si p = 1. Ce bit doit être initialisé à la valeur dans la zone pointer_enable. Zone 4 current cas ou CAS courant (bits 15: 8) Lorsque TxSAR est en train d'écrire des données CAS pour la charge utile de cellule, il utilise cette zone afin de garder trace du pointeur de tampon circulaire pour réaliser une lecture ensuite. Cette zone est initialisée à OAh. current tdm ou TDM courant (bits 7: 0) Lorsque TxSAR est en train d'écrire des données TDM dans la charge utile de cellule, il utilise cette zone afin de garder trace du pointeur de tampon circulaire pour réaliser une lecture ensuite. Cette zone est initialisée à OAh. Zone 5 last ou dernier (bits 15: 8) Cette zone contient l'adresse (par rapport à la zone O) du dernier circular_bufferbase ptr ou dernier pointeur de base de tampon circulaire valide dans la structure de commande. En général: last = numberofchannels + 9, soit dernier = nbre de canaux + 9. Exemple nmbrofchannels = 8 last= 11 h nmbr of cas ou nbre de CAS (bits 7: 0) La zone nmbrof cas (ncas) contient la dimension, en octets, de la sousstructure de signalisation et doit être initialisée comme représenté au niveau du tableau. Exemple Dans le cas d'une liaison DSA avec 9 canaux dans la sous- structure de charge utile, nmbrofcas = 5 Valeurs possibles de nmbrofcas K = nbre de canaux dans la structure mode TDM Formule Plage de nmbr of cas DS1 arrondi par excès de (K12) 0 à 64 E1 arrondi par excès de (K/2) 0 à 64 mode CCS NA O Zone 6 cell count statistic ou statistique de comptage de cellules (bits : 0) Les bits de cellcount_statistic indiquent le nombre de cellules qui ont été produites pour le VCC. Ces bits doivent être initialisés à 0000h. En-tête 1 qfc (bits 15: 12) La valeur de commande de flux générique ou gfc est placée dans la zone gfc de l'en- tête de cellule dans une cellule UNI. Si la cellule associée est une cellule NNI, ces bits forment les 4 bits de poids le plus fort du vpi. vpi (bits 11: 4) TxSAR placera cette valeur dans la zone vpi de l'en-tête de cellule. vci (bits 3: 0) TxSAR placera cette valeur dans la zone vci de l'en-tête de cellule. Header ou en-tête 2 vci (bits 15: 4) TxSAR placera cette valeur dans la zone vci de l'en-tête de cellule. Pti (bits 3: 1) TxSAR placera cette valeur dans la zone pti de l'en-tête de cellule. clp (bit 0) TxSAR placera cette valeur dans la zone clp de l'en-tête de cellule. Header ou en-tête 3 hec (bits 15: 8) La couche physique est de façon générale responsable du calcul de la valeur hec et par conséquent, cette zone est normalement utilisée en tant que conteneur. Si la couche physique ne calcule pas hec, alors le contenu de la zone hec de la structure de commande TxSAR apparaîtra dans la zone hec de l'en-tête de cellule. L'utilisateur peut générer cette valeur en réalisant une division modulo 2 sur les 4 premiers octets de l'en-tête de cellule en utilisant le polynôme générateur G(x) = x8 + x2 + x +1. udf (bits 7: 0) Cette zone est copiée dans la zone udf2 de l'en-tête de cellule lorsque le module UTOPIA est en train de fonctionner dans un mode 16 bits. Circular Buffer Pointer Space ou espace de pointeur de tampon circulaire circular buffer base ptrX ou pointeur X de base de tampon circulaire (bits 15: 0) Les pointeurs de base de tampon circulaire sont concaténés avec les bits de pointeur de lecture afin de former l'adresse de 22 bits qui est représentée sur la figure 7. Cette valeur est utilisée pour adresser une valeur TDM ou CAS dans un tampon circulaire particulier. Il y aura un pointeur pour chaque canal dans le VCC. Structure de commande DBCES La structure de commande DBCES est représentée sur la figure 8. Zone 0 unused ou inutilisée (bits 15: 6) Ces bits sont réservés pour une utilisation future et doivent être initialisés à 0. first ou premier (bit 5) Ce bit doit être établi à 1 par la CPU lorsque la structure de commande est initialisée. nmbr of bit masks ou nbre de masques binaires (bits 4: 2) Le tableau qui suit indique le nombre d'octets de masquage dans la structure de masquage de bits. Signification des bits de nmbrofbitmask bits de nmbr of bit mask Dimension de la sous-structure de masquage de bits 001 1 octet 2 octets 011 3 octets 4 octets tous les autres Invalide next re.ion ou région suivante (bit 1) Ce bit est utilisé pour redimensionner la structure multitrame et il indique la région de la structure de commande qui sera utilisée après que le redimensionnement est réalisé. Lorsque vient le temps de redimensionner la structure, la CPU doit initialiser la région de la structure de commande qui n'est pas en train d'être lue par TxSAR. Le bit de région suivante est alors établi et la CPU doit attendre que les bits de région suivante et de région courante contiennent la même valeur. Elle peut ensuite établir le bit de région suivante. Définition du bit de nextregion nextregion région de structure de commande utilisée après redimensionnement O région Alpha i région Beta current region ou région courante (bit 0) Ce bit indique la région de la structure de commande que TxSAR est présentement en train d'utiliser pour construire des cellules; se reporter au tableau qui suit. Afin de redimensionner la structure, la CPU doit écrire dans la région qui n'est pas en train d'être utilisée afin d'assembler des cellules. Ce bit est initialisé à 0. Définition du bit de currentregion currentregion région de structure de commande région disponible pour la CPU présentement utilisée pour écriture 0 région Alpha région Beta 1 région Beta région Alpha Zone 1 cell count statistic ou statistique de compta.qe de cellules Cette zone contient le nombre de cellules qui ont été présentement envoyées. Cette zone doit être initialisée à 0000h. Zone 2 time out ou dépassement de temps imparti (bits 15: 12) Ces bits sont utilisés pour commander le temps entre des cellules transmises qui sont en train de transporter des structures inactives. Le temps entre les cellules est déterminé comme suit. inactive structure timer ou minuterie de structure inactive (bits 11:0) Ces bits sont utilisés pour déterminer s'il est temps d'envoyer une cellule qui est en train de transporter une structure inactive. La CPU doit initialiser cette valeur à OOOh. Zones d'en-tête de cellule Ces zones sont placées dans l'en-tête de cellule. Zone 6 Régions Alpha et Bêta nmbr of tdm ou nbre de TDM (bits 15: 10) Cette valeur représente le nombre d'octets dans la cellule suivante qui sont disponibles pour transporter TDM. L'initialisation de cette valeur s'effectue conformément au tableau qui suit. Initialisation des bits de nmbroftdm Configuration multitrame nmbr of tdm DS1 avec nmbr of channels CAS = 1 45 E1 avec nmbr of channels CAS = 1 44 E1 avec nmbr of channels CAS = 2 45 toutes les autres configurations 46 nmbr of channels ou nombre de canaux (bits 9: 2) La valeur de nmbrofchannels indique le nombre de canaux TDM dans le VCC associé à la structure de commande et ce nombre peut contenir une valeur de O à 31, bornes comprises. structure boundary in next cell ou frontière de structure dans cellule suivante (bit 1) Ce bit indique que la frontière de structure se produira dans la cellule suivante. Cette valeur est initialisée à 1. Unused ou inutilisé (bit O) Ce bit est réservé pour une utilisation future et il doit être initialisé àO. Zone 7 Régqions Alpha et Bêta read pointer ou pointeur de lecture (bits 15: 10) Cette valeur est concaténée avec les pointeurs de tampon circulaire afin de former une adresse pour une valeur TDM/CAS dans un tampon circulaire. Dans le cas de nombreux VCC avec N = 1, ces bits peuvent être utilisés pour distribuer une production de cellules sur 64 trames. current bit mask ou masque binaire courant (bits 9: 3) Il s'agit d'un pointeur sur le masque binaire suivant à envoyer. Cette valeur doit être initialisée conformément au tableau qui suit. Initialisation de currentbitmask Région de structure de commande Valeur d'initialisation de current bit mask Alpha 2Ch Beta 56h Sequence ou séquence (bits 2: 0) Ces bits contiennent le numéro de séquence de la cellule suivante. Cette valeur doit être initialisée à Oh. Zone 8 Régions Alpha et Bêta structure lenqth ou longueur de structure (bits 15: 3) Cette valeur représente la longueur de la structure multitrame et elle doit être initialisée comme suit. Initialisation de la valeur de structurelength Type TDM Valeur à écrire dans la zone de Plage de la valeur de longueur de longueur de structure structure DS1 avecCAS 24 x nmbrofchannels + arrondi 0 à 588 par excès de (nmbr of channels/2) E1 avec CAS 16 x nmbr_of_channels + arrondi O à 495 par excès de (nmbr of_channels/2) DS1 sans CAS nmbr of channelsO à 31 E1 sans CAS nmbr_ofchannels O à 31 Unused ou inutilisé (bits 3: 2) Réservé pour une utilisation future. Ces bits sont initialisés à Oh. Mode (bits 1 O) 0) Ces bits doivent être initialisés conformément au tableau qui suit. Initialisation des bits de mode Configuration mode DS1 avec nmbr of channels CAS = 1 Olb E1 avec nmbr of channels CAS = 1 10b E1 avec nmbr of channels CAS = 2 11 b toutes les autres conditions 00b Zone 9 Régions Alpha et Bêta structure boundary pointer ou pointeur de frontière de structure (bits 15: 4) Ce pointeur est utilisé pour garder trace de l'emplacement courant dans la structure multitrame. Cette valeur doit être initialisée à 00Oh. mask pending ou imminence de masque (bit 3) Ce bit indique qu'un masque binaire sera présent dans les 94 octets suivants. Ce bit doit être initialisé à 1. pointer sent ou pointeur envoyé (bit 2) Ce bit indique qu'un pointeur a été envoyé dans la séquence de cellules courante. Ce bit doit être initialisé à 0. pointer enable ou validation de pointeur (bit 1) Ce bit doit être initialisé à 1. pointer cell ou cellule de pointeur (bit 0) Ce bit indique que la cellule suivante est une cellule de pointeur. Ce bit doit être initialisé à 1. Zone 10 Régions Alpha et Bêta current cas ou CAS courant (bits 15: 8) Il s'agit d'un pointeur sur le tampon circulaire suivant à partir duquel CAS doit être lu. Cette valeur doit être initialisée conformément au tableau qui suit. Initialisation du pointeur de current_cas Région de structure de commande valeur d'initialisation de current bit mask Alpha ODh Beta 37h current tdm ou TDM courant (bits 7: 0) Il s'agit d'un pointeur sur le tampon circulaire suivant à partir duquel TDM doit être lu. Cette valeur doit être initialisée conformément au tableau qui suit. Initialisation du pointeur de current_tdm Région de structure de commande valeur d'initialisation de current bit mask Alpha ODh Beta 37h Zone 1 1 Régions Alpha et Bêta last ou dernier (bits 15: 8) Il s'agit d'un pointage sur le dernier pointeur de tampon circulaire dans la structure de commande. Ce pointeur doit être initialisé conformément au tableau qui suit. Initialisation du dernier pointeur Région de structure de commande valeur d'initialisation de current bit mask Alpha nmbr of channels + OAh Beta nmbr of channels + 36h nmbr of cas ou nbre de CAS (bits 7: 0) Cette valeur représente le nombre d'octets CAS dans la structure multitrame. Cette valeur doit être initialisée comme représenté au niveau du tableau qui suit. Initialisation de la valeur de nmbrofcas Configuration valeur de nmbr of cas mode CAS arrondi par excès de (nmbr of channels/2) mode CCS 0 Zone 12 Régions Alpha et Bêta Unused ou inutilisé (bits 15: 7) Réservé pour des révisions futures. A initialiser à 00Oh. last bit mask ou dernier masque binaire (6 bits) Il s'agit d'un pointeur sur le dernier masque binaire dans la structure de commande. Ce pointeur doit être initialisé conformément au tableau qui suit. Initialisation du pointeur de lastbitmask Région de structure de commande valeur d'initialisation de current bitmask Alpha nbre de masques binaires + 2Bh Beta nbre de masques binaires + 55h Circular buffer pointer space ou espace de pointeur de tampon circulaire circular buffer base ptrX ou pointeur X de base de tampon circulaire (bits 15: 0) Les pointeurs de base de tampon circulaire sont concaténés avec les bits du pointeur de lecture afin de former l'adresse de 22 bits qui est représentée sur la figure 7. Cette valeur est utilisée pour adresser une valeur TDM ou une valeur CAS dans un tampon circulaire particulier. Il y aura un pointeur pour chaque canal dans le VCC. Bit mask space ou espace de masque binaire Ces valeurs sont placées dans les octets de masquage binaire de la cellule. Les contenus de la zone sont établis de manière à se conformer à AF-VTOA-0085.000, Juillet 1997. Les valeurs sont écrites dans la cellule selon un ordre qui commence par la zone 44. Les registres TxSAR seront maintenant listés. Registre de mode de fonctionnement TxSAR de port 0 Adresse: 2000 (en hexadécimal) Etiquette: P0_TXOM Valeur de remise à l'état initial: 0000 (en hexadécimal) Etiquette Position des Type Description bits TCFNG 1: 0 R/WN* Configuration TxSAR 00 TxSAR est invalidé 01 mode UDT mode SDT DBCES 11 mode SDT non DBCES Réservée 15: 2 R/O** Réservée. Lire toujours "0000_0000_0000_00" * RNV = L/E (lecture/écriture) ** R/O = L/S (lecture seulement) Registre de configuration TX_SAR de données Adresse: 2004 (en hexadécimal) Etiquette: TXCFGR Valeur de remise à l'état initial: 0000 (en hexadécimal) Etiquette Position des Type Description bits DTSIZE 1: 0 R/W* Sélection de dimension de tampon de cellules TX_SAR de données 00 16 cellules 01: 32 cellules : 64 cellules 11: 128 cellules DTBASE 10:2 R/WN* Adresse de base de tampon de cellules TX_SAR de données. Ces bits représentent des bits d'adresse 20: 12 de l'adresse de base du tampon de cellules en mémoire externe Réservée 15: 11 R/O** Lire toujours "0000_0" * RNV/W = L/E (lecture/écriture) ** R/O = LUS (lecture seulement) Pointeur d'écriture TXSAR de données Adresse 2006 (en hexadécimal) Etiquette: DTWPR Valeur de remise à l'état initial: 0000 (en hexadécimal) Etiquette Position des Type Description bits DTWP 7: 0 RIW* Pointeur d'écriture TX_SAR de données. Indique le numéro de la structure de cellules dans laquelle la CPU est présentement en train d'écrire (la cellule n'est pas encore valide) Réservée 15: 8 R/O** Lire toujours "0000_0000" * R/W = L/E (lecture/écriture) ** R/O = L/S (lecture seulement) Pointeur de lecture TXSAR de données Adresse: 2008 (en hexadécimal) Etiquette: DTRPR Valeur de remise à l'état initial: 0000 (en hexadécimal) Etiquette Position des Type Description bits DTWP 6:0 R/O** Pointeur de lecture TX_SAR de données. Indique le numéro de la structure de cellules dans laquelle TX_SAR de données est présentement en train de lire. Ce pointeur est mis à zéro lorsque le bit TDSEN dans le registre de commande TX_SAR de données est établi à 0. Réservée 15: 7 R/O** Lire toujours "0000_0000_0" ** R/O = L/S (lecture seulement) Registre de commande TX_SAR de données Adresse: 200A (en hexadécimal) Etiquette: DTCR Valeur de remise à l'état initial: 0000 (en hexadécimal) Etiquette Position des Type Description bits TDSEN O R/N* Validation TX_SAR de données. Lorsque le bit est à 0, le pointeur de lecture est remis à l'état initial à 0000_000 et aucune cellule de données n'est produite. Lorsque le bit est à 1, TX_SAR de données enverra les cellules dans le tampon de cellules. AUTO 1 RNIW* Lorsque le bit est à 1, TXSAR de données produira des cellules lorsque CBR TX_SAR n'est pas occupé. Lorsque le bit est à 0, la génération des cellules de données est commandée par le registre DCGTOR. FMTIE 2 RNV* Validation d'interruption pour tampon de cellules vide. Lorsque le bit est à 1, I'interruption de pour tampon de cellules vide sera affirmée lorsque le tampon de cellules est vide. Lorsque le bit est à 0, cette interruption est masquée. Réservée 15 3 R/O** Lire toujours "0000_0000_ i 0000_0" * R/N = L/E (lecture/écriture) ** R/O = US (lecture seulement) Tableau 2 - Registre de dépassement de temps imparti de génération de cellules de données Adresse: 200C (en hexadécimal) Etiquette: DCGTOR Valeur de remise à l'état initial: 0001 (en hexadécimal) Etiquette Position des Type Description bits DCGP 9: 0 R/W* Ces bits représentent le temps en millisecondes entre des transmissions de cellules de données lorsque TX_SAR de données est dans le mode minuterie. Une valeur de 0000_0000_00 invalidera une transmission de cellules de données. Réservée 15: 10 R/O** Lire toujours "0000_00" * RWAN = L/E (lecture/écriture) ** R/O = US (lecture seulement) Registre d'état TX_SAR de données Adresse: 200E (en hexadécimal) Etiquette: DTSR Valeur de remise à l'état initial: 0000 (en hexadécimal) Etiquette Position des Type Description bits TBMT 0 R/O** Tampon de cellules transmises vide. Ce bit est établi lorsque le pointeur de lecture est égal au pointeur d'écriture et il indique que toutes les cellules dans le tampon ont été envoyées. Réservée 15: 1 R/O** Lire toujours "0000_0000_ 0000_000" ** R/O = US (lecture seulement) L'utilisation de la structure de données de gabarit décrite améliore de façon considérable l'efficacité de la formation de cellules dans un dispositif SAR au niveau de services ATM. REVENDICATIONS 1. Procédé d'assemblage de cellules pour une utilisation dans un réseau de relais de cellules, caractérisé en ce qu'il comprend les étapes consistant à créer une structure de données de gabarit représentant la structure d'une cellule à assembler, à stocker ladite structure de données de gabarit en mémoire et à créer des cellules en retrouvant lesdites structures de données de gabarit et en insérant une information variable dedans. 2. Procédé selon la revendication 1, caractérisé en ce qu'une table de pointeurs stocke l'emplacement desdites structures de données en mémoire. 3. Procédé selon la revendication 2, caractérisé en ce qu'un pointeur séparé est prévu pour chaque canal virtuel dans le réseau. 4. Procédé selon la revendication 1, caractérisé en ce que des pointeurs circulaires commandent quels tampons circulaires sont associés avec un canal virtuel dans ledit réseau. 5. Procédé selon la revendication 4, caractérisé en ce que les pointeurs de tampon circulaire commandent l'ordre selon lequel des données sont placées dans la charge utile de cellule. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ladite structure de données de gabarit est créée par un programme qui est déroulé sur une unité centrale de traitement. 7. Procédé selon la revendication 1, caractérisé en ce que, dans un service DBCES avec une structure multitrame, un redimensionnement de la structure multitrame est mis en oeuvre à l'aide d'un gabarit de cellule DBCES. 8. Procédé selon la revendication 7, pour une utilisation dans un service d'émulation de circuit à bande passante dynamique et à transfert de données structurées ou SDT DBCES, caractérisé en ce que la structure de données DBCES comporte trois régions principales, à savoir une première région qui contient une information qui ne varie pas lorsque la structure multitrame est redimensionnée et deux régions qui contiennent une information qui varie pendant un redimensionnement multitrame. 9. Procédé selon la revendication 1, caractérisé en ce que lesdites cellules sont des cellules de transfert de données non structurées (UDT), des cellules de transfert de données structurées (SDT) ou des cellules à dimensionnement de structure dynamique ou DSS. 10. Dispositif pour assembler des cellules à partir d'un train de données pour une transmission sur un réseau de relais de cellules, caractérisé en ce qu'il comprend: une mémoire (3) qui stocke une structure de données de gabarit qui représente la structure d'une cellule à assembler; et une unité de segmentation (1) pour retrouver ladite structure de données de gabarit à partir de ladite mémoire et pour créer des cellules en insérant une information variable dedans. 11il. Dispositif selon la revendication 10, caractérisé en ce que ladite mémoire (3) est connectée à un microprocesseur (8) qui commande son fonctionnement. 12. Dispositif selon la revendication 10, caractérisé en ce qu'il comprend en outre une table de pointeurs qui stocke l'emplacement desdites structures de données dans ladite mémoire (3). 13. Dispositif selon la revendication 10, caractérisé en ce qu'il comprend en outre des tampons circulaires (6) associés à des canaux virtuels dans ledit réseau et des pointeurs circulaires pour commander quels tampons circulaires sont associés avec quels canaux. 14. Dispositif selon la revendication 10, caractérisé en ce que les pointeurs de tampon circulaire commandent l'ordre selon lequel des données sont placées dans la charge utile de cellule. 15. Dispositif selon l'une quelconque des revendications 10 à 14, caractérisé en ce qu'il comprend en outre une unité centrale de traitement qui est connectée à ladite mémoire (3) et qui commande son fonctionnement. 16. Procédé de formation de cellules ATM, caractérisé en ce qu'il consiste à utiliser des structures de données de gabarit de cellule selon l'une quelconque des revendications précédentes.