Brevet FR2627041A1 — publié le 19890811

Dans les systemes de cartes d'abonnés pour centraux téléphoniques, les circuits utilisés pour relier deux abonnés entre eux assurent une fonction de filtrage numérique à l'aide de circuits numériques de traitement spécialisé appelés ci-après DSP. Le DSP est généralement contrôlé par une horloge faisant partie du central, cette horloge défi- nissant la période de calcul. Avec les architectures existantes, cette horloge est suffisamment rapide pour traiter le calcul correspondant à la connexion de deux abonnés. L'évolution de la technologie permet à l'heure actuelle d effectuer les calculs à grande vi- tesse, mais cet avantage ne peut pas être utilisé dans les architectures existantes. La présente invention a donc pour but de créer une architecture permettant d'utiliser toutes les possibilités des nouvelles technologies de cir- cuits intégrés en terme de vitesse et de partager une unité de traitement de filtre entre plusieurs utilisa- teurs. L'invention a également pour but de créer un système qui permette, pour une surface de silicium légèrement supérieure à celle d'un DSP qui traite une seule voie d'abonné, d'en traiter par exemple huit ou plus. L'invention a donc pour objet un dispositif de traitement de signaux téléphoniques pour la mise en communication de plusieurs abonnés à l'aide d'un cen- tral téléphonique à circuits sur cartes d'abonnés, comportant des dispositifs de traitement de signaux numériques destinés à élaborer des fonctions de fil- trage en vue de la connexion d'abonnés entre eux, caractérisé en ce qu'il comporte associés audit cen- tral téléphonique au moins deux dispositifs de trai- tement de signaux numériques communs chacun à un grou- pe de lignes d'abonnés, connectés chacun d'une part au central téléphonique et d'autre part à un groupe de lignes d'abonnés et destinés à traiter les signaux provenant desdits groupes de lignes d'abonnés corres- pondants en temps partagé afin d'effectuer des calculs de fonctions de filtrage associées aux divers abonnés en fonction de fréquences affectées aux calculs d'éta- ges de filtres destinés à constituer lesdites fonc- tions de filtrage et de la chronologie de réception desdits signaux d'abonnés. L'invention sera mieux comprise à la lecture de la description qui va suivre faite en référence aux dessins annexés donnés uniquement à titre d'exemple et sur lesquels: - la Fig.1 est un schéma montrant la manière dont deux abonnés sont reliés par un central télépho- nique classique à cartes d'abonnés; - la Fig.2 est un schéma montrant la façon de partager un processeur numérique de signal d'une carte de circuit d'un central téléphonique, entre plusieurs lignes d'abonnés; - la Fig.3 est une représentation schémati- que de la fonction de filtrage en ce qui concerne la partie numérique de partage de l'utilisation du processeur numérique de signal; - la Fig.4 est une représentation schémati- que d'un filtre à réponse impul'sionnelle finie FIR mis en oeuvre dans la présente invention; - la Fig.5 est un schéma synoptique de l'ar- chitecture intrene d'un processeur numérique de signal permettant d'assurer la fonction de calcul du filtrage et de traiter le séquencement de ce calcul pour un groupes d'abonnés; - la Fig.6 est un schéma synoptique de l'u- nité centrale de traitement et des mémoires associées à celle-ci, entrant dans la construction du processeur numérique de la Fig.5; - la Fig.7 est un schéma analogue à celui de la Fig.4, d'un filtre FIR à quatre coefficients ou étages; - la Fig.8 est un chronogramme des opéra- tions de calcul du fitlre de la Fig.7; - la Fig.9 est un schéma synoptique détaillé du processeur d'adresses du dispositif de la Fig.5; - la Fig.10 est un schéma synoptique de la mémoire CROM entrant dans la construction du proces- seur numérique de signal de la Fig.5; - la Fig.11 est une représentation d'une trame de trente deux intervalles de temps et montre en détail le contenu d'un intervalle de temps; - la Fig.12 est un chronogramme des. calculs correspondant à un échantillon IT d'une trame; - la Fig.13 est un diagramme représentant un exemple de séquence de calcul d'échantillons; la Fig.14 est un schéma synoptique partiel du séquenceur qui fait partie du dispositif de la Fig,5; - la Fig.15 est un schéma synoptique du syn- chroniseur faisant partie du dispositif de la Fig.5; - les Fig.16a à 16c sont des chronogrammés représentant l'incidence de la position des interval- les de temps IT sur le délai de propagation de groupe des filtres numériques; - la Fig.17 est un schéma représentant la liaison d'un poste d'abonné à un dispositif de traite- ment de signaux numériques élaborant une fonction de 2 6 2 7041 filtrage correspondante; - la Fig.18 est un schéma de la technique de calcul en mode différé par rapport à la capture des échantillons mis en oeuvre seion un autre mode de réalisation de l'invention; - la Fig.19 est un schéma synoptique de l'u- nité centrale de traitement faisant partie d'un autre mode de réalisation du dispositif de traitement sui- vant l'invention; - la Fig.20 est une représentation schémati- que d'un filtre calculé par l'unité centrale de trai- tement de la Fig.19, aux bornes duquel sont associées des piles d'autant de registres qu'il y a de voies traiter; - la Fig.21 montre un algorithme de calcul des divers constituants de filtres, par le dispositif suivant l'invention dans lequel est appliquée la tech- nique de calcul simultané de plusieurs filtres; - la Fig.22 est un schéma montrant le cir- cuit d'un dispositif numérique de traitement de si- gnaux destiné au calcul simultané de huit voies; - la Fig.23 est un schéma représentant les échanges des échantillons à traiter entre les lignes et le central téléphonique; - la Fig.24 est un schéma synoptique du sé- quenceur et du synchroniseur du dispositif de la Fig.22; - la Fig.25 est un diagramme illustrant le fonctionnement du circuit de la Fig.24; - la Fig.26 représente l'organisation de la partie du circuit de la Fig.22 destinée à commander la mémoire CROM; - la Fig.27 est un schéma représentant le processeur d'adresse du dispositif de la Fig.22; - la Fig. 28 est un diagramme représentant l'entra nement des microcodes de la mémoire CROM; - la Fig.29 est un diagramme représentant une séquence de changement d'un microcode; et - la Fig.30 est un diagramme en fonction du temps représentant l'exécution successive des micro- codes dans le dispositif décrit en référence aux Fig.22 à 29. Le schéma de la Fig.1 est un schéma classi- que de connexion entre deux lignes d'abonnés 1 et 2,À Chaque ligne d'abonné 1 et 2 est reliée à un interface de ligne I/L correspondant 3,4. Chaque interface est relié à un processeur de signal numérique 5.6. Chaque processeur de signal numérique ou DSP assure le filtrage et la transformation du signal de sortie de l'interface 3,4 correspondant, en signal nu- mérique. Les processeurs 5,6 sont à leur tour reliés à un central téléphonique 7 qui délivre sur une de ses sorties 8 un signal d'horloge à 2 MHz constituant le signal de commande des processeurs de signal numérique et 6. Ce signal d'horloge peut être parfois plus rapide mais sa fréquence est dans tous les cas insuf- fisante pour permettre d'utiliser au maximum les pos- sibilités de vitesse des architectures actuelles des processeurs DSP. Afin d'augmenter. la vitesse de traitement et de pouvoir par conséquent partager chaque DSP entre plusieurs lignes d'abonnés, une solution suivant l'invention consiste à utiliser une horloge locale rapide. Un agencement mettant en oeuvre cette solu- tion est représenté à la Fig.2. L'installation représentée sur cette figure comporte deux groupes 10 et 11 de plusieurs lignes d'abonnés 1Oa à 1On et 11a à 11n connectées par l'in- termédiaire de circuits d'interfaces correspondants 13a à 13n, 14a à 14n à des processeurs DSP 15,16 com- muns à chaque groupe de lignes. Les DSP 15 et 16 sont à leur tour reliés à- un central téléphonique 17 et sont commandés par une horloge locale 18. Les échantillons qui transitent entre chaque DSP 15,16 et le central 17 sont à une fréquence de par exemple 8 KHz, mais ils sont synchrones de l'horloge à 2 MHz du central 17. Vu du central, le traitement doit être syn- chrone avec la fréquence de 2 MHz du central. A cet effet, il est possible: a) de générer un signal d'horloge local rapide à partir du 2 MHz au moyen d'un système à verrouillage de phase PLL, b) de traiter l'information avec l'horloge locale et de resynchroniser les résultats des calculs sur la fréquence d'horloge du central téléphonique. La première solution qui utilise un système à verrouillage de phase est certainement la plus sim- ple à réaliser au niveau de l'architecture, car elle permet de partager le calcul par une méthode synchro- ne, Cependant, pour augmenter la fréquence d'horloge de 2 MHz à 32 MHz par exemple, il faut dis- poser d'un système à verrouillage de phase PLL qui est pratiquement irréalisable aux fréquences précitées en utilisant les nouvelles technologiques CMOS 1/f. La seconde solution consiste à utiliser une horloge locale sans relation de phase avec l'horloge du central et à résoudre les problèmes du partage des DSP et de la restitution synchrone des échantillons des signaux par une circuiterie adaptée qui sera dé- crite par la suite. Cependant, avant de décrire en détail les circuits mettant en oeuvre cette seconde solution, on va décrire en référence à la Fig.3, la fonction de calcul qui doit être réalisée dans le DSP pour effec- tuer le filtrage. La Fig.3 montre la fonction de filtrage à réaliser en ce qui concerne uniquement la partie numérique qui va partager l'utilisation du DSP. Le filtre représenté sur cette figure fait partie de l'un des DSP 15 et 16 et comporte deux connexions NE, NS 20,21 reliées au central 17 et deux connexions AE, AS 22,23 reliées à des convertisseurs analogique-numérique ou numérique-analogique, (non représentés) qui font partie des circuits d'interface 13a à 13n et 14a à 14n (Fig.2). Ce filtre comprend tout d'abord un bloc de compression 24 et un bloc d'expansion 25 connectés au central téléphonique. Par exemple, chaque échantillon E appliqué à la borne 21 en provenance du central et ayant une fré- quence de 8 KHz est transformé en un signal numérique - de 8 à 14 ou 16 bits selon une loi de compression con- nue sous le nom de loi A ou loi A. Il en est de même pour la compression dans le sens inverse. Chaque échantillon décompressé de la voie de réception est traité par des filtres numériques LP 26, R 27 et I 28 qui augmentent la fréquence d'échantil- lonnage de 8 KHz à 32 KHz. Le filtre LP 26 est du type à réponse impul- sionnelle infinie (Infinite Impulse Response) IIR ou du type récursif. La voie de réception comporte en outre un filtre GR 29 intercalé entre les filtres 26 et 27. La voie de transmission comporte un filtre X 30, un filtre GX 31 et un filtre BP 32 connectés dans cet ordre entre un sommateur 33 et le compresseur 24. Le filtre BP 32 est du type IIR ou récursif comme le filtre LP de la voie de réception. Tous les autres filtres sont du type FIR à réponse impulsionnelle finie. La voie de transmission comporte de plus un filtre D 34 connecté entre le sommateur 33 et la borne 22 tandis que la voie d'émission comporte un sommateur connecté entre le filtre I 28 et la borne 23. Entre les voies de transmission et de recép- tion sont interposés un filtre B 36 connecté entre l'entrée du filtre I 28 de la voie de réception et le sommateur 33 de la voie de transmission et un filtre Z 37 connecté entre l'entrée du filtre D 34 de la voie de transmission et le sommateur 35 de la voie de ré- ception. Sur la Fig.4, on a représenté schématique- ment un filtre FIR à réponse impulsionnelle finie, défini mathématiquement par la relation: X(n-(N-1).h(N-1)+.....+X(n-2).h(N-2)+ X(n-1).h(N-1)+Xn. ho = Yn N étant le nombre de coefficients du filtre et n étant l'ordre chronologique des échantillons de signal à traiter, dans laquelle Xn est l'échantillon d'entrée du filtre, X(n-1)..., X(n-(N-1) sont les échantillons qui ont été reçus durant les calculs précédents. L'échantillon Xn est mutliplé par son coef- ficient ho dans un multiplieur 40 et le résultat est placé dans un accumulateur 41. L'échantillon Xn-1 -reçu au cours du cycle précèdent est multiplié par un coefficient h(N-1) dans un multiplieur 40 correspondant et le résultat est ajouté au résultat du calcul de Xn ho dans un accumu- lateur 41 correspondant. * Les échantillons précédents sont combinés à hoXn de la même manière jusqu'à l'échantillon le plus ancien X(n-(N-1) qui est multiplié par son coefficient h(N-1), le résultat étant ajouté à la somme des échan- tillons précédents. Yn est donc la valeur contenue dans le der- nier accumulateur 41 du filtre FIR de la Fig.4. On constate qu'avec ce procédé, à chaque calcul de filtre, il faut faire N cycles identiques comprenant chacun une multiplication, une accumulation et un décalage d'échantillon dans un circuit à-retard 42 associé. Le tableau 1 ci-après donne le nombre de coefficients de chacun des filtres du circuit de la Fig.3. TABLEAU 1 8 KHz LP BP ________________________________________-_______________ 16 KHz GR R B D+ X GX ________________________________________________________ 32 KHz I Z+ à_______________ Nb coef 13 4 5 4 8 5 4 18 ________________________________________________________ Le calcul d'un filtre à réponse impulsion- nelle infinie IIR peut être décomposé en celui de deux filtres FIR à réponse impulsionnelle finie avec les équations suivantes. d(n) = xn + d (n-1) -al + d(n-2) a2.... Y(n) = dnbo + d(n-1) bl + d(n-2) b2.... dans le schéma de la Fig.3. Dans ces équations: dn, dn-1, dn-2 sont des valeurs calculées pour chaque nouvelle valeur de x(n). al, a2, bl, b2 sont les coefficients des divers étages du filtre. Un échantillon qui est reçu du central est traité par le filtre LP 26 qui génère un résultat Yn (LP), L'amplitude de cet échantillon est traitée par la fonction GR, ce résultat étant utilisé par le filtre R en tant que nouvel échantillon Xn (R) à trai- ter et ainsi de suite. L'architecture du processeur numérique de signaux DSP qui permet de réaliser cette fonction et de traiter le séquencement du calcul des filtres pour plusieurs abonnés va maintenant être décrite en réfé- rence à la Fig.5. Le DSP représenté sur cette figure comprend: - un bloc 45 I/O d'entréesortie qui ne fait pas réellement partie de l'invention et qui assure la transformation des échantillons numériques en analogi- que et vice-versa pour contrôler l'interface analogi- que (Fig.2). - un compresseur-expanseur 46 qui est parta- gé par les différentes voies et qui permet de réaliser la connexion du DSP avec le central. - un séquenceur 47 contrôlé par l'horloge du central et par des signaux de commande qui définissent la position des échantillons des.différentes voies dans une période de 8 KHz. - un synchroniseur 48 associé au séquenceur 47 et recevant de celui-ci des ordres de calcul'des différents filtres pour chacune des voies. Le synchroniseur 48 reçoit des ordres de calcul, les synchronise par rapport à une horloge de calcul de 32 MHz et génère un point d'entrée dans une mémoire CROM 49 qui fait partie du DSP 50 proprement dit, lorsqu'un calcul en cours est terminé. La CROM 49 est reliée à son tour à une unité centrale de traitement CPU 51 qui est en communication avec une mémoire RAM de données 52 et une mémoire RAM/ ROM 53 de coefficients. La CROM 49 est en outre reliée à un proces- seur d'adresses 54 de gestion des mémoires de données et de coefficients 52 et 53. La CPU 51, les mémoires 52, 53 et le proces- seur d'adresses 54 font partie avec la CRQM 49 du DSP 50. Le point d'entrée généré par le synchroni- seur 48 donne l'adresse d'un premier microcode d'une séquence de microcodes correspondant à un calcul de filtre. La. CPU 51 est contr6lée par les bits de microcodes. Suivant la configuration des bits, différentes opérations peuvent être réalisées par l'unité centrale de traitement 51. La mémoire RAM de données 52 contient les N échantillons correspondant à chaque filtre et la mé- moire de coefficients 53 contient les coefficients correspondant au calcul des N étages d'un filtre. Le processeur d adresses 54 gère les adres- ses des données et des coefficients pour le calcul de chaque filtre. Il sélectionne les adresses auxquelles sont situées les données et les présente à la CPU 51 dans l'ordre requis pour effectuer le calcul corres- pondant aux équations énoncées plus haut. On va maintenant décrire plus en détail cha- cun des blocs entrant dans la construction du DSP 50. L'unité centrale de traitement ou CPU 51 et les mémoires de données et de coefficients 52,53 sont représentées sur le schéma détaillé de la Fig.6. L'unité centrale de traitement 51 est subdi- visée en une portion 51a de lecture, une portion 51b de multiplication et une portion 51c d'accumulation conformément au schéma du filtre représenté à la Fig. 4. On a vu en référence à cette dernière que pour effectuer un calcul de filtre, il faut, pour chaque étape de calcul, une multiplication suivie d'une addition avec le résultat précédent. Le choix pour la CPU s'est donc porté sur une architecture pipeline qui comprend trois étapes: 1) Lecture d'une donnée et d'un coefficient dans les mémoires 52 et 53. 2) Multiplication de la donnée par le coef- ficient. 3) Sommation du résultat avec le résultat précédent. A cet effet, la portion de lecture 51a de la CPU 51 comporte un bus de données 55 et un bus de coefficients 56 reliés respectivement aux mémoires 52 et 53, Le bus de données 55 est par ailleurs relié par l'intermédiaire d'un registre à décalage 57 à une entrée d'un multiplieur 58. tandis que le bus de coef- ficients 56 est relié par l'intermédiaire d'un regis- tre à décalage 59 à une autre entrée dudit multiplieur 58. Le bus de données 55 est en outre relié par l'intermédiaire d'un multiplexeur 60 également relié au bus de coefficients 56 à l'entrée d'un registre 61 dont la sortie est reliée par l'intermédiaire d'un multiplexeur 62 à une entrée A d'une unité arithméti- que et logique 63 commandée par la CROM 49 (Fig.5). La sortie du multiplieur 58 est reliée par J 'intermédiaire d'un registre 64,-d'une logique de co- dage 65 et d'un multiplexeur 66 également relié -au re- gistre 61 à une seconde entrée B de l'unité arithmé- tique et logique 63. La sortie de l'unité arithmétique et logique ALU 63 est connectée à l'entrée d'un accumulateur 67 dont la sortie est d'une part connectée à une entrée du multiplexeur 62 et d'autre part relié par l'inter- médiaire d'un registre à décalage 68 et d'un multi- plexeur 69. au bus de données 55 et au bus de coeffi- cients 56 et par conséquent à la mémoire de données 52 et à la mémoire de coefficients 53. Pour expliquer le fonctionnement de cette partie du dispositif de l'invention, on va se référer au schéma de la Fig.7 qui représente un filtre à qua- tre coefficients ainsi qu'au chronogramm-e de la Fig.8 * représentant les opérations correspondantes à effec- tuer. Le début du calcul du filtre est déterminé par le point d'entrée de la CROM 49 (Fig.5) qui change en I sur la Fig.8. Le point d'entrée est sélectionné par le synchroniseur 48 (Fig.5) qui sera décrit par la suite. 262704 1 La première opération consiste à remettre à zéro et à maintenir à zéro l'accumulateur 67 durant deux cycles indiqués par II sur la Fig.8. Durant le premier cycle III, l'échantillon le plus ancien est lu dans la mémoire de données 52 et le coefficient correspondant est lu dans la mémoire de coefficients 53. La valeur x(n-3) du filtre de la Fig.7 est chargée dans le registre 57 par le signal d'horloge 70 et le coefficient h3 est chargé dans le registre 59 par ce même signal d'horloge 70. Lors du cycle suivant représenté par IV sur la Fig.8, le multiplieur 58 effectue l'opération x(n-3) x h3 et le résultat est placé dans le registre 64 sous la commande du signal d'horloge 70. Le résul- tat est éventuellement codé par la logique 65 sous la commande de bits de microcode 71 provenant de la CROM 49. Durant le cycle suivant désigné par V sur la Fig.8, le résultat de la multiplication est placé sur l'entrée B de l'ALU 63 et l'accumulateur 67 est mis en relation avec l'entrée A de celle-ci. La CROM 49 (Fig.5) délivre à l'ALU 63 des signaux 72 de sélection de la fonction A + B de sorte que l'ALU effectue l'addition des valeurs appliquées à ses entrées A et B. Le résultat de cette addition est placé dans l'accumulateur 67. Celui-ci étant maintenu à zéro du- rant les cycles III et IV, le résultat x(n-3) x h3 + O est placé dans l'accumulateur 67. Selon le même processus, au cours des cycles désignés par IIIb, IIIc et IIId sur la Fig.8, les échantillons de données et de coefficients correspon- dant aux autres termes du calcul du filtre, sont lus 2627041- dans les mémoires 52,53 correspondantes. Les données et les coefficients sont multi- pliés entre eux durant les cycles IVb, IVc et IVd et accumulés durant les cycles Vb, Vc et Vd dans l'accu- mulateur 67. A la fin du calcul du filtre FIR à quatre coefficients de la Fig.7, le résultat Yn est disponi- ble dans l'accumulateur 67. Un signal 79 issu du processeur d'adresse 54 (Fig.5) et appliqué à la CROM 49 indique la fin du calcul et permet de sélectionner un nouveau microcode dans la CROM 49 pour effectuer le transfert dans la mémoire de données 52 du résultat Yn contenu dans l'accumulateur 67. Durant le cycle désigné par VIII sur la Fig.8, le contenu de l'accumulateur 'est placé sur le bus de données 55 puis transféré dans la mémoire de données 52 sous le contrôle du processeur d'adresses 54. Le processeur d adresses 54 va maintenant être décrit en référence à la Fig.9. Le rôle du processeur d'adresses est de gérer une zone de mémoire dont la taille dépend du nombre de coefficients du filtre à calculer, en tampon circulaire. Les deux mémoires de données et de coeffi- cients 52 et 53 peuvent avoir leur propre processeur d'adresses. Le processeur d'adresses 54 reçoit de la CROM 49 - l'adresse 75 de registre d'index qui sé- lectionne l'un des 16 registres de quatre bits d'une pile 76. - le nombre 77 de cycles de calcul à effec- tuer correspondant au nombre de coefficients du fil- tre. - l'adresse de base 78 de la zone de mémoire utilisée pour les données ou les coefficients. 5. Le processeur d'adresses génère: - un signal de fin de calcul EOC 79 une adresse 80 d'accès i la mémoire de données 52 ou à la mémoire de-coefficients 53. Le processeur d'adresses 54 comprend la pile de registres d'index 76, un soustracteur à quatre bits 81, relié à la pile de registres 76 et à un multiple- xeur 82 lui-même relié à la pile de registres 76 et permettant de sélectionner soit la sortie du soustrac- teur 81,soit le nombre de cycles 77 sous la commande d'un circuit logique 83 qui détecte la valeur zéro sur un bus 84 reliant la pile de registres 76 à un addi- tionneur 85, et un décompteur 86 qui gère le signal EOC 79 de fin de calcul. Le fonctionnement du processeur d'adresses 54 est le suivant. On suppose que le processeur d'adresses gé- nere une séquence d'adressage pour le cas d'un filtre FIR à quatre coefficients du type représenté à la Fig.7. Par exemple, la configuration suivante est sélectionnée. - Registre d'index sélectionné adresse 0. Les quatre bits du champ 75 sont à zéro. - Il y a quatre coefficients dans le filtre à calculer, le champ de bits 77 est égal à O0 11. - L'adresse de base 78 est 1000 soit > 8 en hexadécimal. A l'initialisation du circuit, le registre d'index d'adresse "O" de la pile 76 a été chargé avec la valeur 3. Au début du cycle de calcul, le décompteur 86 est chargé avec la valeur du nombre 77'de cycles à exécuter issu de la CROM 49 (Fig.5). Le contenu du registre d'index sélectionné est placé sur le bus 84 et avec -l'adresse de base 78 issue de la CROM 49 génère la première adresse 80 d'accès à la mémoire de donénes 52 ou à la mémoire de coefficients 53, à l'aide de l'additionneur 78. L'adresse de lecture est A = 1000 +I = 0011 Selon le processus décrit précédemment, la donnée située à cette adresse est placée dans le re- gistre 57 de la CPU et pour le coefficient dont l'a- dresse est générée par un système identique, (non représenté) dans le registre 59 (Fig.6). Durant l'accès aux mémoires, la valeur de l'index est traitée par le processeur d'adresse 54. I = I-1, la valeur 2 obtenue à la sortie du soustracteur. 81 est rechargée dans le registre d'in- dex. Le décompteur 86 est décrémenté. D.urant ce cycle, le processeur d adresses a généré les adresses d'accès à l'échantillon xn-3 et au coefficient h3. Durant les deux.cycles suivants l'index est égal à 2, puis à 1 et permet d'accède-r aux échantil- ions xn-2 et xn-1 pour les multiplier par les coeffi- cients h2 et hl. Au quatrième cycle I=0. Le décompteur est aussi à zéro. Il génère le signal EOC qui va arrêter la séquence de calcul et permettre de sélectionner le prochain microcode de transfert du résultat Yn dans la mémoire de données 52. Durant le dernier accès à l'échantillon xn, la logique de test 83 détecte un état zéro sur le bus 84 et génère un signal de commande du multiplexeur 83 qui permet de recharger dans le registre d'index cor- respondant de la pile 76, la valeur du nombre de cy- cles 77 au lieu de celle sortant du soustracteur 81. Enfin de calcul, le contenu du registre d index est égal à 3. Généralement une fonction globale de filtra- ge est effectuée en plusieurs étapes comme l'indique la Fig.3. Par exemple, l'échantillon xn du filtre R27 provient du résultat du calcul de GR 29. En fin de calcul GR va placer son résultat qui deviendra le prochain échantillon xn pour le cal- cul suivant.. Comme xn-3 est l'échantillon le plus ancien, le nouvel échantillon xn prend sa place dans la mé- moire et xn-2 devient xn-3, xn-1 devient xn-2, etc... Ainsi qu'on vient de le constater, le calcul se termine avec I=3. L'index est donc positionné cor- rectement pour la phase d'écriture de l'échantillon xn dans la zone de mémoire. Durant ce transfert, I est décrémenté et pointe sur la position 2 qui correspond pour le prochain calcul, à l'échantillon xn-3. On voit donc qu'il y a d'abord une recircu- lation de l'index de la valeur 3 à 0, puis un glisse- ment de l'adresse'de xn qui permet automatiquement de gérer la pile des échantillons. La mémoire CROM 49 génère tous les signaux de contràle de la CPU 51 et du processeur d'adresses 54. Elle génère aussi des signaux qui permettent Z627041 d'exéc'uter une suite de-microcodes pour réaliser par exemple une 'séquence de calcul suivie d'un transfert de résultat. La Fig.10 montre le schéma de la CROM 49 qui comprend, un bloc de mémoire de 48 microcodes à 48 bits 90, un bloc de décodage 91 permettant de sélec- tionner un des microcodes, une logique de sélection 92 qui permet de choisir le prochain microcode à éxécuter en fonction de signaux de sélection 93. La logique 92 est connectée au synchroniseur 48 (Fig.5) par une voie 94. Elle comporte en outre une entrée 95 de signal de drapeau et une entrée d'adresse 96 par laquelle elle est connectée au bloc de mémoire 90. Une séquence de microcode est-effectuée de_ la façon suivante. Le champ d'un microcode est représenté comme suit.. Mx A CPU Processeur Ad LEEEY5i ' 3- 2 1] 2 -- -- A__-__- Ce champ de microcode comprend les bits de commande des processeurs d'adresses 54, les bits de commande de la CPU 51 et deux champs d'adresses réservés au séquencement des microcodes. Lorsque Mxl-0 est égal à zéro, les adresses E5 à EU sont utilisées pour sélectionner le prochain microcode. Lorsque Mxl-0=l, le choix du microcode s'ef- fectue par les entrées E5 à E0 et par le signal EOC qui'permet de choisir E E4E3E2 E1 0 si EOC 0 ou EsE E1 Isi EOC =1 4 1 Ainsi, suivant le signal EOC issu du pro- cesseur d'adresse 54, une séquence de calcul qui se termine par EOC peut entraîner un cycle de transfert du résultat utilisant un autre microcode. Lorsque Mx1-0=2, les deux bits de poids faible EO et E1 sont remplacés par AO et A1 issus de la CROM 49. Enfin, lorsque Mx1-0=3, les six bits AS à AO de sortie de la CROM sélectionnent l'adresse du pro- chain microcode à exécuter. On suppose que l'on veuille exécuter la sé- quence de calcul sur quatre coefficients suivie d'une sauvegarde du résultat. Lorsque le système est en atente, le point d entrée est à zéro. Les signaux Mxl-O=O ce qui fait qu'à chaque cycle, le microcode sélectionné est à l'adresse "000000". Ce microcode n'effectue pas d'o- pérations dans la CPU 51 et dans le processeur d'a- dresses 54. Mx A ---;--------- -----_ t_ T_ __ _l _j__l | JNO V|NOP I -;---- --- ------;--- P// EOC 000 -- ---- x--- - -- --- -- ----- ----- 00 1 X X X X X X CALC ADRESS 001010 - ----- - - -- 1 1 1 0 0 0 0 0 0 TRANSF. ADRESSE O 0 1 0 1 0 Lorsque le synchroniseur 48 demande une sé- quence de calcul, il génère l'adresse du premier mi- crocode qui contient les bits permettant de gérer la CPU 51 et le processeur d'adresses 54. Mxl-0=1. Le bit le moins significatif LSB du point d'entrée est remplacé par le signal EOC Tant que EOC est égal à zéro, le calcul continue et les échantillons sont extraits de la mé- moire puis traités selon le processus décrit précé- demment. En fin de calcul, EOC = 1 sélectionne le microcode situé à l'adresse suivante du point d'en- trée. Il contient les codes permettant de contrôler le transfert du résultat du calcul à l'adresse choisie. Mx=3 permet de retourner à l'adresse "000000" et d'at- tendre le prochain calcul. On va maintenant décrire plus en détail le séquencement des opérations de filtrage et la façon d'utiliser l'architecture suivant l'invention pour augmenter sa puissance de calcul et permettre de trai- ter plusieurs voies d'abonnés.. Aux entrées et aux sorties du central télé- phonique, les données se présentent sous la forme d'échantillons de 8 bits chacun avec une fréquence de 8 KHz. Comme représenté à la Fig.11, chaque échan- tillon forme un intervalle de temps IT. La fréquence des bits étant de 2,048 MHz, l'intervalle dure 3,9,4s. Une trame contient 32 IT et dure 125 /As (8 KHz). Cha- que intervalle de temps IT correspond à un échantillon pour un abonné. Lorsque le processeur de signaux numériques DSP reçoit une trame, il doit connaître la position de l'intervalle IT à traiter et ensuite effectuer la fonction de filtrage pour générer un signal analogi- que. De même, les échantillons analogiques reçus sont transformés en numérique puis traités par le DSP pour être restitués dans la trame sortante à une posi- tion d'intervalle IT définie par le central. Les échantillons numériques échangés avec le central correspondant aux connexions NE et NS de la Fig.3 ont une cadence de répétition de 8 KHz soit une fois par trame. Du côté de la ligne, les échantillons sont. échangés sur les bornes AE et AS à une fréquence de 32 KHz pour être traités par des filtres de décimation pour AE et d'interpolation pour AS. La borne AE 22 est reliée à un convertisseur numérique-analogique et la borne AS est reliée à un convertisseur analogique-numérique. Dans la chaine de filtrage de NE à AS, le filtre LP26 fonctionne à 8 KHz, c'est à dire qu'il n'y a qu'un seul calcul dans une trame (Fig.11). Les filtres GR 29, R 27 et B 36 fonctionnent à 16 KHz, de sorte qu'il y a deux calculs par trame et Je filtre I 28 fonctionne à 32 KHz et effectue donc quatre calculs par 'trame. Dans la chaîne de filtrage allant de AE vers NS, le filtre Z 37 fonctionne à 32 KHz, les filtres D 34, X 30 et GX 31 fonctionnent à 16 KHz et le filtre BP 32 fonctionne à 8 KHz. Par rapport à la position des échantillons NS ou NE dans la trame, il y a donc des calculs à 8, 16 et 32 KHz qui doivent être répartis dans la trame. On va donc examiner la manière dont sont répartis les calculs dans une trame en fonction des fréquences et des filtres. Le tableau 2 ci-après montre comment les différents calculs de filtres sont regroupés en fonction des fréquences et les temps de calcul en fonction du nombre de coefficients. Les calculs pour le filtre représenté à la Fig.3 sont regroupés en six catégories. 1. LP Fréquence 8 KHz, durée 1140 ns 2. GR+R Fréquence 16 KHz, durée 720 ns 3. I+Z+l Fréquence 32 KHz, durée 720 ns 4. B+D+E Fréqeunce 16 KHz, durée 960 ns 5. X+6x Fréquence 16 KHz, durée 660 ns 6. BP Fréquence. 8 KHz, durée 1320 ns TABLEAU 2 -........................ 8 KHz LP BP ____________________________________________________________ 16 KHz 6R R B+D+ ú X 6X 32 KHz I+Z+ E Nb coeff 13 4 5+4 8+5 4.18 15........__...__.................................... Nb/Codes 4 2 3 3 3 2 2 4 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _- -__ _ _ _-__ _ _ _ __-- - -... _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Nb Cycles 19 4 8 12 16 7 4 22 Temps (ns) 1140 240 480 720 960 420 240 1320 20....L;;.. 1 2 3 4 5 6 La durée d'un cycle est TC = 60 ns. Comme le montre la Fig.12, lorsque l'échan- tillon de l'intervalle de temps IT5 est reçu pour traitement, la demande de calcul à 8 KHz déclenche un calcul ou séquence correspondant aux filtres 1 à 6 du tableau 2 ci-dessus.. La durée de ce calcul est de 5520 ns. Apres un quart de trame, soit 31,25 s, le calcul 3 effectue le filtrage à 32 KHz. De même, à mi-trame, c'est à dire au bout de 62,5 s, les calculs 2 à 5 sont effectués pour le filtrage 16 KHz et enfin reste à 93,75 s un calcul à 32 KHz avec la séquence 3. On voit donc que les calculs correspondant à un échantillon ou un intervalle de temps IT sont ré- partis dans le temps à des positions correspondant aux fréquences de filtrage. On voit aussi que le temps de calcul pour un abonné utilise seulement une partie de la puissance de calcul de la CPU soit 10,2., s toutes les 125. s. Il y a donc un potentiel de calcul corres- pondant à 125/10,2 = 12 abonnés avec les temps de cy- cle machine que permet la technologie d'intégration actuelle. On va donc voir comment peut s'effectuer le partage de la puissance de calcul par plusieurs abon- nés sachant que certains calculs sont plus critiques du fait du temps de réaction court que nécessite le bon fonctionnement du système. On voit sur la Fig.3, que deux filtres Z et B 37 et 36 relient les branches de réception et de transmission. La boucle contenant le filtre Z est déter- minante car elle est utilisée pour l'adaptation d'im- pédance de la ligne. Son temps de réaction doit être court pour éviter les oscillations. Il en est de même pour le filtre B qui est la balance entre l'émission et la réception. Si son temps de réaction est trop l'ong, il y a des risques d'écho. Les calculs des filtres Z et B sont donc prioritaires et la demande de calcul correspondante doit éventuellement interrompre une chaine de calcul trop longue. * Un exemple de séquence de calcul va mainte- nant être décrit en référence à la Fig.13. Lorsque l'échantillon 1 est présent, une demande de calcul Ri correspondant au filtrage à 8 KHz 26270 41 est générée par le séquenceur 47 (Fig.5). Il n y a pas de calcul en cours, donc le cy- cle de calcul 1 à 6 est déclenché. L'échantillon 2 est présenté après un inter- valle de temps IT de 3,9/t.s. Le calcul précédent n'étant pas terminé, la demande de calcul R2 ne peut être exécutée immédiate- ment puisque R1 est antérieur, avec un niveau de prio- rité identique. Lorsque l'échantillon 7 arrive, il n'y a pas de calcul en cours. La demande R3 à 8 KHz est exécutée immédiatement. A l'apparition de l'échantillon 8 correspon- dant à la quatrième voie à traiter et au quart de la trame 32 IT, il y a deux demandes de calcul se présen-- tant au même instant: - la demande de calcul à 32 KHz de la ligne i et la nouvelle demande R4 à 8 KHz. Le calcul à 32 KHz étant prioritaire, la de- mande R1 interrompt le calcul de la ligne 3 à la fin du calcul correspondant au filtrage 5 soit 4200 ns après l'apparition de l'échantillon 7. Lorsque le calcul de la ligne 1 est terminé, celui de la ligne 3 continue puisque la demande R4 à 8 KHz est postérieure, Le même cas se présente à l'échantillon sui- vant; le cycle de calcul de la ligne 4 est interrompu par le calcul à 32 KHz de la ligne 2. La règle de priorité est la suivante. Les ordres de priorité en fonction des fré- quences de calcul sont: 1) Calcul à 32 KHz (3) 2) Calcul à 16 KHz (2 à 5) 3) Calcul à 8 KHz (1 à 6) Lorsque deux demandes ou plus de même prio- rité sont en conflit, la demande la plus ancienne a la priorité. Lorsqu'un calcul doit être interrompu, il ne peut l'être qu'à la fin d'une séquence complète 1,2,3, 4 ou 5. La position des intervalles de temps IT1 à IT4 est déterminée par le central téléphonique par l'intermédiaire d'un système de gestion non représen- té. Le séquenceur 47 (Fig.5) qui reçoit ces si- gnaux IT1 à IT4 et les signaux d'horloge à 2 MHz du central a pour rôle de générer les demandes de calcul pour chaque fréquence de filtrage, les demandes étant reportées dans le temps sur la durée d'une trame comme le montrent les Fig,12 et 13. Les demandes correspondant à un abonné sont générées par un compteur 100 et un décodeur 101 qui font partie du séquenceur 47 représenté à la Fig.14. Le décodeur 101 est initialisé par le signal IT correspondant. Il décompose chacune des demandes en ses éléments à 8, 16 et 32 KHz. Les demandes R4 à R1 après avoir été décom- posées en leurs éléments par le séquenceur 47 sont transmises au synchroniseur 48 qui a pour râle de les enregistrer, de gérer les priorités et de mettre en attente des calculs moins prioritaires. Ainsi qu'on peut le voir sur le schéma de la Fig.15, les demandes R4.8 à R1.8 initialisent chacune un diviseur par six 102a à 102d qui permet de générer les points d'entrée de la CROM 49 (Fig.5) correspon- dant aux calculs 1 à 6. Les demandes R4.16 à R1.16 initialisent cha- cun un diviseur par quatre 103a à 103d qui permet de générer les points d'entrée de la CROM 49 correspon- dant aux calculs 2 à 5. Les demandes R4.32 à R1.32 initialisent cha- cun une bascule 104a à 104d pour les calculs 3 à 32 KHz. Sur le schéma de la Fig.15, la voie la plus prioritaire est la voie R1.32 et la moins prioritaire est la voie R4.8, cette priorité étant établie comme indiqué plus haut, d'une part, par la fréquence du calcul à effectuer et d'autre part, par la chronolo- gie d'apparition des échantillons. On suppose qu'une demande est enregistrée par la bascule 104d. Le signal S2 provenant de la sortie de la bascule 104d autre que celle connectée au décodeur 107d va être appliqué aux bascules 104a à 104c et aux diviseurs 102a-à-102d et 103a à 103d par l'intermédiaire de portes 108 à deux entrées qui re- çoivent sur leurs autres entrées, le signal EOC de fin de calcul provenant du processeur d adresse 54.et em- pécher le fonctionnement des voies de priorité infé- rieure et bloquer les décodeurs 105a à 105d. 106a. à 106d et 107a à 107d, associés aux différents divi- seurs, excepté celui 107d de la voie sélectionnée qui génère son code au point d'entrée de la CROM 49. Lorsque le signal EOC de fin de calcul en cours est généré par le processeur d'adresse 54, le code de la CROM 49 est pris en compte et le calcul 3 de la voie R1.32 est éxécuté. La bascule 104d est re- mise à son état de repos. Si durant cette période une des voies de priorité inférieure était en fonctionnement, par exem- ple la voie R4.8, la génération de points d'entrée de CROM de cette voie s'arrête après le calcul 2 pour insérer le calcul 3 de la voie prioritaire comme le montre la Fig.13. Durant l'exécution d'une voie, c'est le si- gnal EOC qui fait évoluer le compteur d'adresse de calcul. Dans tous les décodeurs 105a à 107d, il y a trois bits pour déterminer le numéro du calcul à ef- fectuer et trois bits.pour sélectionner le numéro de la voie considérée. Le dispositif qui vient d'être décrit permet d'effectuer les calculs de plusieurs filtres pendant la durée d'une trame de plusieurs intervalles de temps à condition que les demandes de voies des divers abon- nés parviennent au dispositif au cours d'intervalles de temps IT différents. En revanche des difficultés apparaissent si plusieurs demandes de voies ont lieu dans le même in- tervalle de temps IT. On suppose que le dispositif est destiné à traiter par exemple huit voies, et que dans le pire des cas les demandes des voies 1 à 8 s'effectuent à la même position de IT. Ainsi qu'on peut le voir à la Fig.16a, ces demandes des voies 1 à 8 apparaissent sur l'intervalle IT de sorte que le calcul des filtres relatifs à ces huit voies est déclenché sur le signal de 8 KHz. Après un quart de trame, soit 31,25//4 s, la demande de calcul prioritaire à 32 KHz de la première voie arrive alors que le calcul de la sixième voie qui commence à 27600 ns et se termine à 33120 ns est en cours. Elle est interrompue à la fin du calcul du filtre, c'est à dire après 4200 ns. Les calculs des voies 1 à 6 sont alors in- sérés puis les calculs à 8 KHz peuvent continuer. Enfin, les deux derniers calculs à 32 KHz sont effectués. Il y a donc un délai de 18670 ns pour ter- miner le calcul de la voie 8 par rapport à la demande. On suppose maintenant que tous les abonnés raccrochent excepté celui de la voie 8. Il n'y a plus de retard causé par les voies 1 i 7 du calcul à 8 KHz et le calcul de la voie 8 à 32 KHz est effectué immédiatement. La position du calcul de la voie 8 peut donc varier entre 18670 ns et 720 ns. Comme représenté à la Fig.16c dans le cas d'une organisation dans laquelle seulement quatre in- tervalles de temps IT peuvent se présenter au même instant, si les huit demandes se présentent sur deux intervalles de temps consécutifs de délai total du dernier calcul à 32 KHz devient 14770 ns et si les voies 1 à 7 raccrochent, il est de 720 ns. Les délais peuvent donc varier entre 14770 ns et 720 ns. Comme représenté à la Fig.17, chaque ligne d'abonné a une impédance Z de l'ordre de 600_(L, tan- dis que la partie comportant le convertisseur numéri- que-analogique 110 et le filtre à interpolation 111 a une impédance de sortie Z générateur. La tension mesurée sur la borne R de l'int- erface de ligne et convertie en numérique par le convertisseur analogiquenumérique 112 dépend donc du rapport des. impédances et il y a un retour du signal injecté dans la ligne sur le signal mesuré. Le filtre de balance ou anti-écho permet de prendre une partie du signal transmis sur la ligne et de le soustraire par le sommateur (BD) 33. du signal reçu. 262704 1 - dans le rapport des impédances Z Z + Z' - avec un retard correspondant à la boucle. Le filtre Z 37 permet de synthétiser l'impé- dance de ligne de façon que la sortie Z' générateur soit adaptée sur l'impédance de ligne Z. Dans les cas relatifs à la présentation de huit voies sur le même intervalle de temps IT ou de quatre intervalles de temps en même temps décrits plus haut, le délai total est toujours inférieur à une pé- riode d'horloge à 32 KHz. Les résultats des calculs étant pris au cy- cle de trame suivant, il n'y a pas de problème de délai de groupe. Par contre, la gestion de la position des calculs en fonction de celle de l'intervalle de temps IT conduit à une logique complexe du fait que les cal- culs peuvent être interrompus. Afin de remédier à cet inconvénient, dans la gestion des trames d'intervalles de temps IT qui est assurée par un concentrateur, on applique une méthode en trois phases. - La capture des échantillons dans une trame N, - Le calcul du filtrage dans la trame sui- vante N+1, - La restitution des échantillons dans la trame N+2. Le gros avantage de cette technique est que les calculs sont effectués à des positions prédétermi- nées et permettent ainsi une optimisation des temps de calcul et une indépendance vis à vis de la position des échantillons. En contrepartie, le délai entre la capture d'un échantillon dont la position est-définie par un numéro d'intervalle de temps IT et sa restitution dans un autre numéro peut varier selon les positions res- pectives des échantillons entre 129As et 367/m-s. Avec une gestion plus complexe des registres d'entrée et de sortie, il est possible de ramener ce temps à 250/-s. Le schéma de la Fig.18 montre les possibili- tés offertes par la technique précitée pour la mise en oeuvre de laquelle le dispositif suivant l'invention est pourvu ainsi qu'on le verra par la suite de piles de registres d'entrée et de sortie reliées aux bornes de la portion du dispositif destinée à élaborer les fonctions de filtrage. Avant d'examiner la gestion des.piles de re- gistres d'entrée et de sortie, il y a lieu.de détermi- ner un procédé de calcul à adopter. Le schéma général du dispositif numérique de traitement de signaux est le même que celui décrit en référence à la Fig.5. Ce dispositif comporte une unité centrale de traitement représentée à la Fig.19. Cette CPU est semblable à celle décrite en référence à la Fig.6, mais au lieu d'un seul accumulateur 70 associé à l'u- nité arithmétique et logique, elle comporte autant d'accumulateurs 115 qu'il y a de voies à traiter, c'est à dire huit dans le présent. exemple. Le fonctionnement du dispositif numérique de traitement de signaux comportant l'unité centrale de traitement à la Fig.19 est le mime que celui du dis- positif de la Fig.3, mais ici, chaque opération du- rant le calcul d'un filtre est répétée huit fois. Le processeur d'adresses 54 (Fig.3) extrait de la mémoire de données 52 les huit échantillons con- 26 2 7 0 4 1 sécutifs et de la mémoire de coefficients 53, les huit coefficients s'ils ne sont pas identiques. Les échantillons sont multipliés tour à tour par les coefficients et les résultats sont placés dans les huit accumulateurs 115a à 115h à la sortie de l'u- nité arithmétique et logique 63. A la fin du calcul de huit filtres, les ré- sultats sont stockés dans la mémoire de données 52. La pile d'accumulateurs 115 est connectée à un diviseur par huit 116 initialisé par le début du calcul délivré des adresses A,B,C permettant de vali- der successivement les huit accès durant les calculs. Ainsi que le montre la Fig.20, chaque borne du quadripole formée par le bloc de filtrage représen- té à la Fig.3 est reliée à une pile de huit registres RD118, RI119, RC120 et RE121 dans lesquels les échan- tillons correspondant aux huit voies d'abonnés sont lus ou écrits au rythme des calculs de filtrage soit 8 KHz par les registres RC et RE et 32 KHz par les re- gistres RD et RI. Les échantillons compresses E sont lus dans la pile RE 121 pour calculer les filtres LP, GR, R, I. A l'instant 1, les échantillons de la pile RD sont lus pour calculer l'impédance de ligne Z. Le résultat est placé dans la pile RI pour être exploité au cycle à 32 KHz suivant, puis le cal- cul continue avec BP, X et GX. Pour les autres instants 2,3,4,5 de la tra- me, le principe est le même. A chaque période de 32 KHz, les échantillons RD sont traités et restitués au cycle suivant. Les échantillons RE liés en début de trame sont restitués dans la pile RC 120 en fin de trame. Le filtre LP est un filtre passe-bas à 13 262704 1 coefficients fonctionnant à 8 KHz (IIR). Comme déjà indiqué plus haut, le filtre IIR est définl par les relations: d(n)= x(n)+ald(n-1)+a2d(n-2); --- a6d(n-6) y(n)= bOdn+bld(n-1)+b2d(n-2) --- b6d(n-6) La première opération du calcul de d(n) con- siste à transférer les échantillons reçus dans la pile RE 121 vers l'accumulateur 115 aux positions corres- pondantes. Afin de garder un cycle identique dans le calcul de d(n), x(n) est multiplié par aO=l qui n'existe pas dans les relations du filtre. Le même cycle est enchainé pour les calculs avec les coefficients al à a6 issus de la mémoire de coefficients 53 (Fig.5) qui sont multipliés par les résultats des calculs de d(n) des cycles précédents: d(n-1) à d(n-6). En fin de calcul, les valeurs de d(n) pour les voies 0 à 7 sont disponibles dans tous les accu- mulateurs 115a à 115h. Pour transférer les valeurs de dn dans la mémoire de données 52, il faut huit cycles supplé- mentaires. Les adresses d'écriture sont générées par le processeur d adresses 54. Pour calculer d(n) il faut: 8 cycles pour transférer REO à RE7 dans l'accumulateur 115. 8 cycles par coefficient soit 6 x 8 cycles 2 cycles dus au pipeline 8 cycles pour transférer le contenu des accumulateurs 115a à 115h dans la mémoire RAM de données 52. Pour la deuxième partie de ce calcul de filtre, il faut calculer y(n) avec les valeurs de d(n) multipliées par les coefficients correspondants. Le nombre de cycles nécessaire pour cette deuxième partie est de 66 pour les huits voies. Par conséquent, pour le calcul de yn sur les huit voies, il faut: 66 x 2 = 132 cycles. La durée d'un cycle de calcul étant de 60 ns, le temps nécessaire pour effectuer un calcul com- plet est de: x 132 = 7920 ns. Dans le cas décrit en référence aux Fig.1 à dans lequel le calcul est effectué indépendamment par voies, le temps de calcul total est de 1140 x 8 = 9120 ns. Pour les autres calculs,le principe de pipe- line est équivalent sauf pour les filtres IZ et BD qui sont groupés de façon que les sommations des résultats IZ et BD se fassent directement, sans accès intermé- diaire à la mémoire de données. Dans le tableau ci-après, on donne le temps de calcul des filtres effectués simultanément pour huit voies. TABLEAU AVEC 8 VOIES 8KHz RE LP BP RC 16KHz GR R BD X 6X 32KHz RD I/Z RI _____________________________________________________________ coeff. 13 4 5+4 8+5 4 18 _____________________________________________________________ Acode 1 4 2 2 1 3 1 3 2 2 4 1 nb. cycles 0 132 18 42 8 82 0 114 42 18 164 0 T__' 7920_____ 1080__ 2520____ 80_4920__ 6840___2_20__1080__98 Temps 7920 1080 2520 480 4920 6840 2520 1080 9840 L'accès au registre RE 121 (Fig.20) se fait durant le calcul de LP. Le transfert de RI se fait en fin de calcul de Z au lieu de le transférer dans la, mémoire de don- nées. Le transfert dans le registre RC 120 est assuré en fin de calcul de BP. La ressource de calcul utilisée est la sui- vante. 60ns Lx(nombre de cycles RE+LP+BP+RC)+2x(nombre de cy- cles GR+R+BD+X+GX)+4x (nombre de cycles RD+I/Z+RI)3=) 67440 / s. * Cette durée constitue 54Z des possibilités de l'unité centrale de traitement CPU. Si le même processus était utilisé pour sei- ze voies au lieu de huit, le temps de calcul serait de 129,12_/s. Une horloge à 58 ns de temps de cycle permet de traiter les seize voies en 125ts, c est à dire dans l'intervalle de temps d'une trame. La séquence des opérations de calcul des di- vers étages d'un filtre est donnée dans-le tableau suivant. 25....................... FILTRE OPERATION SOURCE 1 SOURCE 2 DEST. Nb CYCLES point d ent. ----> LP 1 MAC RE COEFF 1 ACCU 8 8KHz 2 MAC DATA LP COEFF LP ACCU 48 Pipeline 2 3Transf. ACCU DAT LP 8 4 MAC DATA LP COEFF LP ACCU 56 Pipeline 2 Transf. ACCUDATA 6R 8 point d' ent. ---> GR 1 MAC DATA GRCOEFF GRACCU 8 16KHz Pipelinet 2R 2 Transf. ACCU DATA? 8 R 1 MAC DATA R COEFF R ACCU 3ài Pipeline 2 2 Transf. ACCU 8 3 Transf. ACCUDATA 8 point d ent. 10.> ZI 1 Transf. RD / T 8 32KHz 2 Transf. RD 83 MAC DATA Z COEFF Z ACCU 32 4 MAC DATA I COEFF I ACCU 40 Pipeline 2 Fin séquen- u/F ce BD 1 MAC DATA D/ COEFF D ACCU 40 2 MAC DATA B COEFF B ACCU 64 Pipeline, 2 3 Transf. ACCU DATAGE 8 X 1 MAC DATA X COEFF X ACCU 32 Pipelin2 2 ransf. ACCU DATA 6X 1 MAC DATA 6X COEFF 6X ACCU 8 Pipeline 2 2 Transf. ACCU DATA 8 BP 1 MAC DATA BP COEFF BP ACCU 72 Pipeline 2 2 Transf. ACCU 8 3 MAC DATA BP COEFF BP ACCU 72 Pipeline 2 4 Transf. ACCU RC 8 L'enchainement des opérations de calcul données dans le tableau précité est représenté à la Fig.21, Un dispositif numérique de traitement de si- gnaux destiné au calcul simultané des valeurs des filtres de huit voies est représenté à la Fig.22. Il comporte une unité centrale de traitement CPU analogue à celle de la Fig.6. Les éléments constituants'de cette CPU qui sont identiques à ceux de la CPU de la Fig.6 sont désignés par les mêmes numéros de référence. A la différence avec le circuit de la Fig.6, la CPU du circuit de la Fig.22 comporte à la sortie de l'ALU 63 une pile de buit accumulateurs O à 7 115a à h commandés par un diviseur par 8, 116, à partir de la CROM 49 comme décrit en référence à la Fig.19. la sortie de la pile d'accumulateur 115a à h est reliée directement à la première entrée de l'ALU 63 et par l'intermédiaire de deux multiplexeurs 123, 124 à un bus 125 de liaison d'une part avec les- piles de registres RI et RD 119 et 118 et d'autre part avec les piles de registres RC et RE 120 et 121. Entre le bus 125 et la pile de registres 120 est intercalé un circuit compresseur de signaux 126 tandis qu'entre le bus 125 et la 'pile de registres RE 121 est intercalé un circuit expanseur de signaux 127. Les piles de registres 118 et 119 sont res- pectivement connectées aux circuits de décimation et d'interpolation 113 et 111 (Fig.17) tandis que les pi- les de registres 120 et 121 sont reliées respective- ment à la sortie TX et à l'entrée RX. Par ailleurs, les bus de liaison des multi- plexeurs 124 et 123 sont reliés au multiplieur 58, à la mémoire de données 52. à la mémoire de coefficients 53 et par l'intermédiaire du multiplexeur 60, aux entrées de l'ALU 63. Le dispositif numérique de traitement de signaux effectue les calculs'des filtres pour les huit voies, échange les données entre le central et la ligne par l'intermédiaire des registres tampons RC, RE, 120, 121 du côté du central et des registres tampons RI, RD 119, 118 du côté de la ligne. Côté central, les échanges s'effectuent à la fréquence de trame au temps To. Côté ligne, les échanges s'effectuent à 32 KHz soit quatre fois par trame. Comme représenté à la Fig.23, aux instants, To, les huit échantillons qui vont être traités dans la trame N sont chargés dans la pile de registres RE 121. Les huit échantillons qui ont été traités au cours de la trame N1 puis chargés dans la pile de registres RC 120 sont prêts à être restitués vers le central sur la ligne TX. Aux instants TO,T1,T2 et T3, les huit échan- tillons issus de la ligne qui ont été convertis en numérique puis décimés par le convertisseur analogi- que-numérique 112 et le filtre de décimation 113 (Fig.17), sont chargés dans la pile de registres RD 118. Ces échantillons sont traités dans une période de 32 KHz puis restitués en fin de période dans la pile de registres RI 119 pour être filtrés par le filtre d'interpolation 111 puis convertis en analogique par le convertisseur numérique-analogique 110. Le mécanisme d'accès aux piles de registres par les voies externes n'est pas décrit ici. Dans la description qui va suivre, on va examiner la manière dont le dispositif numérique de traitement de signaux accède à ces piles de registres pour acquérir les échantillons, les traiter et les restituer. Les séquences de filtrage TO,T1,T2 et T3 dans lesquelle, on accède chaque fois aux registres RD et RI 118 et 119, l'intervalle de temps TO pendant lequel on accède au registre RE 121 et l'intervalle de temps T3 d'accès à la pile RC 120, sont générés par le séquenceur 47 qui transmet une demande de calcul au syncrhoniseur 48. Le synchroniseur 48 génère le point d'entrée correspondant au premier microcode de l'algorithme de calcul et le dispositif numérique de traitement de si- gnaux DSP effectue le calcul sous le contràle de la mémoire CROM 49. lorsque le calcul correspondant est terminé, le synchroniseur 48 est repositionné en attente, Pour la mise en oeuvre de la technique de calcul simultané des filtres relatifs à plusieurs voies, le séquenceur 47 et le synchroniseur 48 sont réalisés de la manière qui va être décrite en référen- ce à la Fig.24. Le séquenceur 47 comprend un diviseur 130 par 64 pour obtenir les demandes de calcul D32 à 32 KHz. A la sortie du diviseur 130 est connecté un diviseur 131 par 4, destiné à générer les signaux D1 et D2 qui définissent le type de caicul à effectuer. Les deux diviseurs ou compteurs sont initia- lisés par le début de trame à 8 KHz. Le fonctionnement du circuit de la Fig.24 est illustré par le diagramme de la Fig.25. Le synchroniseur 48 reçoit le signa-1 de demande de calcul D32 et la resynchronise sur les si- gnaux d'horloge rapide 01 02 dans les bascules 132 à 134. 3, Les signaux resynchronisés sont appliqués par l'intermédiaire d'une porte NON-ET 135 à une.en- trée d'une bascule 136 dont la sortie est reliée à une bascule 137 générant le signal SO. Ce dernier est appliqué à l'autre entrée de la bascule 136 par l'intermédiaire d'une porte N'ON-ET 138 qui reçoit également le signal RS de fin de cal- cul. Les signaux S1 et S2 résultent du traitement des signaux D1 et D2 délivrés par le diviseur par 4,. 131,. par des bascules 139 et 140 qui reçoient égale- ment le signal d'horloge. 01 et assurent donc la resyn- chronisation des signaux D1 et D2 sur ce signal d'hor- loge. Le synchroniseur 48 génère les signaux SO, S1 et S2 durant tout le calcul jusqu'à ce que le signal C.RS remette à zéro la bascule RS 136, puis le signal SO. Suivant la position du signal D32 par rap- port au front du signal d'horloge 02,le délai de re- synchronisation peut varier entre 1,5 et 2,5 période d horloge rapide. Le signal' D32 est enregistré dans le circuit Q1 132 par le signal d'horloge 02 avec une probabilité d'erreur qui dépend de la fréquence de D32 par rapport à son temps de montée. La sortie de la bascule Q1 132 est enregis- trée dans le circuit Q2 133 par le signal d'horloge 01 qui est en quadrature avec le signal 02. La probabilité d'erreur dans la bascule Q2 133 devient négligeable en raison des performances des technologies rapides actuelles. Elle est de l'ordre de 1 10 Il en résulte que le signal D32 synchrone de l'horloge à 2 MHz génère chaque fois un signal SO syn- chrone du signal 01, Le signal SO agit sur la remise à zéro des bascules S1 et S2 139 et 140 selon la table suivante, to to+1,5 à 2,5 01 D32 D1 D2 CRS SO S1 S2 0 a b 0O 0 0 0 1a b 0 1 a b x x x 1 O 0 0 Les signaux SO, S1 et S2 transmis à la mé- moire CROM 49 sélectionnent un des quatre types de calculs TO, T1, T2 ou T3 suivant la valeur de "ab". Sur la Fig.26, on a représenté l'organisa- tion de la partie du circuit de la Fig.22 destinée à commander la mémoire CROM 49. On voit sur cette figure que la CROM 49 est reliée au synchroniseur 48 par l'intermédiaire d'un multiplexeur. L'adresse de la CROM 49 est issue de ce multiplexeur qui reçoit des signaux d'adresse AO à A4 issus de la sortie correspondante de la CROM 49 et les signaux SO à S2 issus du synchroniseur 48. Un autre signal C-S issu de la CROM 49 sé- lectionne: -.un saut inconditionnel si C-S =-1 - un saut conditionnel si C-S = 0 1 - Condition de départ ATTENTE [o I ol o la bo I o 1o Ii/ -_........ -i-; t----;------- A A SO S S C-S C-RS Microcodes DSP 4 3 0 1 2 Le mot de la CROM contient deux champs à savoir celui qui est réservé à l'exécution de l'algo- rithme et celui qui est réservé au DSP qui sera décrit par la suite. Le microcode ATTENTE est situé à l'adresse OO de la CROM 49. Il contient: 4 3 2 1 0 = 00000 - C-S =O - C-RS = 0 Puisque C-S 0, les bits A2A1A sont rem-placés respectivement par S0,S1 et S2 issus du' synchroniseur 48. Tant que le signal D32 = 0, SO = 0, ce qui entraîne S1S2 =0. A chaque signal d'horloge 0, le mot de la CROM 49 lu à l'adresse 00 sélectionne à nouveau l'a- dresse 00 de la CROM. L'algorithme est en position d'attente sur l'adresse ATTENTE 00. Le changement d'état du signal D32 provoque le passage de SO à 1 après 1,5 à 2,5 période de 01. SO = 1 valide les signaux S1 et S2 qui sé- lectionnent le type de calcul à exécuter suivant la table ci-après. A4 A3 SO S1 S2 Ad ACode Nom,Code Type calcul 0 0 1 0 0 04 LP1 TO 0 0 1 0 1 05 ' GR1 T2 0 0 1 1 0 06 ZI1 T1 0 0 1 1 1 07 ZI1 T3 2 - Suite de l'algorithme Pour tous les microcodes suivants de l'algo- rithme de la Fig.21, sauf pour ZI5 qui fonctionne com- me le microcode ATTENTE au niveau de la sélection des branches BD1 BP1 et NOP, chaque microcode sélectionne l'adresse du prochain microcode à exécuter par un saut inconditionnel (C-S=1). 3 - Retour au code ATTENTE Les microcodes NOP BP4 et GX2 terminent l'exécution d'un calcul par un saut 'inconditionnel à l'adresse 00 ATTENTE. Dans tous ces microcodes, le bit C-RS qui est à 1 remet à zéro le synchroniseur 48 et positionne SO,S1 et S2 à zéro pour retourner en posi- tion d'attente sur le code attente jusqu'à la prochai- ne demande de calcul. On vient de décrire la manière dont le sé- quenceur 47 et le synchroniseur 48 sélectionnent le premier microcode de l'algorithme à exécuter, suivant les valeurs de S1 ét S2. Le déroulement de l'algorith- me est constitué par la mémoire CROM 49 elle-meme avec ses conditions de saut définies dans son champ d'a- dresses. On va maintenant examiner la manière dont les calculs sont exécutés pour effectuer la fonction de filtrage. Le processeur d'adresse 54 du dispositif de la Fig.22 comporte comme représenté à la Fig.27, une pile de huit pointeurs 145 qui sont utilisés. chacun pour le calcul d'un filtre différent. La pile de poin- teurs 145 est reliée par un soustracteur 146 qui décrémente le pointeur sélectionné à chaque cycle,à un multiplexeur 147 commandé par l'état zéro de la sortie du soustrateur 146 et qui sélectionne soit la sortie du soustracteur soit les bits C-CY3 à C-CYO quand l'état -1 est détecté à la sortie du soustracteur 146 Il comporte en outre un additionneur 148 qui somme la valeur du pointeur considéré et les bits A2, A1, AO avec sept bits issus de la mémoire CROM 49, C-ARD9 à 3 et un décompteur 149 qui permet de contrôler la durée de la séquence de calcul d'un filtre à quatre coeffi- 2 6 2 70 41 cients. Le décompteur 149 est positionné à la valeur 4 en début de cycle. Le processeur d'adresses représenté à la Fig.27 fonctionne de la façon suivante. Il permet de faire évoluer l'adresse ARD 9-0 entre deux bornes fixées par la valeur de C-CY(3-0). On suppose par exemple le cas d'un filtre à quatre coefficients. Pour chacune des voies, il faut exécuter quatre multiplications et accumulations. C-ARD Pointeur A2A A Operation >000 _ 0000000 0000 0 0 0 xn 7. xn 6 _____________ >001 - 0000 1 1 1 xn(o)xho(o) xn 0 0001 0 0 0 _____________ xn- 1 7 xn-1 6 >010 ------- 0001 1 1 1 xn-1 0 0010 0 0 O ___________ xn-2 7 xn-1 6 >011 0010 ' _ 1 3xn-2 0 0011 O O O xn-3 7 _____________ xn-3 6 >011 xn-3 0 0000000 0011 1 1 1 x(n-3)(o)xh(n-3)(o) C-ARO On suppose que le microcode sélectionne le pointeur O avec les bits C-P(2-0) = 000 et que -ce pointeur contienne la valeur 0011. Le nombre de coefficients est déterminé par C-CY(3-0)=011 pour sélectionner quatre coefficients. C-CY(3-0) est chargé dans le décoMpteur 149 par le signal INIT et A2A1 A0 sont positionnés à 1. L'adresse de départ est 001F puisque pour générer ARD (9-0) l'adresse de base C-ARD (9-3) est additionnée avec les 7 bits formés par AoA1A2 et le contenu du pointeur correspondant de la pile 145. L'échantillon x(n-3) correspondant à la voie "O" est lu dans la mémoire de données 52 (Fig.22) tandis que le coefficient h(n-3) est lu dans la mé- moire de coefficients 53 à l'adresse générée par un processeur d'adresses relié à la mémoire de coeffi- cient 53. Echantillon et coefficient sont transmis au multiplieur 58 pour effectuer la première opération de filtrage. Au cycle suivant, le décompteur A2-A0 149 (Fig.27) est décrémenté, A 2A1A = 110. L'adresse de lecture est OOIE, la mémoire RAM de données 52 contient l'échantillon x(n-3) pour la voie 1. L'échantillon et le coefficient sont trans- mis au DSP pour effectuer le calcul. Lorsque A2A1A0 = 000, le dernier échantillon xn-3 est traité puis le décompteur 149 est décrémenté. Le pointeur est décrémenté par le soustrac- teur 146, P = 0010. Le pointeur étant différent de-zé- ro,le multiplexeur 147 sélectionne la sortie du sous- tracteur et la nouvelle valeur est écrite dans le pointeur. Durant les sept cycles suivants les échan- tillons xn-2 des sept autres voies sont traités de la même manière. Lorsque le pointeur est à l'état zéro, les échantillons xn sont traités. La sortie du soustracteur 146 est égale à 1111. Elle commande le multiplexeur 147 qui sélection- ne alors les bits C-CY(3-0) qui seront écrits dans le pointeur en fin de lecture du huitième échantillon xn quand A2A1A0 = 000. Durant la même période, le décompteur 149 a été décrémenté et génère le signal EOC de fin de cal- cul. Le pointeur de la pile 145 contient la va- leur 0011. Il y a donc circulation du pointeur entre la valeur programmée par les bits C-CY(3-0) et zéro. Au cours de la prochaine opération,les huit nouveaux échantillons xn sont écrits dans la mémoire de données 52 à l'adresse 0011 définie par le pointeur 145 puis celui-ci est décrémenté à la valeur 0010. Ainsi, à la série de calculs suivante, le premier échantillon traité est l'ancien x(n-2) qui de- vient x(n-3) et l'échantillon le plus récent xn a pris la place de l'ancien xn-3. Il y a donc une rotation de l'adresse de dé- but de calcul: ler calcul 1ère écriture *3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 qui permet de garder chaque fois les séries de quatre échantillons les plus récents sans avoir à faire glis- ser les échantillons par des séries de lecture/écritu- re durant les cycles de calcul. L'enchainement des microcodes est représenté à la Fig.28. Le séquenceur du processeur d'adresses 54 permet de générer le changement des microcodes par le signal 0CR (Fig.26). Le décompteur 149 du processeur d'adresses génère un signal EOC de fin de calcul lorsque le dé- compteur est à zéro et que les huit voies ont été traitées. Le signal EOC doit permettre le changement de microcode en sortie de la mémoire CROM 49 à des instants pouvant changer selon le type d'opération que commande le microcode. Lorsque l'exécution de deux microcodes con- sécutifs ne nécessite pas la sauvegarde du contenu de l'accumulateur dans la mémoire RAM de données 52, le bit de contrôle du séquenceur du processeur d'adres- ses est à zéro, le signal EOC génère au début du cycle suivant le signal 0CR qui charge le microcode en sor- tie de la CROM et le signal INIT qui charge-le décomp- teur du processeur d'adresse et initialise le prédé- compteur A2-AO à la valeur 7. Lorsqu'un microcode de calcul MAC (accumula- tion de multiplication) est suivi d'une sauvegarde des huits accumulateurs dans la mémoire RAM de données 52, il faut attendre que le retard du au pipeline soit écoulé avant de pouvoir accéder aux accumulateurs 115 (Fig.22) pour les sauvegarder. Comme représenté à la Fig.29, le signal C-CR = 1 dans le microcode de l'opération OP2 retarde 0CR de deux cycles d'horloge 01 avant d'autoriser le chan- gement du microcode. En effet, en 1, la dernière opération de lecture est effectuée. La multiplication 2 est affectée au cycle d'horloge suivant et l'accumulation' 3 est effectuée deux cycles après la lecture. La pile d'accumulateurs 115 est disponible. seulement après cette dernière. Le microcode peut alors changer pour effectuer le transfert des accumu- lateurs dans la RAM 52, à l'adresse spécifiée par le microcode. En se référant à nouveau au schéma de la Fig.22 et au diagramme en fonction du temps de la Fig.30, on voit que le début de séquence To consiste à exécuter les microcodes LP1 à LP5 correspondant au filtrage passe-bas. Les huit nouveaux échantillons qui ont été chargés dans la pile de registres RE 121 doi- vent être transférés dans les huit accumulateurs 115a à 115h. Le séquenceur 47 et le synchroniseur 48 gé- nèrent le signal So de la mémoire décrite en référence à la Fig.24 et les adresses correspondant au début de séquence du microcode LP1. Le signal EOC génère 0CR qui transfère le microcode sélectionné en sortie de la mémoire CROM 49. A l'instant 1, le compteur A -A 149 du pro- 2 0 cesseur d'adresses 54 (Fig.27) est initialisé à "7" et le décompteur à "0". Le registre RE7 de la pile 121 est transféré sur le bus 125 par le signal de valida- tion issu de la CROM 49 et par le signal de sélection d'adresse issu du décompteur A2-A du processeur d'a- dresse 54. Le multiplexeur 124 transfère le contenu de RE7 sur le bus de liaison avec le multiplieur 58 sous la commande de la CROM 49. Le coefficient sélectionné par le processeur d'adresse 54 est transféré sur le bus de liaison de la mémoire de coefficients 53 avec le multiplieur 58. Durant le cycle suivant à' l'instant 2, le contenu du registre RE7 de la pile 121 est multiplié par le coefficient ayant une valeur 1 par le multi- plieur 58. Le résultat à la sortie du multiplieur 58 est RE7. Pendant ce même cycle, le compteur A2-A0 qui a été décrémenté sélectionne de la même façon le re- gistre RES de la pile 121. Durant le cycle 3, le résultat se trouvant à la sortie du multiplieur 58 est chargé dans l'accumu- lateur 115 à l'adresse spécifiée par A2-AO' Durant cette même période, l'échantillon RE5 est lu dans la pile 121 et l'échantillon RE6 est mul- tiplié par 1. Après huit cycles, le compteur A -A est à 2 0 l'état zéro. Les huit échantillons ont été lus dans la pile 121, le signal EOC de fin de calcul est généré pour changer de microcode au cycle suivant. Durant les deux cycles suivants, du fait de l'architecture pipeline, les échantillons RE1l et REO sont transférés dans l'accumulateur 115 alors que l'éxécution du microcode LP2 commence. L'éxécution du microcode LP2 est identique à la précédente. Cependant, les données sont extraites de la RAM de données 52 à l'adresse spécifiée par le proces- seur d'adresses 54 qui est sous le contrôle de la CROM 49. Comme il y a six coefficients à multiplier par les six échantillons les plus anciens, le cycle étant répété pour les huit voies, le décompteur 149 est chargé avec la valeur 5, il est décrémenté chaque fois que A2-A est à l'état zéro, la fin du cycle se 2 0 produisant lorsque A2-A0 et le décompteur 149 sont tous deux à zéro. A cet instant, l'exécution de LP2 est termi- née après 6x8 = 48 cycles et le résultat doit être transféré dans la mémoire RAM de données 52 à l'adres- se Dn pour les huit échantillons. Après deux cycles d'attente qui permettent de terminer l'accumulation des résultats dans l'accu- mulateur 115, le transfert des huit échantillons Dn peut etre éxécuté. A la fin du transfert,la suite du calcul du filtre passe-bas continue selon le même processus. Le séquenceur 47 sélectionne l'une des qua- tre opérations de calcul et le synchroniseur 48 génère Je point d'entrée de la CROM 49 en se resynchronisant sur une horloge rapide de calcul. Lorsqu'un microcode est sélectionné,le comp- teur A -A du processeur d'adresses 54 partage tous 2 0 les éléments du circuit de façon à effectuer huit fois le calcul ou l'opération avec un seul microcode. Le décompteur permet de répéter N fois cette opération en changeant chaque fois de groupe de huit données et coefficients. Durant un calcul de filtre à N coefficients, il y a 8 x N cycles et un seul microcode utilisé. Dans l'exemple qui vient d'être décrit,l'in- vention est considéré comme étant appliquée à un dis- positif numérique de traitement de signaux associé à huit voies d'abonnés. On conçoit naturellement que l'application de l'invention peut être étendue au traitement d'un nombre de voies plus important par un seul dispositif ?627041 de traitement numérique à condition que le temps né- cessaire au traitement de ces voies soit compatible avec la durée de la trame d'échantillons. REVENDICATIONS 1. Dispositif de traitement de signaux té- léphoniques pour la mise en communication de plusieurs abonnés à l'aide d'un central téléphonique à circuits sur cartes d'abonnés, comprenant des dispositifs de traitement de signaux numériques destinés à élaborer des fonctions de filtrage en vue de la connexion d'abonnés entre eux, caractérisé en ce qu'il comporte associés audit central téléphonique au moins deux dis- positifs de traitement de signaux numériques (15,16) communs à plusieurs lignes d abonnés (10a-10n, 11a- 11n), connectés chacun d'une part au central télépho- nique (17) et d'autre part à un groupe de lignes d'abonnés et destinés à traiter les signaux provenant desdits groupes de lignes d'abonnés correspondants en temps partagé afin d effectuer des calculs de fonc- tions de filtrage associées aux divers abonnés en fonction de fréquences affectées aux calculs d'étages de filtres destinés à constituer lesdites fonctions de filtrage et de la chronologie de réception desdits signaux d'abonnés. 2. Dispositif de traitement suivant la re- vendication 1, caractérisé en ce que chaque dispositif numérique de traitement de signaux commun à plusieurs lignes d'abonnés comprend un circuit compresseur-ex- panseur (46) partagé par lesdits plusieurs groupes de lignes et qui est destiné à assurer la connexion du dispositif numérique de traitement de signaux au cen- tral téléphonique, un circuit séquenceur (47) contrôlé par de signaux d'horloge générés par le central télé- phonique et par des signaux de commande qui définis- sent la position des échantillons de signaux des dif- férentes lignes dans une période de temps prédétermi- née et destiné à générer des ordres de calcul des différents filtres pour chacune des lignes d'abonnés, un circuit synchroniseur (48) des ordres de calcul provenant du circuit séquenceur, ledit circuit syn- chroniseur étant destiné à synchroniser les ordres de calcul par rapport à des signaux d une horloge locale et à générer des points d'entrée d'une mémoire CROM (49) à la fin d'un calcul en cours afin de déterminer l'adresse d'un premier microcode d'une séquence de microcodes contenue dans ladite mémoire CROM et correspondant à un calcul suivant à effectuer, une unité centrale de traitement CPU (51) contrôlée par les bits de microcode de la mémoire CROM (49) afin de réaliser différentes opérations de calcul en fonction de la configuration des bits de microcodes, ladite unité centrale de traitement étant en outre connectée à une mémoire (52) de données d'entrée contenant les échantillons sur lesquels les calculs doivent être faits pour chaque filtre et à une mémoire (53) de coefficients destinés à être affectés aux données d'entrée pour la réalisation desdits calculs des filtres relatifs auxdites lignes d'abonnés et un processeur.d'adresses (54) relié d'une -part à la mémoire CROM (49) et d'autre part à ladite mémoire de données (52) et à ladite mémoire de coefficients (53), ledit processeur d adresses (34) étant destiné à la gestion des adresses des données et des coefficients et à sélectionner les adresses auxquelles sont situées les données- et à présenter ces données à l'unité centrale de traitement (51) dans l'ordre requis pour effectuer le calcul de filtre correspondant. 3. Dispositif de traitement suivant l'une des revendications 1 et 2, caractérisé en ce que la- dite mémoire de données (52) est une mémoire RAM contenant un nombre N d'échantillons nécessaires au calcul d'un nombre correspondant d'étages de chaque filtre et ladite mémoire de coefficients (53) est une mémoire RAM/ROM qui contient les coefficients cor- respondant au calcul de N étages de -chaque filtre. 4. Dispositif de traitement suivant Lune des revendications 2 et 3, caractérisé en ce que. l'unité centrale de traitement CPU (51) est d'une ar- chitecture de type pipeline et comporte une partie (51a) de lecture des données contenues dans ladite mémoire de données (52) et des coefficients contenus dans ladite de mémoire de coefficients (53), une partie (51b) de multiplication desdites données par les coefficients correspondants contenus dans ladite mémoire de coefficients (53) et une partie (51c)'de sommation du résultat de la multiplication avec les résultats précédents. 5. Dispositif de traitement suivant la re- vendication 4, caractérisé en ce que la partie (51a) de lecture de données et de coefficients de l'unité centrale de traitement comporte un bus de données (55) reliant ladite mémoire de données (52) à un registre (57) de transfert desdites données de la mémoire de données vers la partie (51b) de multiplication de l'unité centrale de traitement sous la commande de signaux d'horloge (70), un bus de coefficients (56) reliant ladite mémoire de coefficients (53) à un re- gistre (59) de transfert desdits coefficients vers la partie (51b) de multiplication sous la commande des- dits signaux d'horloge (70) et des moyens (60,61) de liaison directe du bus de données et de coefficients (55,56) avec la partie (51c) de sommatioin de ladite unité centrale de traitement. 6. Dispositif de traitement suivant les revendications 4 et 5, caractérisé en ce que la partie (51a) de multiplication desdites données par les coef- ficients comporte un.multiplieur (58) connecté audit registre (57) de transfert de données audit registre (59) de transfert de coefficients et à un registre (64) commandé par lesdits signaux d'horloge (70) et destinés à transférer les produits effectués par le multiplieur (58) vers une première entrée de ladite partie (51c) de sommation de l'unité centrale de trai- tement. 7. Dispositif de traitement suivant les re- vendications 4 à 6, caractérisé en ce que ladite partie (51c) de sommation de l'unité centrale de trai- tement comporte une unité arithmétique et logique (63) commandée par des séquences de microcodes engendrés par ladite mémoire CROM (49) et comportant une premiè- re entrée reliée audit registre (64) de transfert des produits effectués par ledit multiplieur (58) et une deuxième entrée reliée à au moins-un accumulateur (67) des résultats de calcul précédents, ladite unité arithmétique et logique étant destinée à affectuer la somme d un produit effectué par ledit multiplieur avec les résultats précédents stockés dans l'accumulateur (67), ledit accumulateur étant commandé par lesdits signaux d'horloge (70) et sa sortie étant en outre reliée à ladite - mémoire de données (52) et à ladite mémoire de coefficients (53) en vue d'assurer le stockage dans lesdites mémoires des résultats de calculs de filtres effectués par ladite unité centrale de traitement. 8. Dispositif de traitement suivant l'une des revendications 1 à 7, caractérisé en ce que ledit processeur d'adresses (54) comporte associés à chacune desdites mémoires de données et de coefficients (52, 53) une pile de registres d'index (76) sélectionnés par des signaux d'adresse (75) provenant de la mémoire CROM (49), un soustracteur (81) relié.à la sortie de ladite pile de registres d'index (76), un multiplexeur (82) relié à la sortie du soustracteur (81) et à une sortie de la mémoire CROM (49) délivrant des signaux correspondant au nombre de cycles de calcul à effec- tuer correspondant au nombre d'étages d'un filtre à calculer, la sortie dudit multiplexeur (83) étant re- liée à ladite pile de registres d'index (76), un ad- ditionneur (85) relié par un bus (84) à la sortie de ladite pile de registres d'index (76) et à une sortie de ladite mémoire CROM (49) délivrant un signal d'a- dresse de base, ledit additionneur associé à lamé- moire de données (52) étant destiné à délivrer des signaux d adresses de données devant être soumises aux opérations de calcul d'un filtre tandis que ledit ad- ditionner associé à la mémoire de coefficients (53) est destiné à délivrer des signaux d'adresse de coef- ficients à l'aide desquels le calcul dudit filtre doit être effectué, ainsi qu'un soustracteur (86) relié à ladite sortie (77) de nombre de cycles de la mémoire CROM (49) et destiné à émettre vers l'unité centrale de traitement (51) un signal de fin de calcul (EOC) à la fin du calcul dudit filtre. 9. Dispositif de traitement suivant la re- vendication 8, caractérisé en ce que le processeur d'adresses comporte en outre un circuit logique (83) de détection de la valeur zéro à la sortie de la pile de registres d'index (76) qui commande le rechargement dans ledit registre d'index la valeur du nombre de cy- cles de calcul à la fin du calcul d'un filtre, le re- gistre d'index (76) étant alors prêt à recommencer un calcul avec le même nombre de cycles que le calcul précédent. 10. Dispositif de traitement suivant l'une des revendications 1 à 9. caractérisé en ce que ladite mémoire CROM (49) comporte un bloc (90) de mémoire de microcode, un bloc de. décodage (91) permettant de sé- lectionner un des microcodes, une logique de sélection (92) intercalée entre ledit bloc de décodage (91) et ledit synchroniseur (48), ladite mém6ire CROM compor- tant une sortie d'adresse de base de données connectée à l'additionneur (85) du processeur d'adresses (54), associé à la mémoire de données (52), une sortie d'a- dresse de base de coefficients connectée à l'addition- neur du processeur d adresse (54) associé à la mémoire de coefficient (53) , une sortie de nombre de cycles de calcul reliée au multiplexeur (82) et au soustracfeur (86) délivrant le signal de fin de calcul (79) dudit processeur d adresse et une sortie de commande de l'u- nité centrale de traitement (51). 11. Dispositif de traitement suivant l'une des revendications 2 à 10, caractérisé en ce que ledit séquenceur (47) comporte pour chacun des échantillons (IT4-IT1) correspondant à une ligne d'abonné, un comp- teur (100) recevant le signal (IT4-IT1) d'échantillon correspondant et un décodeur (101) de décompositions de chaque demande en ses éléments de différentes fré- quences de filtrage. 12. Dispositif de traitement suivant l'une des revendications 2 à 11, caractérisé en ce que ledit synchroniseur (48) est destiné à enregistrer et à gérer les priorités des demandes de calcul qu'il re- -çoit du séquenceur (47) et à mettre en attente les calculs moins prioritaires et comporte pour chaque demande de calcul à une fréquence déterminée un di- viseur (102a-102d, 103a-103d, 104a-104d) par un nombre correspondant au nombre de calculs à ladite fréquence permettant de gérer les points d'entrée de la mémoire CROM (48) correspondant aux calculs gérés par ledit diviseur et un décodeur (105a-105d, 106a-106d, 107a- 107d) associé à chacun des diviseurs, chaque diviseur comportant une sortie d'inhibition du fonctionnement' des voies dudit synchroniseur destinée à commander des calculs moins prioritaires que ceux commandés par la voie dans laquelle se trouve le diviseur consideré. 13. Dispositif de traitement suivant l'une des revendictions 1 à 7, caractérisé en ce qu'il com- porte une pile d'accumulateurs (115a-115h) dont le nombre est égal au nombde de voies à traiter, lesdits accumulaeurs étant destinés à contenir respectivement les résultats de calculs de filtres effectués simulta- nément pour toutes les lignes téléphoniques dont la mise en communication a été demandée dans un interval- le de temps IT déterminé et étant commandés par un diviseur (116) par un nombre égal au nombre de voies à traiter à partir de la mémoire CROM (49). 14. Dispositif de traitement suivant la re- vendication 13, caractérisé en ce que ladite pile d'acculumateurs (115a115h) est reliée directement à une première entrée de l'unité arithmétique et logique ALU (63) et par l'intermédiaire de multiplexeurs (123, 124) à un bus (125) de liaison d'une part avec des pi- les de registres RI et RD (119 et 118) reliés au cen- tral téléphonique et d autre part avec des piles de registres RC et RE (120,121), reliés aux voies corres- pondantes d'abonnés, lesdites piles de registres com- portant autant de registres que des voies d'abonnés dans lesquels les échantillons correspondant respecti- vement auxdites voies d'abonnés sont lus ou écrits au rythme des calculs de filtrage effectués par l'unité centrale de traitement (51). 15. Dispositif de traitement suivant l'une des revendications 13 et 14, caractérisé en ce qu'en- tre le bus (125) de liaison de ladite pile d'accumu- lateur (115a-115h) et les piles de registres RC et RE (120 et 120) sont respectivement intercalés un com- presseur de signaux (126) et un expanseur de signaux (127). 16. Dispositif de traitement suivant l'une des revendications 13 à 15, caractérisé en ce que lesdits multiplexeurs (124, 1231 de liaison de ladite pile d'accumulateurs (115a-115h) au bus (125) de. liai- son avec lesdits piles de registres (118,119,120,121) sont en outre reliés au multiplexeur (58), à la mé- moire de données (52), à la mémoire de coefficients (53) et, par l'intermédiaire d'un multiplexeur (60) aux entrées de l'unité arithmétique et logique ALU (63). 17, Dlspositif de traitement suivant l'une des revendications 13 à 16, caractérisé en ce que ledit séquenceur (47) comprend un premier diviseur (130) de la fréquence d'horloge destiné à délivrer des signaux (D32) de demande de calcul à une fréquence égale à la fréquence de calcul de fonctions de filtra- ge la plus élevée et connecté à la sortie dudit pre- mier diviseur (130). un second diviseur (131) destiné à générer des signaux (D11, D12) qui définissent le type de calcul à effectuer, lesdits premier et second diviseurs étant initialisés par un signal de début de trame d'intervalles de temps (IT) contenant lesdits signaux d'abonnés à traiter. 18. Dispositif de traitement suivant la revendication 17, caractérisé en ce que ledit synchro- niseur (48) comporte des moyens (132 à 134) de resyn- chronisation du signal (032) de demande de calcul sur des signaux (01,02) d'horloge rapide et des moyens (137, 139, 140) pour générer à partir dudit signal de demande de calcul (D32) resynchronisé et desdits si- gnaux (D1, D2) définissant le type de calcul à effec- tuer, des signaux (SO,S1,S2) de sélection dans ladite mémoire CROM (49) des types de calculs (TO, TI, T2, T3) contenus dans celle-ci. 19. Dispositif de traitement suivant les revendications 17 et 18, caractérisé en ce que la mémoire CROM (49) est reliée au synchroniseur (48) par l'intermédiaire d'un multiplexeur (141) qui reçoit de ladite mémoire CROM des signaux d'adresse (AO-A4) ainsi qu'un signal (C-S) de sélection de saut dont la valeur détermine une condition d'attente ou une con- dition d'exécution d'un algorithme de calcul. 20. Dispositif de traitement suivant l'une quelconque des revendications 13 à 19, caractérisé en ce que ledit processeur d'adresses (54) comporte une pile de pointeurs (145) dont le nombre est égal au nombre de voies à traiter et qui sont utilisés chacun pour le calcul d'un filtre différent, ladite pile de pointeurs étant reliée par un soustracteur (146) çes- tiné à décrémenter le pointeur sélectionné à chaque cycle, à un multiplexeur (147) commandé par l'état zéro de la sortie du soustracteur (146), un addition- neur (148) relié à ladite pile de pointeurs (145) et à un décompteur (149) qui permet de contrôler la durée de la séquence de calcul d'un filtre ayant un nombre de coefficients déterminé.