FR 2681205 A1 19930312 FR 9111396 A 19910909 PROCEDE ET DISPOSITIF DE MULTIPLEXAGE La présente invention concerne les multiplexeurs utilisés dans des systèmes informatiques et en particulier un multiplexeur comprenant un nombre élevé d'entrées/sorties asyn- chrones qui peuvent fonctionner à des fréquences de transmission 5 différentes. La figure 1 illustre un schéma simplifié d'un multi- plexeur de système informatique Les éléments du multiplexeur sont compris entre deux traits pointillés verticaux Le multi- plexeur comprend une pluralité de circuits d'émission/réception10 asynchrones universels (UART) 10 reliés par des liaisons série, telles que des liaisons R 5232, à des éléments extérieurs 12, tels que des terminaux, des périphériques, ou d'autres systèmes informatiques A chacun des circuits UART est associée une mémoire tampon 14 du type premier-entré/premier-sorti (FIFO).15 Ci-après, on appelera canal C l'ensemble d'une liaison série, d'un circuit UART et d'une mémoire tampon, et on ne s'intéres- sera qu'au cas o les éléments extérieurs 12 sont des circuits qui émettent des données. Un bus de données et d'adresses B relie entre eux chaque canal, un microprocesseur (CPU) 16, une mémoire (RAM) 18 et un circuit d'interface (BIC) 20 entre le bus B et un bus externe appartenant au système informatique. On peut considérer que dans les mémoires FIFO, des données sont empilées par ordre d'arrivée, la donnée inférieure (la première) étant retirée de l'empilement et écrite sur le bus de données lorsque la mémoire est sélectionnée par une adresse. La donnée lue est ensuite transférée dans la mémoire RAM 18 en attendant sa transmission sur le bus externe On supposera ci- apres que les données sont des caractères. Le protocole de communication de chacun des canaux, notamment la vitesse de transmission, est déterminé par un registre (non représenté) du circuit UART associé, qui peut être programmé par le bus B La vitesse de transmission est cadencée par un signal F fourni à chaque circuit UART par un circuit d'horloge (CK) 22 qui peut éventuellement fournir un signal sup- plémentaire I 2 à fréquence programmable Il est courant d'avoir15 une vitesse de transmission comprise entre 300 bauds et 38,4 kilobauds, cette vitesse de transmission, ci-après fréquence du canal, pouvant être à la fréquence du signal F Les vitesses de transmission inférieures sont obtenues dans les circuits UART à partir de la vitesse de transmission maximale en la divisant par20 des puissances de 2. Actuellement, on essaie d'augmenter le nombre de canaux et/ou la vitesse de transmission maximale sans augmenter la puissance du microprocesseur, c'est-à-dire la fréquence à laquelle le microprocesseur fonctionne, ou de choisir un micro-25 processeur moins puissant pour un nombre de canaux donné On essaie de réaliser ceci en sachant que le multiplexeur sera incapable de gérer tous les canaux si ceux-ci reçoivent tous des caractères à la fréquence maximale, mais qu'il est plus probable de n'avoir qu'un nombre limité de canaux fonctionnant à la fré- quence maximale On supposera ci-après que le multiplexeur se trouve dans cette situation plus réaliste. Une incapacité de gestion des canaux se traduit par un débordement des mémoires FIFO dû au fait que le microproceseur n'a pas le temps d'en transférer les caractères dans la mémoire RAM, ou par un débordement de la mémoire RAM dû au fait que le microprocesseur n'a pas le temps d'en transférer les caractères sur le bus externe Lorsqu'il y a débordement d'une mémoire FIFO, le circuit UART correspondant transmet au circuit émetteur 5 12 associé un signal (Xoff) indiquant à celui-ci qu'il doit cesser d'émettre En général, ce signal Xoff est envoyé dès qu'une fraction prédéterminée de la mémoire FIFO est remplie afin de laisser une marge de remplissage, car le circuit émet- teur 12 pourrait encore émettre quelques caractères après avoir10 reçu le signal Xoff, voire ignorer ce signal si le circuit n'a pas été prévu pour en tenir compte Les mémoires FIFO sont géné- ralement de petite taille, par exemple de 16 caractères, et le signal Xoff est émis dès qu'une mémoire est à moitié remplie. Le multiplexeur de la figure 1 peut fonctionner clas- siquement selon l'un ou l'autre de trois modes, selon la pro- grammation des circuits UART et de l'horloge CK (pour le troisième mode). Un premier mode est un mode par interruption dès l'arrivée d'un caractère Dans ce mode, dès qu'un caractère arrivant sur un canal est écrit dans la mémoire FIFO correspon- dante, le circuit UART émet un signal d'interruption Il qui arrive sur une entrée d'interruption (IRQ) du microprocesseur par l'intermédiaire d'une porte OU (OR) 24 Le circuit UART écrit en même temps dans un registre (non représenté) une donnée correspondant au numéro du canal Alors, le microprocesseur interrompt la tâche qu'il est en train d'effectuer, lit dans le registre sus-mentionné le numéro du canal à traiter, et scrute le canal correspondant Par scruter un canal, on entend vérifier si la mémoire FIFO correspondante est vide et, sinon, transférer son contenu dans la mémoire RAM. La figure 2 illustre symboliquement des durées de traitement selon ce premier mode Des caractères arrivent à des instants t aléatoires A partir d'un instant t, une interruption est générée et débute un intervalle de temps de traitement Tf de l'interruption A la fin d'un intervalle Tf débute un intervalle Tc de traitement d'un caractère Si un caractère arrive alors que le précédent n'a pas encore été traité, l'interruption est mémorisée et est traitée dès la fin de 5 l'intervalle Tc du caractère précédent. Ce premier mode de fonctionnement est très désavan- tageux En effet, le temps de traitement Tf d'une interruption est très important par rapport au temps de traitement Tc d'un caractère En considérant un exemple o le microprocesseur est10 de la série 68000 de la société Motorola fonctionnant à 16 M Hz, ce temps Tf est de l'ordre de 4 Tc En outre, la durée d'arrivée d'un caractère dans la mémoire FIFO d'un canal fonctionnant à une fréquence maximale de 38,4 kbauds est supérieur à Tf+Tc; donc, lors d'une même interruption, on ne traite jamais plus15 d'un caractère Ainsi, en supposant qu'il se présente un flot continu de caractères sur les canaux, le rendement de traitement des caractères est de Tc/(Tf+Tc) e 1/5. Un deuxième mode de fonctionnement possible est le mode continu Dans ce mode, les circuits UART n'émettent aucune interruption et le microprocesseur exécute en boucle un pro- gramme principal comprenant un sous-programme de scrutation de tous les canaux On s'arrange, soit en insérant des délais dans le programme principal si celui-ci est trop court, soit en multipliant le nombre de sous-programmes de scrutation dans le programme principal s'il est trop long, pour qu'en moyenne la durée Te s'écoulant entre deux débuts de scrutation soit sensi- blement égale au temps que met une mémoire FIFO recevant des caractères à la fréquence maximale à atteindre l'état de30 remplissage provoquant l'envoi d'un signal Xoff Ci-après, on appelera ce temps "temps minimum de remplissage partiel" Cette durée Te est donc variable d'une scrutation à une autre en fonction de la charge des tâches à effectuer par le microproces- seur dans le programme principal et dans le(s) sous-pro- gramme(s). La figure 3 illustre symboliquement des durées écoulées pendant des boucles du programme principal On suppose dans ètte figure que le programme principal comprend un seul sous-programme de scrutation qui est exécuté dès le début du programme principal On a indiqué des instants t O, tl et t 2 marquant les débuts d'exécution du programme principal. A l'instant t O, le débit de caractères sur les canaux est faible, le temps d'exécution ET du sous-programme est faible ainsi que le temps total Te = tl-t O d'exécution de la boucle puisque le programme principal se charge alors essentiellement de transférer un nombre faible de caractères stockés dans la mémoire RAM sur le bus externe. A l'instant tl, on suppose que le débit de caractères est plus important Non seulement le temps ET augmente, mais aussi le temps de transfert des caractères de la mémoire RAM sur le bus externe Ainsi, l'augmentation du temps Te=t 2-tl est supérieure à la seule augmentation de ET. Ce deuxième mode de fonctionnement est beaucoup plus avantageux que le précédent car le microprocesseur ne doit pas traiter d'interruptions Toutefois, si le débit de caractères est important, le temps Te peut devenir supérieur au temps minimum de remplissage partiel, voire total Dans ce cas, une mémoire FIFO d'un canal de fréquence maximale déborde, ou du moins, atteint l'état de remplissage qui provoque l'envoi du signal Xoff, ce que l'on cherche plutôt à éviter. Un troisième mode de fonctionnement est un mode par interruption périodique Ce mode de fonctionnement est similaire au précédent, sauf que les sous-programmes de scrutation sont exécutés périodiquement Pour cela, on fournit au microproces- seur un signal d'interruption I 2 de période égale au temps minimum de remplissage partiel d'une mémoire FIFO Ce signal d'interruption I 2, comme cela est représenté à la figure 1, est fourni par l'horloge CK à l'entrée IRQ du microprocesseur à travers la porte OU 24 La fréquence du signal d'interruption I 2 est obtenue en divisant la fréquence du signal F par un facteur qui peut être programmé dans l'horloge à travers le bus B. La figure 4 illustre symboliquement une période TI du signal d'interruption I 2 Cette période se décompose en plusieurs intervalles de temps Au début de la période commence un intervalle de temps fixe Tf Cet intervalle de temps correspond au traitement d'une interruption par le microproces- seur Ensuite se succèdent des intervalles de temps Tl, T 2 Tn correspondant respectivement à la scrutation de chacun des canaux Cl à Cn Les intervalles Tl à Tn dont la somme est égale à ET, sont décomposés chacun en un intervalle fixe Ts qui correspond à la durée nécessaire pour sélectionner un canal et en un intervalle E Tc qui est la somme des temps Tc de traitement des caractères stockés dans la mémoire FIFO du canal Un inter- valle Tr variable, comblant le restant de la période TI est le temps restant au microprocesseur pour effectuer les autres tâches qu'il a à faire, notamment s'occuper de transmettre les caractères de la mémoire RAM sur le bus externe Lorsque l'intervalle Tr est suffisamment grand, le microprocesseur peut à chaque période transmettre la totalité du contenu de la mémoire RAM sur le bus externe Mais s'il est trop petit, cette transmission doit être répartie sur plusieurs périodes en espe- rant que la mémoire RAM ne continue pas à se remplir. Par rapport au mode précédent, ce mode de fonction- nement présente par période TI un intervalle de temps d'inac- tivité supplémentaire Tf correspondant au traitement d'une interruption Ce mode de fonctionnement est donc légèrement moins efficace que le précédent mais il est plus fiable car la période TI ne varie pas Le rendement de traitement de carac- tères sur une période TI s'exprime par r =mc Tf + n Ts + m-Tc o N désigne le nombre de canaux et m le nombre moyen de carac- tères arrivant par période On remarquera que ce rendement croît avec m et donc que sa valeur est la plus grande quand tous les canaux reçoivent des caractères à la fréquence maximale Ce mode s'avère être le plus efficace lorsque tous les canaux fonction- 5 nent à la fréquence maximale. Toutefois, comme on 1 ' a évoqué précédemment, il est beaucoup plus probable qu'un nombre limité des canaux fonctionne à fréquence maximale, les autres fonctionnant à des fréquences inférieures Alors, le rendement susmentionné décroît de façon non négligeable et présente un obstacle si l'on veut multiplier le nombre de canaux Si on suppose, par exemple, que le canal Cl correspondant à l'intervalle Tl fonctionne à la fréquence maximale, que la période TI corresponde à l'arrivée de 8 caractères à cette fréquence dans une mémoire FIFO, et que le canal C 2 correspondant à l'intervalle T 2 fonctionne à une fréquence 8 fois inférieure à la fréquence maximale, à chaque période TI, on traitera 8 caractères pendant l'intervalle Tl et un seul caractère pendant l'intervalle T 2 Concrètement, on aura "dépensé" un temps Ts pour huit caractères et un autre temps Ts pour un seul caractère Si d'autres canaux fonctionnent à une fréquence encore inférieure, on dépensera pour ces canaux des temps Ts pour rien On s'aperçoit que le terme n*Ts dans l'expression du rendement r croît alors au détriment des termes m- Tc, ce qui provoque une chute du rendement.25 Ainsi, plus il y a de canaux fonctionnant à des fréquences basses par rapport à des canaux fonctionnant à des fréquences élevées, plus le rendement de traitement de carac- tères décroît et plus la possibilité de gérer des canaux supplé- mentaires est amoindrie. Un objet de la présente invention est de prévoir un procédé permettant d'obtenir un rendement de traitement de caractères plus élevé dans un multiplexeur dont les canaux fonctionnent à des fréquences distinctes. Un autre objet de la présente invention est de prévoir un multiplexeur pouvant avoir un nombre plus élevé de canaux fonctionnant à des fréquences distinctes avec un microprocesseur de puissance déterminée. Un autre objet de la présente invention est de prévoir un multiplexeur à microprocesseur de puissance réduite pour un nombre déterminé de canaux fonctionnant à des fréquences dis- tinctes. Un autre objet de la présente invention est de prévoir un multiplexeur à canaux de vitesse de transmission maximale plus élevée avec un microprocesseur de puissance déterminée. Ces objets sont atteints grâce à un procédé d'aiguil- lage d'une pluralité de N canaux série sur un canal parallèle, à chaque canal série étant associée une mémoire tampon dans la- quelle sont stockées des données arrivant sur ledit canal série, p (p > 1) canaux série fonctionnant à une fréquence élevée et q (q > 1 tel n=p+q) canaux fonctionnant à des fréquences respecti- vement ki, k 2, ki, kq fois inférieures à la fréquence élevée, les nombres ki étant des entiers éventuellement égaux Le procédé comprend les étapes suivantes: a) scruter les mémoires tampon lors d'intervalles de temps successifs, et b) transférer les données stockées, s'il y en a, sur le canal parallèle Ces étapes sont effectuées à chaque intervalle de temps pour les p mémoires tampon associées aux canaux fonction- nant à la fréquence élevée et une fois tous les ki intervalles pour chacune des q autres mémoires tampon Les durées desdits intervalles de temps sont voisines de la durée de remplissage d'une fraction prédéterminée de la mémoire tampon associée à un canal fonctionnant à la fréquence élevée. Selon un mode de réalisation de la présente invention, tous lesdits intervalles de temps ont la même durée égale à la durée de remplissage de la fraction prédéterminée de la mémoire tampon associée à un canal fonctionnant à la fréquence élevée. Selon un mode de réalisation de la présente invention, les nombres ki sont des puissances de 2. Selon un mode de réalisation de la présente invention, le procédé comprend en outre les étapes suivantes: stocker dans une deuxième mémoire les données arrivant sur le canal parallèle par paquets correspondant aux données stockées dans les mémoires 5 tampon; dès que la deuxième mémoire est non-vide, vérifier pour les paquets de données suivants si la deuxième mémoire dispose de suffisamment de place pour stocker un paquet de données sup- plémentaire; et dès que la deuxième mémoire ne dispose pas de suffisamment de place pour stocker le paquet supplémentaire, stocker les données du paquet une à une en vérifiant si la deu- xième mémoire dispose de suffisamment de place pour stocker une donnée supplémentaire. La présente invention prévoit aussi un multiplexeur comprenant: une pluralité de N circuits émetteurs/récepteurs asynchrones universels dont p fonctionnent à une fréquence élevée et les q autres fonctionnent à des fréquenoes respective- ment ki, k 2, ki, kq fois inférieures à la fréquence élevée, les nombres ki étant des entiers éventuellement égaux; une mémoire tampon associée à chacun des circuits émet- teurs/récepteurs; un microprocesseur relié aux circuits émet- teurs/récepteurs et aux mémoires tampon par un bus de données et un bus d'adresses, comprenant des moyens de scrutation des mémoires lors d'intervalles de temps successifs et pour faire écrire les données stockées, s' il y en a, sur le bus de don- nées Le multiplexeur comprend des moyens pour activer les moyens de scrutation, à chaque intervalle de temps pour les p mémoires tampon associées aux circuits émetteurs/récepteurs fonctionnant à la fréquence élevée, et une fois tous les ki intervalles pour chacune des q autres mémoires tampon Les30 durées desdits intervalles de temps sont voisines de la durée de remplissage d'une fraction prédéterminée de la mémoire tampon associée à un circuit émetteur/récepteur fonctionnant à la fréquence élevée. Selon un mode de réalisation de la présente invention, lesdits moyens pour activer comprennent une horloge à fréquence programmable dont un signal de sortie interrompt le microproces- seur, la période du signal de sortie étant programmée à la durée de remplissage de la fraction prédéterminée de la mémoire tampon associée à un circuit d' émetteur/récepteur fonctionnant à la fréquence élevée. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention sont exposés en détail dans la description suivante de modes de réalisation particuliers, faite en relation avec les figures jointes parmi lesquelles: la figure 1, précédemment décrite, illustre un multi- plexeur classique dans lequel peut être mis en oeuvre la pré- sente invention; les figures 2 à 4, précédemment décrites, représentent des temps de traitement pour des multiplexeurs classiques; et la figure 5 représente des temps de traitement au cours de plusieurs périodes de signal d'interruption, d'un exemple de multiplexeur selon la présente invention. Pour illustrer le procédé selon la présente invention, on se basera sur un exemple concret ci-dessous que l'on généra- lisera par la suite. On considère l'exemple d'un multiplexeur, tel que représenté en figure 1, disposant de: 2 canaux Ci et C 2 à 38,4 kilobauds; 1 canal C 3 à 19,2 kilobauds; 1 canal C 4 à 9,6 kilobauds; et 2 canaux C 5 et C 6 à 4,8 kilobauds. On suppose également que la période TI correspond à l'arrivée de 8 caractères sur un canal de 38,4 kilobauds. Ainsi, à chaque période TI, les mémoires FIFO des canaux Cl et C 2 reçoivent 8 caractères, celle du canal C 3 4 caractères, celle du canal C 4 2 caractères, et celles des canaux C 5 et C 6 1 caractère. il Selon le troisième mode de fonctionnement classique précédemment décrit, les canaux Ci à C 6 seraient scrutés lors de chacune des périodes TI, on dépenserait 6 intervalles de temps Ts de changement de canal et un intervalle Tf de traitement d'interruption pour 24 caractères. Selon la présente invention, dans cet exemple, on ne décide de scruter un canal que lorsque sa mémoire FIFO a des chances d'avoir reçu 8 caractères Pour cela, on procède de la manière suivante: à chaque période TI, on scrute les canaux Cl et C 2; une période sur 2, on scrute en outre le canal C 3; une période sur 4, on scrute en outre le canal C 4 et une période sur 8, on scrute en outre les canaux C 5 et C 6. Ainsi, lorsque tous les canaux reçoivent un flot continu de caractères, chacun des canaux est scruté à un instant optimal o sa mémoire FIFO s'est remplie de la même quantité que les autres mémoires Cette quantité est, de préférence, une quantité légèrement inférieure à celle provoquant l'envoi d'un signal Xoff. Rappelons l'expression susmentionnée du rendement de traitement de caractères du troisième mode de fonctionnement classique: m*Tc r= Tf + n Ts + m-Tc Selon la présente invention dans cet exemple, le nombre m est conservé car on a en moyenne le même nombre de caractères à traiter par période que dans le cas du procédé classique, mais le nombre n, qui correspond au nombre de canaux, au lieu de valoir 6 ( 6 canaux) selon le procédé classique, ne vaut plus que 2 + 1/2 + 1/4 + 2/8 = 3 En effet, en se ramenant à une période, on traite une fois les canaux Cl et C 2, une demie fois le canal C 3, un quart de fois le canal C 4 et un huitième de fois les canaux C 5 et C 6. Concrètement, dans cet exemple, on dépense deux fois moins d'intervalles Ts que selon le procédé classique Ainsi, les intervalles Ts gagnés peuvent être utilisés pour traiter des caractères arrivant sur des canaux supplémentaires. 5 Plusieurs cas de figures peuvent se présenter dans la mise en oeuvre du procédé exposé ci-dessus Le tableau ci- dessous et la figure 3 illustrent le cas de figure le plus simple. La première colonne du tableau indique le numéro de la période TI considéré Les quatre colonnes suivantes correspon- dent respectivement aux canaux Cl et C 2, C 3, C 4, C 5 et C 6 Une croix dans la colonne indique que le canal est scruté lors de la période TI correspondante de la colonne de gauche. TI Cî/C 2 C 3 C 4 C 5/C 6 1 X 2 X X 3 X 4 X X X X 6 x x 7 X 8 X X X X 9 x X X il x 12 X X X A la figure 5, on a illustré avec les mêmes notations et représentation symbolique des figures précédentes, 8 périodes TI successives correspondant aux 8 premières lignes de tableau. Ce tableau illustre le cas de figure o pour chacun des canaux on compte à partir du début de la première période TI pour connaître la période à laquelle il faut scruter le canal En d'autres termes, l'origine de comptage pour chacun des canaux est la même En décalant l'origine d'une ligne vers le haut pour le canal C 3, on ne devra scruter que 3 canaux à la période 4 au lieu de 4 canaux et que 5 canaux à la période 8 au lieu de 6. De même, si on décale 1 'origine pour le canal 4 de deux lignes vers le haut, on ne devra plus scruter que 4 canaux à la période 8 et 3 canaux aux autres périodes Ainsi, on sera moins limité par le nombre de canaux que l'on pourra traiter au cours d'une période. Selon l'invention, la période TI est choisie par rapport à un canal le plus rapide dont la fréquence peut être différente de la fréquence maximale (ici de 38,4 kilobauds). C'est-à-dire que la période TI, qui se programme dans l'hor- loge CK, est fixée au temps de remplissage partiel d'une mémoire FIFO d'un canal le plus rapide Dans l'exemple précédent, la15 vitesse la plus élevée était de 38,4 kilo bauds, ce qui, pour 8 caractères, correspondait à un temps de remplissage d'environ 2,1 millisecondes Si le canal le plus rapide était à 19,6 kilo bauds, le temps de remplissage, et donc la période TI, aurait été multiplié par 2 Lorsque la période TI est multipliée par 2, les temps "inutiles", à savoir les intervalles Tf et Ts, ont deux fois moins d'importance et on dispose de plus de temps pour traiter les caractères. En outre, selon la présente invention, on prévoit d'optimiser le procédé de transfert des caractères dans la mémoire RAM, et donc le temps Tc Pour cela, le microprocesseur met en oeuvre les étapes suivantes. Si la mémoire RAM est vide, transférer sans vérifi- cation le contenu d'une mémoire FIFO dans la mémoire RAM et effectuer l'étape suivante pour les caractères suivants;30 transférer le contenu d'une mémoire FIFO dans la mémoire RAM et vérifier s'il reste suffisamment de place dans la mémoire RAM pour recevoir le contenu d'une autre mémoire FIFO; si l'espace disponible dans la mémoire RAM n'est pas suffisant pour recevoir le contenu d'une mémoire FIFO, écrire dans la mémoire RAM le contenu de la mémoire FIFO caractère par caractère en vérifiant à chaque caractère s'il reste de la place dans la mémoire RAM pour recevoir un autre caractère; et s'il ne reste pas assez de place, arrêter de scruter les canaux et transférer le contenu de la mémoire RAM sur le bus de données externe jusqu'au prochain début de période TI. Ainsi, si la mémoire RAM est remplie alors que tous les canaux n'ont pas encore été traités, les mémoires FIFO des canaux restant à traiter atteignent l'état de remplissage qui déclenche l'envoi d'un signal Xoff et les circuits émetteurs 12 associés sont mis en attente Le fait que la mémoire RAM se soit remplie signifie que les intervalles de temps restant Tr précé- demment mentionnés sont trop petits pour que le microprocesseur ait le temps de transférer le contenu de la mémoire RAM sur le bus de données externe. Ce qui est connu dans l'art antérieur est de procéder selon la deuxième étape ci-dessus et de passer à la quatrième étape dès qu'il n'y a plus suffisamment de place dans la mémoire RAM pour le contenu d'une mémoire FIFO Or la durée de vérifi- cation de l'espace restant dans la mémoire RAM, qui intervient dans le temps Ts, est importante En effet, la première étape est environ trois fois moins longue dans l'exemple cité à micro- processeur 68000. De plus, le fait que l'on exploite le dernier espace restant dans la mémoire RAM à la troisième étape, ce qui n'était pas fait dans l'art antérieur, permet de diminuer la probabilité d'envoi de signaux Xoff. Le procédé selon la présente invention peut se généra- liser à n'importe quel nombre de canaux fonctionnant à des vitesses différentes La période TI est réglée à la durée de remplissage avant envoi d'un signal Xoff d'une mémoire FIFO d'un canal le plus rapide Un canal quelconque fonctionnant à une vitesse k fois inférieure à la vitesse du canal le plus rapide est scruté une fois toutes les k périodes. La présente invention est susceptible de nombreuses variantes et modifications Le procédé peut être mis en oeuvre par un programme exécuté dans le microprocesseur ou par des circuits logiques Les tailles des mémoires FIFO et de la mémoire RAM peuvent être quelconques et plus ces tailles sont importantes, plus le procédé sera efficace. REVENDICATIONS 1 Procédé d'aiguillage d'une pluralité de N canaux série sur un canal parallèle (B), à chaque canal série étant associée une mémoire tampon ( 14) dans laquelle sont stockées des données arrivant sur ledit canal série, p (p > 1) canaux série fonctionnant à une fréquence élevée et q (q > 1 tel n=p+q) canaux fonctionnant à des fréquences respectivement ki, k 2 ki, kq fois inférieures à la fréquence élevée, les nombres ki étant des entiers éventuellement égaux, le procédé comprenant les étapes suivantes: a) scruter les mémoires tampon lors d'intervalles de temps successifs, et b) transférer les données stockées, s'il y en a, sur le canal parallèle (B), caractérisé en ce qu'il comprend les étapes suivantes: pour les p mémoires tampon associées aux canaux fonctionnant à la fréquence élevée, mettre en oeuvre les étapes a) et b) à chaque intervalle de temps; et pour chacune des q autres mémoires tampon mettre en oeuvre les étapes a) et b) une fois tous les ki intervalles; les durées desdits intervalles de temps étant voisines de la durée de remplissage d'une fraction prédéterminée de la mémoire tampon associée à un canal fonctionnant à la fréquence élevée. 2 Procédé d'aiguillage selon la revendication 1, caractérisé en ce que tous lesdits intervalles de temps ont la même durée égale à la durée de remplissage de la fraction prédé- terminée de la mémoire tampon associée à un canal fonctionnant à la fréquence élevée. 3 Procédé d'aiguillage selon l'une des revendications 1 et 2, caractérisé en ce que les nombres ki sont des puis- sances de 2. 4 Procédé selon la revendication 1, caractérisé en ce qu'il comprend les étapes suivantes: stocker dans une deuxième mémoire ( 18) les données arrivant sur le canal parallèle par paquets correspondant aux données stockées dans les mémoires tampon ( 14); dès que la deuxième mémoire est non-vide, vérifier pour les paquets de données suivants si la deuxième mémoire dispose de suffisamment de place pour stocker un paquet de données supplémentaire; et dès que la deuxième mémoire ne dispose pas de suffisamment de place pour stocker le paquet supplémentaire, stocker les données du paquet une à une en vérifiant si la deuxième mémoire dispose de suffisamment de place pour stocker une donnée supplémentaire. 5 Multiplexeur comprenant une pluralité de N circuits émetteurs/récepteurs asynchrones universels (UART) dont p fonctionnent à une fréquence élevée et les q autres fonctionnent à des fréquences respectivement ki, k 2, ki, kq fois inférieures à la fré- quence élevée, les nombres ki étant des entiers éventuellement égaux; une mémoire tampon ( 14) associée à chacun des circuits émetteurs/récepteurs; un microprocesseur relié aux circuits émetteurs/ récepteurs et aux mémoires tampon par un bus de données et un bus d'adresses (B), comprenant des moyens de scrutation des mémoires lors d'intervalles de temps successifs (TI) et pour faire écrire les données stockées, s'il y en a, sur le bus de données;30 caractérisé en ce qu'il comprend des moyens pour activer les moyens de scrutation, à chaque intervalle de temps pour les p mémoires tampon associées aux circuits émetteurs/récepteurs fonctionnant à la fréquence élevée, et une fois tous les ki intervalles pour chacune des q autres mémoires tampon; les durées desdits intervalles de temps étant voisines de la durée de remplissage d'une fraction prédéterminée de la mémoire tampon associée à un circuit émetteur/récepteur fonc- tionnant à la fréquence élevée. 6 Multiplexeur selon la revendication 5, caractérisé en ce que lesdits moyens pour activer comprennent une horloge ( 12) à fréquence programmable dont un signal de sortie inter- rompt le microprocesseur, la période du signal de sortie étant programmée à la durée de remplissage de la fraction prédétermi- née de la mémoire tampon associée à un circuit d'émetteur/ récepteur fonctionnant à la fréquence élevée. 7 Multiplexeur selon l'une des revendications 5 et 6, caractérisé en ce que les nombres ki sont des puissances de 2.