FR2681205A1 - Procede et dispositif de multiplexage. - Google Patents

Procede et dispositif de multiplexage. Download PDF

Info

Publication number
FR2681205A1
FR2681205A1 FR9111396A FR9111396A FR2681205A1 FR 2681205 A1 FR2681205 A1 FR 2681205A1 FR 9111396 A FR9111396 A FR 9111396A FR 9111396 A FR9111396 A FR 9111396A FR 2681205 A1 FR2681205 A1 FR 2681205A1
Authority
FR
France
Prior art keywords
channel
high frequency
channels
memory
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9111396A
Other languages
English (en)
Other versions
FR2681205B1 (fr
Inventor
Antoine Mathieu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Priority to FR9111396A priority Critical patent/FR2681205B1/fr
Priority to EP92420295A priority patent/EP0532431B1/fr
Priority to DE69231082T priority patent/DE69231082T2/de
Priority to US07/940,215 priority patent/US5311505A/en
Priority to JP4239340A priority patent/JPH05233512A/ja
Publication of FR2681205A1 publication Critical patent/FR2681205A1/fr
Application granted granted Critical
Publication of FR2681205B1 publication Critical patent/FR2681205B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne un procédé d'aiguillage d'une pluralité de canaux série (1... 6) sur un canal parallèle. A chaque canal série est associée une mémoire tampon dans laquelle sont stockées des données arrivant sur ledit canal série. Un certain nombre des canaux série (1, 2) fonctionnent à une fréquence élevée et les autres (3... 6) à des fréquences inférieures. Le procédé consiste à traiter une mémoire tampon associée à un canal autant de fois moins souvent que le canal est moins rapide qu'un canal fonctionnant à la fréquence élevée sur un nombre de périodes égal à la fréquence élevée divisée par la fréquence du canal le plus lent.

Description

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.

Claims (5)

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.
FR9111396A 1991-09-09 1991-09-09 Procede et dispositif de multiplexage. Expired - Fee Related FR2681205B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR9111396A FR2681205B1 (fr) 1991-09-09 1991-09-09 Procede et dispositif de multiplexage.
EP92420295A EP0532431B1 (fr) 1991-09-09 1992-09-07 Procédé et dispositif de multiplexage
DE69231082T DE69231082T2 (de) 1991-09-09 1992-09-07 Multiplexverfahren und -anordnung
US07/940,215 US5311505A (en) 1991-09-09 1992-09-08 Method and device for multiplexing
JP4239340A JPH05233512A (ja) 1991-09-09 1992-09-08 多重化の方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9111396A FR2681205B1 (fr) 1991-09-09 1991-09-09 Procede et dispositif de multiplexage.

Publications (2)

Publication Number Publication Date
FR2681205A1 true FR2681205A1 (fr) 1993-03-12
FR2681205B1 FR2681205B1 (fr) 1994-05-06

Family

ID=9416981

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9111396A Expired - Fee Related FR2681205B1 (fr) 1991-09-09 1991-09-09 Procede et dispositif de multiplexage.

Country Status (5)

Country Link
US (1) US5311505A (fr)
EP (1) EP0532431B1 (fr)
JP (1) JPH05233512A (fr)
DE (1) DE69231082T2 (fr)
FR (1) FR2681205B1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5425027A (en) * 1993-01-04 1995-06-13 Com21, Inc. Wide area fiber and TV cable fast packet cell network
US6012110A (en) * 1997-12-26 2000-01-04 Digi International Apparatus and method for input data loss prevention with a buffered UART
JP3824118B2 (ja) * 1998-03-03 2006-09-20 Kddi株式会社 ポーリング周期制御装置
US6522671B1 (en) * 1999-05-10 2003-02-18 Nortel Networks Limited Protocol independent sub-rate device
IL141800A0 (en) * 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
US7000136B1 (en) * 2002-06-21 2006-02-14 Pmc-Sierra, Inc. Efficient variably-channelized SONET multiplexer and payload mapper
US7124222B2 (en) * 2003-12-16 2006-10-17 1X1 Mobile, Ltd. Control system and method for a communications interface

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987003762A1 (fr) * 1985-12-04 1987-06-18 Bell Communications Research, Inc. Multiplexeur-demultiplexeur a debit adaptatif
EP0228629A2 (fr) * 1985-12-20 1987-07-15 Hitachi, Ltd. Système de communication multiplex par répartition dans le temps
EP0406925A1 (fr) * 1989-05-10 1991-01-09 AT&T NETWORK SYSTEMS INTERNATIONAL B.V. Procédé pour combiner deux trains de données organisés par cellules en un seul train de données organisé par cellules dans un multiplexeur ATD

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380065A (en) * 1980-09-29 1983-04-12 Honeywell Information Systems Inc. Communication multiplexer variable priority scheme
USH696H (en) * 1984-07-03 1989-10-03 Cpt Corporation System for accessing shared resource device by intelligent user devices
US4937815A (en) * 1988-11-21 1990-06-26 Systech Corporation Interrupt prioritization system and method for a demand shared bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987003762A1 (fr) * 1985-12-04 1987-06-18 Bell Communications Research, Inc. Multiplexeur-demultiplexeur a debit adaptatif
EP0228629A2 (fr) * 1985-12-20 1987-07-15 Hitachi, Ltd. Système de communication multiplex par répartition dans le temps
EP0406925A1 (fr) * 1989-05-10 1991-01-09 AT&T NETWORK SYSTEMS INTERNATIONAL B.V. Procédé pour combiner deux trains de données organisés par cellules en un seul train de données organisé par cellules dans un multiplexeur ATD

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION. no. 9, 1 Décembre 1988, NEW YORK US pages 1545 - 1555; JAN P. VORSTERMAN ET AL.: 'Layered ATM systems and architectural concepts for subscribers' premises network.' *
PROCEEDINGS IEEE INFOCOM '88 27 Mars 1988, NEW ORLEANS (US) pages 110 - 118; SANG H. LEE: 'An integrated transport technique for circuit and packet switched traffic.' *

Also Published As

Publication number Publication date
EP0532431B1 (fr) 2000-05-24
EP0532431A1 (fr) 1993-03-17
DE69231082T2 (de) 2001-02-15
JPH05233512A (ja) 1993-09-10
FR2681205B1 (fr) 1994-05-06
US5311505A (en) 1994-05-10
DE69231082D1 (de) 2000-06-29

Similar Documents

Publication Publication Date Title
EP0062960B1 (fr) Procédé de gestion de l'émission-réception de données dans un réseau local de communication et système de transmission de données pour l'application du procédé
FR2637997A1 (fr) Procede et dispositif pour mettre en file d'attente des requetes et des reponses sur un bus
FR2519441A1 (fr) Systeme de selection de priorite pour l'acces a un bus utilise en mode partage
EP0138717B1 (fr) Système de multiplexage numérique temporel asynchrone à bus distribué
EP1884875A1 (fr) Système de gestion de messages transmis dans un réseau d'interconnexions sur puce
EP0162174B1 (fr) Dispositif tampon utilisé dans un réseau de transmission de la voix
FR2681205A1 (fr) Procede et dispositif de multiplexage.
FR2466808A1 (fr) Systeme pour controler la duree de l'intervalle de temps entre blocs dans un systeme de communication calculateur a calculateur
EP0961446B1 (fr) Contrôle de congestion dans un noeud ATM
FR2585909A1 (fr) Procede de transmission de donnees par paquets a travers un reseau ou une chaine de transmission, et dispositif de mise en oeuvre
EP1871058B1 (fr) Système et procédé de gestion de messages transmis dans un réseau d'interconnexions.
FR2497041A1 (fr) Procede et dispositif de concentration statistique asynchrone pour systeme de telecommunication
EP0011540B1 (fr) Dispositif d'interface entrée-sortie entre un commutateur de données et une pluralité de voies de transmission
EP0512882A1 (fr) Procédé et dispositif de détection et de contrôle du gabarit de messages numériques transmis à un dispositif de réception
FR2793572A1 (fr) Procede et dispositif pour commander l'ordre de depart d'informations ou d'objets stockes temporairement
EP1952599B1 (fr) Procede de diffusion maitrisee d'informations
CA2067890A1 (fr) Procede et dispositif de selection d'informations utilisables par une unite locale reliee a un systeme de transmission numerique
EP0369843B1 (fr) Unité centrale à plusieurs processeurs et plusieurs mémoires pour systèmes de traitement de données
FR2724079A1 (fr) Reseau local industriel ou domestique
EP1710710A1 (fr) Interface de circuits dans un circuit électronique integré
EP0269167B1 (fr) Circuit intégré et procédé de traitement numérique à module auto-cadencé
FR2726414A1 (fr) Multiplexeur de paquets d'informations numeriques, notamment pour la television numerique
FR2827995A1 (fr) Procede et dispositif de gestion de memoire
EP1401156A2 (fr) Procédé de contrôle d'accès dans un réseau à ressources partagées, noeud et réseau correspondants
FR2536883A1 (fr) Procede et dispositif de coordination des transferts d'informations numeriques entre des unites de traitement de donnees emettrice et receptrice interconnectees par un canal de transmission asynchrone

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20080531