FR2481485A1 - Systeme a sources de donnees et a recepteurs de donnees multiples a bus de communication - Google Patents
Systeme a sources de donnees et a recepteurs de donnees multiples a bus de communication Download PDFInfo
- Publication number
- FR2481485A1 FR2481485A1 FR8107897A FR8107897A FR2481485A1 FR 2481485 A1 FR2481485 A1 FR 2481485A1 FR 8107897 A FR8107897 A FR 8107897A FR 8107897 A FR8107897 A FR 8107897A FR 2481485 A1 FR2481485 A1 FR 2481485A1
- Authority
- FR
- France
- Prior art keywords
- data
- bus
- action
- receiver
- duration
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/374—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Multi Processors (AREA)
Abstract
SYSTEME A SOURCES DE DONNEES ET A RECEPTEURS DE DONNEES MULTIPLES POURVU D'UN BUS DE COMMUNICATION CONSTITUE AU MOINS D'UN MILIEU DE TRANSFERT. CE SYSTEME COMPORTE DES GENERATEURS DE SIGNAUX D'HORLOGE PRESENTANT DES TOLERANCES. POUR EVITER QUE DES SOURCES ETOU DES RECEPTEURS DONT LE GENERATEUR DE SIGNAUX D'HORLOGE EST PLUS LENT NE PUISSENT PAS PARTICIPER ACTIVEMENT EN TANT QUE PARTICIPANTS EGAUX EN DROIT A UNE ACTION SE RAPPORTANT A UNE COMMUNICATION, DES MOYENS SONT PREVUS ET PERMETTENT D'ETABLIR SI LEDIT BUS EST "PRET" POUR L'EXECUTION DE LADITE ACTION. CES MOYENS COMPORTENT DES PREMIERS ET DES SECONDS MOYENS ASSURANT LA DETECTION QUI PERMETTENT D'ETABLIR QUE PENDANT UNE PREMIERE OU UNE SECONDE DUREE, LE BUS DE COMMUNICATION EST "PRET", DE SORTE QUE, AU CAS OU UN PARTICIPANT ETABLIT QUE LA SECONDE DUREE S'EST ECOULEE POUR LUI ET POUR TOUS LES AUTRES PARTICIPANTS QUI, ENTRE-TEMPS, ONT ETABLI PENDANT LEUR PREMIERE DUREE EN QUESTION QUE LE BUS EST PRET, LE BUS EST (EFFECTIVEMENT) PRET POUR L'EXECUTION DE L'ACTION ENVISAGEE ET PEUT DONC ETRE OCCUPE PAR CETTE ACTION. UNE SOURCE DE DONNEES ETOU UN RECEPTEUR DE DONNEES PEUVENT ETRE UN PROCESSEUR DE SIGNAUX NUMERIQUES PROGRAMME.
Description
"Système à sources de données et à récepteurs de données multiples à bus
de communication.' La présente invention concerne un système à sources de données et à récepteurs de données multiples dans lequel la ou les sources de données et le ou les récepteurs de données sont connectés à un bus de communication qui est constitué
d'au moins un milieu de transfert convenant pour le trans-
port d'au moins un niveau logique (O ou 1).
De tels systèmes sont connus et notamment des systèmes dans lesquels les sources de données et les récepteurs de
données sont formés au moins pour partie d'unités de trai-
tement de signaux, comme des microprocesseurs et des unités analogues. Par le fait que la micro-électronique évolue de plus en plus vers une intégration sans cesse plus poussée de fonctions électroniques sur des supports dits puces, le
temps est venu d'y faire appel dans des domaines dans les-
quels les frais doivent être réduits au minimum. On peut citer, par exemple, les articles de grande distribution tels que les appareils vidéo, audio et analogues. Lorsqu'une coopération entre divers appareils dans une chaine (par exemple une chaîne d'appareils vidéo ou audio) est souhaitée ou exigée, une communication doit être établie entre les
diverses parties. Dans ce cas, certains appareils ou cer-
taines parties d'appareils déterminés servent de souxces de données ou de récepteurs de données ou même rassemblent les deux fonctions. Pour un système comportant un certain nombre de sources de données et de récepteurs de données, il est
connu d'utiliser un bus dit de communication pour l'établis-
sement de ladite communication Voir, par exemple l'article de Casaglia dans Euromicro Newsletter, Octobre 1976, volume 2,nO 4, page 5 et suivantes. Jusqu'à présent, ces bus de communication étaient de conception ample, c'est-à-dire
qu'ils comportaient un certain nombre de lignes qui assu-
raient l'établissement efficace de la communication. Des
systèmes à bus de 4 et de 8 lignes, etc., sont bien connus.
L'approche la plus directe du problème d'une communication
248 1 485
asynchrone entre des sources et des récepteurs exige 4 lianes: au moins 1 ligne de données et 3 lignes de commande. Dans ce cas (voir, par exemple, Fall Joint Comp. Conf. 1972, pages 719 à 740) une communication est possible entre les modules sans qu'ils doivent savoir les uns des autres quelle est leur vitesse de traitement interne. Cependant un tel bus de communication est trop compliqué et souvent trop onéreux pour être pris enconsidération comme bus dans les domaines o il s'agit de réduire les frais au minimum. On a cherché des solutions selon lesquelles le bus de communication et
la communication qu'il doit permettre d'établir soient aus-
si simples et aussi peu onéreux que possible. Un bus com-
portant le nombre minimum de lignes de transfert pourrait notanment être envisagé. Le terme "minimum" signifie qu'il y a au moins un milieu de transfert convenant pour le transport d'au moins un niveau logique (O ou 1). Dans la pratique, il peut s'agir d'un câble coaxial, d'une paire de conducteurs (torsadés) ou aussi d'une liaison non câblée
ou d'une liaison par câble en fibres de verre optiques.
Pour ces derniers exemples, on peut imaginer, par exemple,
que la liaison soit établie au moyen d'un faisceau lumi-
neux ou infrarouge d'une onde porteuse modulée par au moins le niveau logique O ou 1. Un exemple connu d'un système à sources de données et à récepteurs de données multiples mentionné dans le préambule est publié dans les documents de conférence EUROMICRO 1976: R. Sommer, "Cobus, a firmware controlled data transmission system", pages 299 à 303. "Cobus" signifie un bus coaxial et la communication s'établit alors entre un certain nombre de postes équipés de microprocesseurs. Ce système ne satisfait cependant pas
à l'exigence de frais peu élevés: pour les divers proces-
seurs, on n'admet pas une grande différence dans la "notion de temps". Pour que la communication se déroule bien, il faut que esprocesseurs participants connaissent à priori les périodes binaires des autres processeurs. Cela signifie que chaque processeur doit être équipé d'un oscillateur à quartz onéreux ou que le système doit comprendre une horloge
centrale ou encore, qu'après assemblage, un réseau de tem-
porisation doit être réglé, ce qui est également onéreux et
surtout peu fiable.
A propos de la recherche d'une solution peu onéreuse et fiable, il convient de noter que cette solution doit aussi être simple car dès qu'un tel système est en service (par exemple chez un client), on ne peut plus le soumettre à des opérations de réglage et autres adaptations spéciales. Ceci est valable d'autant plus lorsqu'une adjonction ultérieure
de nouvelles sources de données et /ou de récepteurs de don-
nées doit pouvoir être prévue à titre d'option pour le sys-
tème. L'invention a pour but de fournir une solution qui sa-
tisfasse aux dites exigences de frais peu élevés, de fiabili-
té, de simplicité et d'une posibilité d'extension ultérieure en option. A cet effet, le système à sources de données et à récepteurs de données multiples mentionné dans le préambule
est caractérisé en ce que: -
- il comporte plusieurs générateurs de signaux d'horlo-
ge présentant des tolérances réciproques, et - dans la ou les sources et le ou les récepteurs sont présents des moyens à l'aide desquels pour la ou toutes les
sources ou le ou tous les récepteurs qui participent active-
ment à une action se rapportant à une communication (partici-
pants à l'action), on peut déterminer si ledit bus est "prêt" pour l'exécution de ladite action, les dits moyens: comportant des premiers et seconds moyens assurant la détection, au moyen desquels on peut établir que pendant une première ou une deuxième durée (par exemple TAi ou TBi) le tus de communication est prêt pour l'action en question, la première durée étant inférieure à la deuxième (par exemple TAi <, TBi) et cette première durée étant déterminée par un facteur de temps (par exemple aAi) participant à l'action en question et la deuxième durée étant en relation avec le produit le plus grand (R.V) de l'ensemble de produits (Ri.Vi) de tous les participants potentiels à l'action, les produits (Ri.Vi) étant formés pour chaque participant à l'action par
un facteur de tolérance (Ri) du générateur de signaux d'hor-
loge pour le participant à l'action et par un facteur de temps de réaction (Vi) de ce participant, 5. étant entendu que, dans le cas o un participant à
l'action détecte que la deuxième durée (T Bi), pour ce parti-
cipant et pour tous les autres participants à l'action qui
ont détecté dans l'entre-temps, au moins pendant leur pre-
mière durée en question, que le bus est prêt, le bus est
(effectivement) prêt pour l'exécution de l'action en ques-
tion et peut donc être occupé par cette action.
Suivant l'invention, on admet dans une large mesure que
les générateurs de signaux d'horloge présents dans le systè-
me ont des tolérances réciproques. On tient compte de ces tolérances: selon que les tolérances sont plus grandes, la dite deuxième durée sera plus longue par la dépendance du facteur de tolérance (R). Cela signifie bien sûr une moindre vitesse de communication, mais ne nuit pas au respect des exigences imposées. Il convient de noter à ce propos que, dans les systèmes en question, par exemple dans un système destiné à la grande distribution, le facteur vitesse ne joue pas un rôle aussi décisif que dans les systèmes à vocation plutôt professionnelle dans lesquels l'utilisation de bus de communication à plusieurs lignes (par exemple 4 ou 8, etc.)
n'est à priori pas prohibitive.
Dans un système à sources de données et à récepteurs de données multiples, en principe deux sortes de sources et/ou de récepteurs peuvent être prévus: à savoir des sources et
des récepteurs actifs et passifs.
- Actifs, qui peuvent participer activement et de maniè-
re autonome à une action ayant trait à une communication.
Cette catégorie sera aussi parfois désignéepar le terme "mo-
dule". Une telle source ou un tel récepteur peut ainsi deve-
nir maître du système. D'autre part, ces sources et/ou ré-
cepteurs actifs peuvent par leur choix propre rester passifs ou, à cause d'une priorité plus élevée d'une autre source active ou d'un autre récepteur actif, être forcés à rester
passifs. Dans ces derniers cas, ces sources et/ou ces récep-
teurs peuvent parfaitement remplir un rôle d'esclave dans le système. Passifs, qui ne peuvent pas prendre de manière autono-
me une initiative permettant d'obtenir une liaison de com-
munication. Une telle source et/ou un tel récepteur ne pour-
ront ainsi remplir qu'un rôle d'esclave du système.
Lorsque (comme ci-dessus et ci-après) il est question des "participants à l'action", on entend la ou les sources actives et/ou le ou les récepteurs actifs qui, à un moment
déterminé, ont participé effectivement à une action se rap-
portant à une communication. (Ceci ne doit donc pas corres-
pondre au nombre total de sources de données et de récep-
teurs de données actifs présents, puisque la situation n'est
pas toujours telle que tous désirent participer). Il con-
vient d'insister encore une fois sur le fait qu'il va de soi
qu'une source de donnés peut aussi être un récepteur de don-
nées et inversement. L'invention est basée sur le principe que tous les participants à l'action doivent avoir l'occasion de participer effectivement à une action se rapportant à une communication. Les tolérances d'horloge réciproques ne peuvent pas aboutir au fait que des participants à une action
dont l'horloge est trop lente ne puissent pas participer (par-
ce qu'ils ne réagissent pas assez rapidement pour intervenir
dans une telle action). Pour atteindre ce résultat, l'intro-
duction desdites première et deuxième durées (par exemple
TAi et TBi) introduit un mécanisme dit "d'induction" qui ga-
rantit que tous les participants à une action puissent effec-
tivement y participer. Explication: supposons que plusieurs modules souhaitent utiliser le bus. A cet effet, ils doivent attendre jusqu'à ce que le bus y soit "prêt" pendant un temps suffisamment long. Supposons, en outre, que le générateur de signaux d'horloge local d'un premier module fonctionne plus rapidement que celui d'un deuxième module. Le premier module peut ainsi savoir si le bus est libre, c'est-à-dire s'il est"prêt" à être utilisé, plus rapidement (après TBi)
que le deuxième module. Le premier module commence à utili-
ser le bus ("occupe" le bus). Le mécanisme d'induction assure
maintenant que le deuxième module (qui a lui-même entre-
temps détecté le moment TA2), après avoir remarqué qu'un autre module (le premier) commence à utiliser le bus, y réagit en commençant lui aussi à utiliser le bus. Le concept du temps de réaction d'une source de données et d'un récepteur de données se rapporte au temps nécessaire
à un tel module pour réagir à un bit d'information. Normale-
ment, le temps de réaction est le produit d'un facteur Vi ' 1 et de la durée d'une période de signal d'horloge pour
un tel module (Mi).
On a utilisé ci-dessus plusieurs fois le concept "action se rapportant à une communication". Une communication est constituée d'un certain nombre d'actions, à réaliser: - le lancement de requêtes ("start") de plusieurs participants jusqu'à l'établissement d'une liaison de communication; l'exécution, sur la base de données de priorité et/ou d'adresses, d'une procédure de sélection parmi plusieurs participants exigeant une liaison de communication (choix de maître);
- le maître établit une liaison avec la source ou le récep-
teur qui sert d'esclave dans cette communication (phase dite "d'esclave ouvert");
- le transfert de données lui-même.
Le mécanisme d'induction proposé conformément à l'in-
vention est important, notamment pour la première des deux actions citées: plusieurs participants à l'action doivent
pouvoir participer en dépit de leurs tolérances d'horloge.
Pour les deux dernières actions citées, ceci n'est en soi plus critique car il s'agit de la liaison directe entre un
maître et un esclave qui est adressée et qui entame un trans-
fert de données avec le maître. Etant donné que le maître sait donc alors qui est l'esclave, on peut imaginer qu'il connaît aussi sa vitesse de réaction et qu'il en tient compte pendant le transfert de données. Il sera alors possible en pratique, d'adapter la vitesse de transfert de données à la situation du maître et de l'esclave l'un par rapport à l'autre: des vitesses plus élevées peuvent alors être atteintes. Il ne
faut pas tenir compte de sources de données et/ou de récep-
teurs de données réagissant plus lentement.
Pour rendre "l'induction" possible, notamment pour la-
dite première action, le système à sources de données et à récepteurs de données multiples conforme à l'invention est caractérisé en ce que lesdits moyens sont conçus pour établir que le bus de communication est prêt pour le traitement d'une
action concernant le lancEemnt: d'une requête (start) de plu-
1< sieurs participants jusqu'à l'établissement d'une liaison de communication. Pour rendre "l'induction" possible, notamment pour ladite deuxième action, le système à sources de données et à récepteurs de données multiples est caractérisé en ce que lesdits moyens sont conçus pour établir que le bus de communication est "prêt" pour le traitement d'une action concernant l'exécution, sur base de données de priorité et/ou d'identité, d'une procédure de sélection parmi plusieurs sources de donnés et/ou récepteurs de données demandant une liaison de communication à titre de participant(s) à une
action.
Pour aboutir à des décisions rapides et sans équivoque sur le bus de communication aux cas o plusieurs participants à une action présentant leurs données au bus, une autre formé de réalisation du système à sources de données et à récepteurs de données multiples est caractérisée en ce que
le bus de communication formé d'au moins un milieu de trans-
fert est pourvu, pour chaque endroit de connexion d'un par-
ticipant à une action, d'une fonction de porte logique ca-
blée ("wired AND" ou "wired OR").
Des solutions particulièrement importantes sont celles selon lesquelles le bus de communication est formé d'un seul ou de deux milieux de transfert. Dans ce cas, pour l'action concernant le lancement d'une requête (start) de plusieurs participants à une action, le système comportant un seul milieu de transfert a une seconde durée minimale TBi qui,
pour chaque participant potentiel (Mi), satisfait à l'ex-
pression TB a Tci < R.V).Tci, dans laquelle Tci est la
Bi ---
période du générateur de signaux d'horloge pour ce partici-
pant (Mi). De plus, dans ce cas, le système comportant deux milieux de transfert a une seconde durée minimale
T = (R.V).Tci.
Bi Pour l'action concernant la procédure de -sélection, le
système qui comporte un seul milieu de transfert a une secon-
de durée minimale TFi = aF Tci = (R.V).Tci. De plus, dans
ce dernier cas, le système comportant deux milieux de trans-
fert a une seconde durée minimale TFi = (R.V). Tci.
Une forme d'exécution adéquate d'une source de données
et/ou d'un récepteur de données conçus pour participer acti-
vement dans le système en question à une action se rapportant à une communication, est caractérisée en ce que la source de données et/ou le récepteur de données ont au moins une entrée de commande et une sortie de commande et, dans la source et/ou le récepteur, les dits moyens:
- par l'intermédiaire de la sortie de commande, après établis-
sement dans les seconds moyens assurant la détection que la
dite seconde durée (par exemple TBi) s'est écoulée, conver-
tissent un niveau logique "prêt" sur le bus de communica-
tion en un niveau logique "occupé", - produisent, à la sortie de commande, également le niveau logique "occupé" au cas o le niveau logique "occupé" placé
sur le bus par un autre participant est reçu par l'intermé-
diaire de l'entrée de commande et o, de plus, la source et /ou le récepteur ont eux-mêmes établi entre-temps, à l'aide des premiers moyens assurant la détection, qu'au moins la première durée (par exemple TAi) s'est écoulée, de sorte que la source et/ou le récepteur peuvent ainsi être
commandés en vue de la participation à l'exécution d'une ac-
tion envisagée.
Dans la pratique, il arrivera que ladite source de don-
nées et/ou récepteur de données soient un processeur de si-
gnaux numériques qui comporte des moyens de fonction pro-
grammés qui comprennent lesdits moyens et dont une entrée fonctionne comme ladite entrée de commande et une sortie comme
ladite sortie de commande.
248 1 485
Pour le processeur de signaux numériques utilisé de la
manière précitée comme source de données et/ou comme récep-
teur de données, on peut réaliser une amélioration par le fait que, pour la source et/ou le récepteur, un détecteur de transition de niveau logique "prêt" - "occupé" est prévu, au moyen duquel une transition "prêt" "occupé" fournit sur le bus de communication un temps de réaction raccourci pour la production par la source de données et/ou par le récepteur lui-même, à sa sortie de commande, du niveau logique "occupé" lorsqu'il a, en outre, établi entre temps qu'au moins la
première durée est écoulée. Le temps de réaction de la sour-
ce et/ou du récepteur est ainsi diminué, ce qui entraîne une
amélioration de la vitesse de communication.
Dans les cas o cela se justifie, sur la base du type de source de données et/ou de récepteur de données utilisés et/ou sur une base économique, il est possible d'obtenir
une solution favorable notamment quant au temps de réaction.
A'cet effet, la source de données et/ou le récepteur de
données sont caractérisés en ce qu'ils comportent une pre-
mière et une seconde partie, la première partie contenant es-
sentiellement la fonction de source et/ou de récepteur et étant connectée à la seconde partie par au moins une sortie de requête et une entrée d'accusé de réception, la seconde partie comportant respectivement une entrée de requête et une sortie d'accusé de réception et étant en outre pourvue desdits moyens servant à établir si le bus de communication est prêt pour l'exécution d'une action se rapportant à une communication, la seconde partie, qui comporte ladite entrée
de commande et ladite sortie de commande, pouvant être con-
nectée au bus. Il est alors aussi possible que ladite secon-
de partie comporte également des moyens de comparaison d'i-
dentité au moyen desquels l'identité propre de la source de données et/ou du récepteur de données peut être comparée
à une identité présentée par l'intermédiaire du bus de com-
munication. Une forme d'exécution spéciale de la solution précitée
est en outre caractérisée en ce que lesdits moyens compor-
tent dans la seconde partie une mémoire morte, un compteur d'adresses et un élément logique à fonction ET, la mémoire morte pouvant être adressée par le compteur d'adresses; le compteur d'adresses compte des signaux d'horloge qui sont présentés par l'intermédiaire d'une entrée du générateur de signaux d'horloge à partir de la première partie après qu'un
signal de requête ait été reçu par l'intermédiaire de l'en-
trée de requëte; lorsque l'état du compteur représentant la première durée (TAi) est atteint, la mémoire monfaIreoeéefaunit un bit de sortie au moyen duquel l'élément logique à fonction ET est positionné; lorsque l'état du compteur qui représente la seconde durée (TBi) est atteint ou plutôt lorsque, par l'intermédiaire de l'entrée de commande le signal bus "prêt"
se transforme en signal bus "occupé" ce qui force le comp-
teur, par l'intermédiaire de l'élément à fonction ET dans la position de comptage de la seconde durée (T Bi, la mémoire
morte fournit, à partir de l'endroit alors adressé, égale-
ment le niveau logique "occupé" à la sortie de commande.
Finalement, il convient de noter qu'il est ici égale-
ment encore possible que la mémoire morte adressée au moyen du compteur d'adresses convienne, en coopération avec les
moyens comparateurs d'identité, pour l'exécution de la com-
paraison d'identité.
Le bus de communication est formé d'au moins un milieu
de transfert. Il s'agit là de la solution la plus avantageu-
se, à condition que la vitesse de communication ne soit pas trop élevée, parce que lE tolérances du générateur de signaux
d'horloge jouent un grand rôle.
Des solutions comportant un plus grand nombre de mi-
lieux de transfert sont aussi possibles à l'aide du principe d'induction conforme à l'invention. Plus particulièrement, un système à sources de données et à récepteurs de données multiples est caractérisé à cet effet en ce que le bus de communication est formé de deux milieux de transfert dont le premier sert de milieu de transfert de commande et l'autre
de milieu de transfert de données, au moins chaque partici-
pant à une action étant pourvu d'une borne d'écriture et
d'une borne de lecture sur le milieu de transfert de comman-
de ainsi que d'une borne d'écriture et d'une borne de lecture sur le milieu de transfert de données. Une autre réalisation
est caractérisée à cet effet en ce que le bus de communica-
tion est formé de trois milieux de transfert dont deux ser-
vent de milieux de transfert de commande et le troisième de milieu de transfert de données, au moins chaque participant à une action étant pourvu de bornes d'écriture et de lecture
sur les milieux de transfert de commande et d'une borne d'é-
criture ainsi que d'une borne de lecture sur le milieu de
transfert de données. Une autre réalisation spéciale à mi-
lieux de transfert multiples est caractérisée en ce que le
bus de communication est formé de trois milieux de trans-
fert dont l'un sert de milieu de transfert de commande et les deux autres de milieux de transfert de données, au moins chaque participant à une action étant pourvu d'une borne
d'écriture et d'une borne de lecture sur le milieu de trans-
fert de commande et de bornes d'écriture ainsi que de bornes
de lecture sur les milieux de transfert de données.
L'invention sera expliquée ci-après plus en détail et à titre d'exemple avec référence aux dessins annexés, dans lesquels:
- la figure 1 illustre schématiquement un certain nom-
bre d'actions constituant la communication passant par un bus de communication; - la figure 2 illustre un système à sources de données et à récepteurs de données multiples comportant une seule ligne comme milieu de transfert;
- la figure 3 illustre le diagramme de temps correspon-
dant au système représenté sur la figure 2; - la figure 4 illustre un système à sources de données, et à récepteurs de données multiples comportant deux lignes comme milieux de transfert;
- la figure 5 illustre le diagramme de temps correspon-
dant au système représenté à la figure 4; - la figure 6 illustre un système comportant trois lignes comme milieu de transfert;
- la figure 7 illustre une réalisation légèrement modi-
fiée du système comportant trois lignes comme milieu de transfert;
- les figures 8a et 8b illustrent des exemples de modu-
les qui ont la forme d'un processeur de signaux numériques 1 - la figure 9 est un organigramme pour le traitement.&c interruptions;
- la figure 10 est un organigramme d'un programme prin-
cipal; - la figure 11 est un organigramme d'une procédure d'interruption la figure 12 est un organigramme d'une procédure d'interruption détaillée; - la figure 13 est un organigramme de l'examen bus
"prêt"; -
- la figure 14 est un schéma synoptique d'une source de
données et/ou d'un récepteur de données formés d'une premiè-
re partie et d'une seconde partie;
-éla figure 15 est un schéma détaillé du schéma synop-
tique de la figure 14; - la figure 16 est un diagramme de bits de temps pour le schéma de la figure 15, et
- la figure 17 est le schéma d'un détecteur de "transi-
tion prêt - occupé".
La figure 1 illustre schématiquement les actions qui
peuvent constituer une communication passant sur un bus.
- Attendre jusqu'à ce que le bus soit prêt pour une action
se rapportant à une communication (bloc 20). Le bus est con-
sidéré comme "prêt" lorsqu'il ne présente aucune action pen-
dant un temps suffisamment long. Dans ce cas, il s'agit de
faire connaître cette situation "bus prêt" à tous les par-
ticipants de telle sorte qu'ils puissent tous participer à
l'action suivante.
--l'arbitrage (bloc 22) est cette action suivante qui se rap-
porte à l'exécution d'une procédure de sélection sur la base
des données de priorité et/ou d'identité. Ceci permet de dé-
terminer le module qui devient maître dans le système.
- Sélection d'esclave (bloc 24): le maitre donne une adresse de destination. Tous les modules comparent cette adresse à leur identité propre. La source ou le récepteur qui constate une concordance, se considère comme esclave. Ceci est
la phase dite "d'esclave ouvert".
- Cette source ou ce récepteur fera, dans la plupart des cas, encore connaître sa propre identité au maître de telle sorte que celui-ci puisse vérifier si l'esclave correct a été
choisi (bloc 26).
- transfert de données (bloc 28). Les données à transférer 1o sont transportées sur le bus. L'esclave considère que le transfert est terminé lorsqu'il constate que le bus est à
nouveau libre (aucune action dans une période déterminée).
A cause du fait qu'après l'arbitrage et la sélection d'escla-
ve, une liaison de point à point est normalement présente, d'autres restrictions de durée que les précédentes peuvent
être valables. Ces restrictions peuvent être choisies de ma-
nière optimale pour la configuration maitre-esclave en ques-
tion, de telle sorte que l'on puisse obtenir uïie vitesse de transport de données plus élevée. Pendant le transfert de données, une protection contre les erreurs de transfert de bits peut intervenir. Cette protection peut être assurée
par une procédure dite d'écho de bits selon laquelle le ré-
cepteur réémet chaque bit (sous la forme d'écho). La source
compare alors le bit émis au bit reçu.
Il convient de noter que non seulement le bloc 26, mais aussi le bloc 28 peuvent ne pas toujours être présents. Il arrive qu'un maître termine sa mission de communication par
l'ouverture d'un esclave. Dans les systèmes conformes à l'invention, le transport de l'information
s'effectuera en général par séries de bits
* par l'intermédiaire du milieu de transfert au moins unique.
Comme déjà décrit, ceci suscite des difficultés de synchro-
nisation lorsqu'aucune horloge centrale, aucun oscillateur
à quartz et aucun réseau d'ajustement ne doivent ou ne peu-
vent être utilisés.
L'invention admet, à cause du principe dit "d'induction" que les horloges dans le système qui peuvent être présentes, notamment pour chaque module ou éventuellement pour chaque groupe de modules, présentent des tolérances. On suppose que pour chaque source active et/ou chaque récepteur actif, il T. max existe une tolérance R.: R. l_. Par exemple: une il 1 T. min
déviation de -20 % jusqu'à +801% donne R. = 2,25. On admet-
tra ci-après que toutes les durées de chaque source active
et/ou de chaque récepteur actif sont proportionnelles au gé-
nérateur de signaux d'horloge (T Ci) associé à cette source
active et/ou à ce récepteur actif.
La figure 2 illustre un système à sources de données-
récepteurs de données multiples comportant une seule ligne comme milieu de transfert. Sur la figure 2, C est le bus à ligne unique permettant de transporter un niveau logique O ou 1 Ml, M2,... Mn désignent des sources de données et des récepteurs de données. Il peut s'agir de sources actives et passives et/ou de récepteurs actifs et passifs. Etant donné qu'il est sans importance pour l'explication de l'invention qu'en dehors des sources et/ou de récepteurs actifs il puisse y en avoir aussi des passifs, on supposera ci-après
que, dans les exemples, seules des sources de données acti-
ves et des récepteurs de données actifs sont présents. Ceux-
ci seront désignés ci-après de manière générale par le terme
générique "module".
Chaque module peut lire et/ou écrire des données à par-
tir de la ligne ou vers celle-ci; toutefois, pour l'établis-
sement d'une liaison de communication, il faut que tous les
modules puissent lire des informations de commande de commu-
nication du bus de communication et les écrire vers celui-ci.
Chaque module comporte à cet effet une sortie CW (module MI), CW (module M2),... pour l'écriture vers le bus et une entrée CR pour la lecture depuis le bus. L'information sur C est alors égale à l'information présente aux entrées CR (module Ml), CR (module M2),... CR (module Mn). Pour l'écriture, on admet que la ligne C du bus a une fonction de porte logique
câb.ée: une porte ET câblée ou une porte OU câblée. En rela-
tion avec les exemples utilisés plus loin dans cette descrip-
tion et la définition des signaux choisis du niveau logique "occupé" = "bas" = O et "libre" = "haut" = 1, on utilise la fonction logique ET pour déterminer le niveau logique sur le bus. Le niveau sur la ligne C est donc déterminé par C = CW(M1).CW(M2)... Comme on le sait, une porte ET câblée
peut, par exemple, être réalisée avec les dispositifs d'ex-
citation de bus à collecteur ouvert.
La figure 3 est un diagramme de temps qui correspond à
l'exemple de la figure 2. Dans ce diagramme de temps, C re-
présente les signaux sur le bus, CW(M1) et CW (M2) indiquent les états des signaux aux sorties d'écriture des modules Ml
et M2. Dans cet exemple, on suppose que les deux modules lan-
cent une requête de communication. De plus, dans oet exemple,
le générateur de signaux d'horloge du module MI est plus rapi-
de que celui du module M2. Vues dans le temps, les opérations
suivantes se déroulent.
1) Un maître précédent du système (un module Mi) a
achevé d'utiliser le bus. -
2) Lorsque, après une première durée TAl (dans ce cas donc pour Ml), la ligne C n'a pas changé de niveau logique, le bus est considéré comme "libre". (C=1). Lorsque le bus reçoit le niveau logique "occupé" (C = O) avant que la durée
T soit écoulée, il est considéré comme en cours d'utilisa-
Al
tion. On attend alors à nouveau jusqu'à ce que le bus devien-
ne libre. Voir à gauche de 1.
3) Après TAl, on attend jusqu'à ce que la seconde du-
rée TBl soit écoulée avant que le module MI ne commence à
intervenir pour utiliser le bus. Cette intervention est ef-
fectuée par-l'envoi d'un bit de démarrage: CW (MI) donne le niveau logique "occupé", à la suite de quoi C devient égal à 0. Dans l'entre- temps, le module M2 a parcouru sa première durée TA2 et constate, sur la ligne C, que C devient égal à 0. Le module M2 réagit alors en produisant aussi le niveau logique "occupé" sur sa sortie CW (M2). Ceci ne se produit pas directement car le module a besoin d'un temps de réaction avant que ceci soit effectué. Ce temps de réaction est indiqué
par TR2. Il sera encore question ci-après de manière plus dé-
taillée des durées que l'on vient de mentionner, du temps de
réaction et des tolérances des générateurs de signaux d'hor-
loge qui sont importantes dans toutes les opérations afin
de parvenir à comprendre les diverses interdépendances.
La partie entre 1) et 3) est indiquéepar WBF sur la figure 3 et se rapporte donc à l'action "attendre jusqu'à ce que le bus soit prêt", c'est-à-dire l'envoi de toutes les
requêtes "start" de tous les participants.
4) Le bit de démarrage dure pendant un temps (Tii) (module Ml) ou (T12) (module M2). Sur la ligne C, il s'agit de Tsb en raison de la fonction ET câblée. Un bit de données (niveau haut ou bas) est ensuite placé sur le bus. Ceci est effectué aussi bien par le module participant Ml que par le module M2. Le premier bit de données présenté est le bit d'ordre le plus élevé de l'identité de chacun des modules Ml
et M2.
) Au moment t=T21, le bit de données est lu sur C par le module Ml. Au moment t=T22, ce bit de données est lu par le module M2. Dans le module M2, ceci se produit donc
plus tard parce que son horloge est lente.
Cette partie de la communication se rapporte à l'action servant à effectuer une sélection entre les participants à une action sur base des données d'identité. Ceci permet de déter} miner qui devient maitre. Cette opération est aussi qualifiée d'arbitrage. Les modules comparent leurs bits par la fonction ET câblée: ils commencent donc dans ce cas par leur bit de l'ordre le plus haut et le résultat est qu'un signal "bas"
présenté gagne par rapport à un signal "haut" présenté. Aus-
sitôt qu'un participant à une. action voit, par l'intermédiai-
re de son entrée de lecture, qu'un signal "haut" qu'il pré-
sente est rendu manifestement "bas", par un autre, ce parti-
cipant retire sa participation et admet donc qu'il a perdu l'arbitrage. Dans les phases suivantes, ce module n'est donc plus un participant actif et maintient (de même que tous les autres non-participants) sa sortie à un niveau logique
248 1485
"haut": CW (Mi) = 1.
6) Après T31 ou T32, un bit d'arrêt est émis (par les participos encore actifs). Ce bit est un signal logique "haut". 7) A partir d'une autre première durée TEl ou TE2' les participants (encore) actifs cherchent si une transition apparaft sur la ligne C C=1 A 0. Ceci désigne un nouveau bit de démarrage. Cette partie de la procédure concerne le
traitement du premier bit de données: TFB sur la figure 3.
8) Cette attente, voir en 7) dure jusqu'à ce qu'une
autre seconde durée (Tri) se soit écoulée. A ce moment, in-
tervient à nouveau le principe dit "d'induction" après TEl (pour le module MI) et TE2 (pour le module M2), qui doivent donc à nouveau être désignés comme première durée, on attend
jusqu'à ce qu'un des deux modules franchisse sa propre se-
conde durée TFi ou TF2. Le module Ml atteint en premier lieu
(horloge plus rapide) sa durée T 1 et un nouveau bit de dé-
marrage pour les deux modules apparait alors sur la ligne C. Cependant, comme mentionné en 3), le module M2 vient avec un
léger retard: après son temps de réaction TR2.
Après TFi apparait une transition C=1-> O - un nouveau bit de démarrage. A partir de ce moment, toutes les phases
4) - 8) sont à nouveau parcourues: traitement TSB du deuxiè-
me bit de données, etc. Ceci est répété au moins jusqu'à ce
que tous les bits de données qui sont nécessaires pour éta-
blir la liaison de communication aient été traités. On peut
se référer dans ce cas aux blocs et à leur description donnée
avec référence à la figure 1 dans laquelle il est mentionné
que, lorsque la liaison est établie, les restrictions tempo-
relles peuvent varier et un transfert de données de point à
point plus rapide est possible entre un maître et un esclave.
Pour la compréhension de l'invention, une explication
des relations entre les durées précitées est importante.
Pour la forme d'exécution expliquée avec référence aux figures 2 et 3, on peut calculer ce qui suit. On suppose que Tci est
la période du générateur de signaux d'horloge local d'un mo-
dule Mi. On suppose qu'un module est conçu de manière que toutes les durées intéressantes soient dérivées de la dite période Tci: TRi = aRi. Tci; TAi = aAi' Tci; TBi = aBi. 6ci; Tli = ali.Tci; T2i = a2i.Tci; T3i = a3i.Tci; TEl = aEi.Tci; TFi = aFi.Tci... dans ces relations les symboles a-l sont des constantes W
aAi et aEi sontdes facteurs de temps prêt internes. aAi con-
cerne le nombre de périodes d'horloge qui est nécessaire dans un module Mi pour une requête d'établissement d'une liaison
de communication. AEi concerne le nombre de périodes d'hor-
loge dont un module Mi a besoin pour présenter après un bit de données un bit d'arrêt (après T31). Pour atteindre le but fixé, à savoir réaliser quand même une bonne liaison de communication avec une seule ligne; sans que des conditions rigoureuses doivent être imposées aux horloges prévues dans
le système, il faut que les symboles aBi et aFi soient vala-
bles pour l'ensemble du système et pas seulement pour le modu-
le Mi. Lesdites secondes durées TBi et TFi sont en effet cri-
tiques pour un bon traitement des actions. Ci-après sont
indiquées les conditions auxquelles, aBi et aFi doivent satis-
faire. Le diagramme exigences il faut actions: de temps de la figure 3 montre à quelles satisfaire en vue d'un bon traitement des TR < Ti....... (2A) Tli T2....... (2B) T2i T3i....... (2C) T3i TFi.(2D) TEi T Fi. (2E) TFi Ti....... (F TFi < T. (2F) TAi Bi....... (2G) Dans ces relations, T signifie une durée une durée minimum. Par définition: facteur de Ri = Tci/Tci. Ainsi et compte tenu de 1) et de maximum et T tolérance 2): ali/aRi > Ri....... (3A) a2i/ali Ri....... (3B) a3i/a2i > Ri....... (3C) aFi/aEi Ri....... (3D) aAi/aF i....... (3E) abi/aAi > Ri....... (3F)
et, en outre aEi > a31 (au moins inégaux)... (3G).
Au départ du fait que l'on recherche normalement une situation offrant la vitesse de communication la plus élevée possible, on peut écrire (3A à 3F) avec (3G) de la manière suivante: ali = Ri.aRi....... (4A) a2i = Ri.ali..
... (4B) a31 = Ri.a2i....... (4C) aFi = Ri.a3i....... (4D) aAi =Ri.a.i....DTD: ... (4E)..DTD: aAi = i Fi....
aBi = Ri.aAi....... (4F) I1 en résulte donc que aFi = Ri.aRi = Ri.Vi (5A)
5 5
(a Ai = Ri.aRi = Ri.Vi (5B))
6 6
aBi = Ri.aRi = Ri.Vi (5C) et aEi > Ri.aRi.... (5D) Ceci est valable par module. Etant donné que pour ces symboles, il s'agit pour l'ensemble du système de rendre les actions (bus "prêt", "sélection de maitre") possibles
sans erreur, il faut choisir en tant que constante du systè-
me pour aBi = aB et aFi = aF la valeur la plus élevée dans l'ensemble des produits qui y sont associés. Cela signifie
donc que le plus grand produit de facteurs Ri et Vi de l'en-
semble de tous les produits de Ri et Vi des modules est dès lors décisif. Des modules présentant une grande tolérance d'horloge et un temps de réaction important fournissent de grands produits de Ri et Vi, mais des modules présentant une faible tolérance d'horloge et un temps de réaction très grand et vice versa fournissent aussi de grands produits de Ri et Vi. Ce plus grand produit est désigné par R.V. Les dépendances des secondes durées sont ainsi fixées: ab =R6.V et aF = R4.V.......... (6) Ainsi, TBi = R. Tci et TFi = R4.V.Tci.... (7) 6 Fi V = V est donc ici le facteur de temps de réaction de P ce module M déterminé pour lequel le plus grand produit V.R p est obtenu avec R = R de ce module. Le temps de réaction P de ce module est TRp = V.Tcp. On obtient ainsi les secondes
durées les plus petites possibles.
T = R. T et T = R4. T (8) =-B -Rp -F -RpI TF est une mesure pour la durée du cycle minimum ("frame") pour la communication d'un bit de-données pendant une action
se rapportant à une communication.
Dans la pratique, le temps de réaction interne TRi d'un module Mi ne peut pas être réduit de manière illimitée, ceci
dépendant de la mise en oeuvre choisie. Au cas o une commu-
nication s'établit avec un microprocesseur programmé, on peut atteindre actuellement une valeur de TRi de, par exemple, microsecondes. Pour une réalisation entièrement "hardware"
desdits moyens, on peut prévoir pour TRi, par exemple une va-
leur der2 à 0,2 microseconde. Pour des horloges pilotées par quartz, R est très proche de 1, mais lorsqu'on utilise des horloges peu onéreuses, par exemple des horloges comportant des oscillateurs RC simples, (ce que l'on suppose ici), R peut atteindre un facteur 4 ou même plus Exemple numérique d'une situation possible:
supposons R = 4 et TRi = 10 microsecondes.
Dans ce cas, TBp = 46.10O 40 millisecondes et Bp- T = T (frame),j 2,6 millisecondes et donc F T (frame) = R.T. (frame) = 10,4 millisecondes
Et en outre TBp = 160 millisecondes.
B Ceci signifie que dans la pire éventualité ("worst case"), la vitesse de communication lors d'une action est d'environ
99 bauds.
248 1485
Au cas o TRp = 2-0,2 microsecondes (grâce à du "hard-
ware" présent à cet effet, voir en outre les figures 14 et 15),
ladite vitesse la plus basse serait élevée jusqu'à 500 -
000 bauds. Il convient de noter qu'il est possible de réduire la valeur de TRi aussi dans le cas o la procédure est commandée
par un processeur de signaux programmé. A cet effet, un dé-
tecteur simple de passage du niveau "haut" vers le niveau
"bas" peut être prévu entre la ligne de bus C et le module.
Le détecteur fonctionne de la manière suivante: dès que le
bus passe vers "bas" (C- 0), par l'intermédiaire d'un cir-
cuit, il établit la relation CW (Mi) = 0.
Il convient de noter qu'il résulte de ce qui précède
que, lors de la définition d'un système conforme à la présen-
te demande, on peut donc établir quel pourra être le produit le plus grand (R.V). En d'autres termes, compte tenu d'un module le plus "mauvais" possible qui peut encore être admis
dans le système, on obtient la certitude que tout se dérou-
lera de manière correcte en respectant ledit produit (R.V.).
La figure 4 illustre un système à sources de données et
à récepteurs de données multiples dans lequel le bus mono-
ligne de la figure 2 est muni d'une ligne supplémentaire. Ce
bus à deux lignes qui, à cause de la présence des deux li-
gnes convenant chacune pour le transport d'un niveau logique et 1, est plus onéreux que le bus à une seule ligne, a l'avantage qu'une vitesse de communication plus élevée peut être atteinte. Ml, M2,... Mn sont à nouveau des modules qui peuvent se présenter comme des participants actifs à une action. K est une ligne de commande et D est une ligne de - 30 données. Chaque module comporte une sortie d'écriture KW
vers la ligne de commande K et une entrée de lecture KR de-
puis cette ligne de commande. Chaque module comporte, en outre, une sortie d'écriture DW vers la ligne de données D
et une entrée de lecture depuis cette ligne. Les deux li-
gnes ont la propriété de fonction câblée ET: K =
KW(Ml).KW(M2)... et D = DW(Ml)"DW(M2)..
La figure 5 illustre le diagramme de temps qui corres-
pond au système de la figure 4. En principe, dans ce cas-ci, le déroulemeit des opérations est à peu près le même que dans
le cas de la figure 3, la différence se situant dans la ré-
partition des actions sur les lignes K et D. On admet à nou- veau que le module Ml est plus rapide que le module M2. Vu
dans le temps, il se produit ce qui suit.
1) Un maitre précédent a cessé d'utiliser le bus. Tous les participants à une action entament le décompte du temps
TAi, en attendant que le bus sgit "prêt" (C = 1).
2) Lorsque, après la première durée TAi (dans ce cas-ci pour le module Ml de TAl), la ligne K ne change pas de niveau logique, le bus est considéré comme "libre". Lorsque le bus reçoit le niveau logique "occupé" (K = O) avant que la durée TA. se soit écoulée, le bus est considéré comme étant en cours d'utilisation. Dans ce cas, on attend à nouveau jusqu'à
ce que le bus devienne libre. Sur la figure 5, l'état d'uti-
lisation du bus est indiqué par BTU. Au cas o le bus est "prêt" (après TAi) un bit de données (DB) du module Mi est placé au point 2 par l'intermédiaire de la sortie DW(Ml) sur la ligne D. Il en est de même pour le module M2 au terme de sa première durée TA2. Un bit de données (DB) est placé sur
la ligne D par l'intermédiaire de la sortie DW(M2). La fonc-
tion ET câblée de la ligne D détermine le résultat des deux
bits de données présentés (un "O" efface un "1").
3) Le module (ici Ml) qui constate en premier lieu que sa deuxième durée TBi (ici TB) s'est écoulée, place un niveau logique O sur la ligne K: par l'intermédiaire de la
sortie d'écriture KW(Ml), K devient égal à zéro. D'autres mo-
dules qui, entre-temps, ont constaté que leurs premières du-
rées TAi s'est écoulée, y réagissent: "induction" et écri-
vent eux aussi (après leur temps de réaction TRi) un O sur la ligne K. Sur la figure 5: en 3) après TR21 un O est
inscrit sur la ligne K par l'intermédiaire de la sortie d'é-
criture KW(M2). Cette phase est la phase d'attente jusqu'à
ce que le bus soit "prêt": WBF sur la figure 5.
4) Après l'action K =- 4o précitée, la ligne de données D est analysée: chaque module qui participe à l'action analyse la ligne D après un temps Tsi (les différences sont à nouveau provoquées par les tolérances d'horloge). Le niveau
de la ligne D vers les modules est ainsi lu par l'intermé-
diaire de leurs entrées DR(M1) et DR(M2)...
) Après l'analyse, un niveau logique 1 est inscrit
sur la ligne K par tous les modules intéressés par l'inter-
médiaire de leur sortie KW(Mi). Le module Ml effectue cette
opération après la durée T21. Le module M2 et-les autres mo-
dules éventuels effectuent cette opération à d'autres moments T2i, étant entendu que:
6) au moment 6),tous les modules ont, par l'intermé-
diaire de leur sortie KW(Mi), amené la ligne K sur 1. Ainsi, la ligne K est effectivement passée au niveau 1 (fonction
ET câblée).
7) Après avoir détecté la transition 6), tous les par-
ticipants à une action fournissent un nouveau bit de données (DB) à la ligne D. Le module Ml le fait après la durée TEi' à partir du moment 6). TEi est une durée qui est nécessaire dans le module Mi pour fourni4 unnouveau bit de données à la ligne D. D'autres modules font de même et ce en tout cas avant que TFl se soit écoulé. TEi et TFi sont à nouveau lesdites premières et deuxièmes durées. "L'induction" apparaît ici à
nouveau.
8) Après la deuxième durée TFl, la ligne K passe à nou-
veau au niveau 0. A ce moment, il est certain que tous les
participants à l'action ont présenté leur nouveau bit de don-
nées à la ligne D (le module M2 l'a fait en 7), voir la ligne DW(M2) sur la figure 5. La fonction ET câblée de la ligne de données D détermine à nouveau le résultat des bits de données
présentés. La phase de 3) à 8) est l'action pour la communi-
cation du premier bit désigné par TFB. Les phases 4) à 8) sont
parcourues autant de fois qu'il le faut pour établir la'liai-
son de communication, c'est-à-dire au moins jusqu'à ce que
la phase d'arbitrage et "d'esclave ouvert" soit achevée: com-
munication du deuxième bit (TSB), etc. Pour cet exemple éga-
lement, un calcul des durées est donné en rapport avec les
tolérances du générateur de signaux d'horloge. Tci est à nou-
veau la période d'horloge locale du Module Mi. Toutes les du-
rées intéressantes sont dérivées de cette période par module.
RRi Ri; Ai aAi Tci; TBi aBi.Tci; Tsi = asi Tci; T2i = a2i.Tci; TEi = aEi Tci; TFi aFi (1) Dans ces équations, les symboles aji sont des constantes. aAi
et aEi sont à nouveau des facteurs de temps prêt internes.
aAi concerne le nombre de périodes d'horloges qui est néces-
saire dans un module Mi pour une requête d'établissement
d'une liaison de communication. aEi concerne le nombre de pé-
riodes d'horloge dont un module Mi a besoin pour présenter au bus un nouveau bit de donnés (après extraction,par exemple, d'une mémoire). Comme décrit plus haut, aBi et aFi doivent
aussi être valables pour tout le système et non par module.
Ci-après sont indiquées, pour le système à deux lignes, les
conditions auxquelles aBi =. aB et aFi = a F doivent satisfaire.
Le diagramme de temps de la figure 5 ne rend possible un bon traitement d'une action que si les exigences suivantes sont satisfaites TRi T2i...... . (2A) Ei CT.Fi. (2B) TFi T Ai (2C) TAi TBi (2D) PÈutr Ri = Tci/Tci tel que défini, on peut déduire de 1) et de 2) a2i/aRi > Ri.(3A) aFi/aEi > Ri. (3B) aAi/aFi > Ri.(3C) Bi /Ai > Ri.(3D) Au départ du fait que l'on tendra normalement vers une situation présentant la vitesse de communication la plus grande possible, on peut écrire (3A - 3D) de la manière suivante a2i = Ri.aRi....... (4A) aFi = Ri.aEi....... (4B) aAi = Ri.aFi (4C) aBi = Ri. aAi....... (4D) Il en résulte que: aFi = Ri.aEi = Ri.Vi....... (5A) = = R2i.Vi..... (5B)' Ai 2 Ei 2 aE = R i. aE R i.Vi. (5C)
aBi = R3i.aEi = R3i.Vi.....
Il semble donc que le facteur du temps de réaction Vi = aEi soit le facteur de temps prêt pour la présentation
d'un nouveau bit de données.
D'une manière correspondant à celle décrite plus haut, pour le système monoligne, il faut aussi choisir ici en tant que constantes aBi = a et aFi = a la valeur la plus élevée Bi B Fi F du produit (R.V) de l'ensemble de produits (Ri.Vi.). Les dépendances des deux durées sont ainsi fixées: aB = R3V et
aF = R.V.......(6).
3 R.VoTci..... (7).
Dès lors, TE. = R.V.Tci et TFi = RFViTci. <7).
Dans cette relation, V = aEp (=Vp) est le facteur de temps prêt du module Mp pour lequel on obtient le produit (R.V) le plus grand. Le temps de réaction de ce module est (temps
"prêt") TEp = V.Tcp.
Les deuxièmes durées les plus courtes possibles sont dès lors: TB = R3.T et TF = R.T..... (8) En ce qui concerne la période de cycle minimum ("frame") pour la communication d'un bit de données pendant une action, il résulte (voir aussi la figure 5) de (8) et de (4A) avec (1) que T (frame) = T + T2 = R.T + R.TR, F ii -p Rp' de sorte que T (frame) = R(T + T).......(8A) Supposons, comme cela sera choisi le plus souvent en pratique que TEp = TRp, de sorte que T (frame) = 2R.T R.
Ceci est donc plus favorable que dans le cas du système mo-
noligne. Il y a un rapport avec R et non-avec R.
Pour un R = 4, la différence est déjà d'un facteur 64. Comp-
te tenu des 2R, il s'agit donc d'un facteur 32.
Exemple numérique: on suppose que R = 4, que
T 10 microsecondes (et donc aussi que TE = 10 microse-
-Rp Ep condes). Dans ce cas T (frame) = 2.4.10 = 80 microsecondes
et alors T = 640 microsecondes. Dans ce cas, la pire éven-
tualité ("worst case") est donc: T (frame) = R.T. (frame) =
320 microsecondes, ce qui signifie une vitesse de communica-
tion minimum d'environ 3 000 bauds.
Dans ce cas, également, une augmentation de la vitesse
peut être réalisée par le placement d'un détecteur de passa-
ge simple du niveau "haut" vers le niveau "bas" entre la
ligne K et les entrées de module KR(Mi). Dès qu'une transi-
-tion 1 -i O apparaît, le circuit détecteur fait passer la ligne K à 0. Le temps de réaction T i est ainsi notablement raccourci. Dans la phase de communication de données (après qu'une
liaison de communication ait été établie), un module fonc-
tionne comme un émetteur (source) et un autre module reçoit les données (récepteur). Il peut être nécessaire de protéger
le transport des données contre les erreurs de communication.
Ceci peut être effectué par le fait que le récepteur renvoie chaque bit reçu ("écho"). L'émetteur compare le bit reçu au
bit qu'il vient d'émettre. Par cette émission et cette récep-
tion alternantes des bits de données, la vitesse de communi-
cation est naturellement abaissée.
Le principe "d'induction" est expliqué avec suffisam-
ment de détails par la description qui précède du système
* monoligné et du système à deux lignes. Il convient de noter
qu'une augmentation du nombre de lignes est également possi-
ble: par exemple, un système à trois lignes dans lequel deux
lignes de commande et une ligne de données sont présentes.
Dans ces cas, le principe d'induction peut aussi être utilisé.
Cependant, l'utilité diminue parce que le nombre croissant
de lignes a tendance à augmenter le prix, ce qui doit préci-
sément être évité perle système conforme à l'invention.
Le système à trois lignes entraîne-bien entendu une nouvelle
augmentation de la vitesse de communication, mais nuit davan-
tage à la simplicité. Les erreurs de communication peuvent être détectées dans le système à trois lignes d'une manière analogue à celle décrite plus haut pour le système à deux lignes. La figure 6 illustre un système à trois lignes en tant que milieu de transfert. Il comporte deux lignes de commande KA et KB et une ligne de données D. Les modules Ml, M2,
Mn comportent des bornes au moyen desquelles ils sont connec-
tés à ces lignes: une borne de sortie KAW(Mi) au moyen de laquelle l'information de commande est inscrite à partir du module Mi sur la ligne KA; une borne d'entrée KAR (Mi) au moyen de laquelle l'information de commande est lue par le module Mi de la ligne KA; de même, qu'une borne de sortie KBW(Mi) et une borne d'entrée (KBR(Mi) pour écrire sur la ligne de commande KB ou lire depuis celle-ci. De plus, chaque module comporte une borne d'inscription ou d'écriture de données DW(Mi) et uoeborne de lecture de données DR(Mi). Le diagramme de temps correspondant à ce système est évident, compte tenu des diagrammes de temps donnés sur les figures 3
et 5, et ne sera plus décrit ici.
En résumé, eu égard à ce qui a été décrit plus haut, on peut conclure ce qui suit:
- comme mentionné dans l'introduction, au moins quatre li- gnes sont nécessaires pour activer une communication asyn-
chrone sur un bus; - lorsqu'un plus petit nombre de lignes est disponible, des déterminations dépendant du temps doivent être introduites;
- la présente demande indique comment les conditions dépen-
dant du temps se présentent et quelle solution simple est possible pour la communication par des bus à l'aide d'au
moins un milieu de transfert. Il convient de noter que li'in-
vention n'est pas limitée à un bus à une, deux ou trois li-
gnes, mais dans le cas d'un nombre de lignes supérieur à trois, c'est la solution à quatre lignes avec colloque qui sera en pratique le plus souvent préférée; - la vitesse de communication dépend fortement, dans les systèmes présents, de l'imprécision d'horloge de la pire éventualité (worst case) des modules. Le système monoligne est très simple et très peu onéreux pour des applications
dans lesquelles interviennent des articles de grande distri-
bution et des articles analogues. Il a bien sûr l'inconvénient qu'un récepteur ne peut pas diminuer la vitesse de la source
dont il reçoit des données. Le système à deux lignes compor-
te une ligne supplémentaire qui permet, non seulement d'aug-
menter la vitesse de communication, mais aussi de supprimer cet inconvénient du systèm monoligne. En effet (voir fig. 5) tant un module maitre qu'un module esclave (avec-référence à la figure 5) du système peuvent abaisser la vitesse des données en maintenant la ligne K égale à O pendant une période au choix (le moment 6 glisse alors vers la droite sur la figure 5). Le système à trois lignes ne donne en général pas une vitesse de communication double. C'est pourquoi lorsque
trois lignes sont disponibles, le système basé sur le prin-
cipe à deux lignes a la préférence: une ligne-est alors une ligne de commande et les deux autres lignes sont deux lignes
de données parallèles.
Pour illustrer ce dernier cas, cette forme de bus à trois lignes est représentée sur la figure 7. Elle comporte une ligne de commande K et deux lignes de données DA et DB. Les modules Ml, M2... Mn ont une borne d'écriture de ligne de commande KW(Mi) et une borne de lecture de ligne de commande
KR(Mi). De plus, pour chacune des lignes de données, ils com-
portent une borne d'écriture de ligne de données DAW(Mi) et DBW(Mi) et une ligne de lecture de données DAR(Mi) et DBR(Mi).
On décrira maintenant en détail des exemples de réalisa-
tion d'un système à sources de données et à récepteurs de don-
nées multiples dans lequel le bus est constitué d'un seul mi-
lieu de transfert. La figure 2 illustre le schéma général d'un tel système. Les modules Mi peuvent être des processeurs
de signaux numériques. Ces processeurs sont équipés de mémoi-
res qui leur sont propres et peuvent exécuter des tâches dé-
terminées. Lorsqu'une communication avec d'autres modules est nécessaire, cette communication s'établit par l'intermédiaire
248 1 485
du bus. Les processeurs à mémoire seront db rréférence du ty-
pe dans lequel des microprocesseurs servent de processeurs.
Equipés de mémoires placées ou non sur la même puce, ces mo-
dules sont aussi appelés micro-ordinateurs. Un exemple d'un tel microordinateur est celui du type 8048. Une borne d'en- trée/sortie (E/S) de ce micro-ordinateur, par exemple la borne 34, peut servir aussi bien de sortie d'écriture CW que
d'entrée de lecture CR. (Indiqué à cet effet dans le program-
me). Deux bornes peuvent.
E/S 34 (P17) en tant que ( que CW. De plus, pour un, séparée (No 6) est encore des interruptions (INT). 1 dérée comme une borne CR, terminé que l'on décrira i La figure 8 est une vue dz 8a et 8b, Ci désigne des g aussi être utilisées une borne CR et une borne E/S 38 (P27) en tant tel processeur, une borne d'entrée nécessaire pour pouvoir recevoir
Cette borne doit aussi être consi-
bien que ce soit pour un but dé-
encore ci-après (figures Il et 12).
e certains détails:sur les figures
générateurs de signaux d'horloge.
La figure 9 montre comment un processeur comportant une entrée d'interruption INT,-comme par exemple le 8048, peut traiter des interruptions. SRT = démarrage dans le bloc 30
est toujours suivi de la question: y-a-t-il une interrup-
tion INT (bloc 32)? Si non (N), une instruction du programme principal est exécutée: MPI dans le bloc 34. Ensuite, on
examine à nouveau (retour vers le bloc 30) s'il y a une in-
terruption. Si oui (Y), le programme d'interruption est com-
plètement exécuté: IPIS (bloc 36). On recherche alors à
nouveau s'il y a une interruption (bloc 30) etc. Cette maniè-
re de traiter les interruptions est une propriété spécifique,
par exemple du micro-ordinateur 8048.
Un microprocesseur, comme le 8021, qui ne connaît aucune
interruption, possède une borne d'entrée qui peut être défi-
nie comme borne d'interruption; le traitement des interrup-
tions doit alors être incorporé au programme total.
La figure 10 illustre un organigramme d'un programme principal de processeur possible. Un tel programme principal peut être de n'importe quel type et est formé dans l'exemple
248 1485
décrit du bloc 38, début BEG. Ce bloc est suivi d'une ini-
tialisation INIT, bloc 40. Dans le bloc 42, des opérations locales LOP du programme principal sont exécutées. On vérifie alors toujours s'il y a des interruptions (voir Fig. 9). Dans le cas o on atteint une position du programme principal o
une communication avec un autre module est exigée, le proces-
seur lance dans cette position une requête d'établissement
d'une communication REQ. Cela signifie que ce module veut de-
venir le maitre du système. Cette requête doit être traitée.
Ce traitement ne peut être effectué que lorsque le bus est "prêt" pour cetteaction. Ceci est examiné dans le bloc 44 RDY? Ceci représente dans cet exemple lesdits moyens HS. Si le bus est "prêt", l'accusé de réception (ACK) de l'action est donné (Y du bloc 44). Ce bloc 44 est ici d'une grande
importance, car il concerne l'objet même de la présente de-
mande. Le bloc 44 comporte les moyens de fonction programmés, qui sont lesdits moyens à l'aide desquels on peut constater si le bus est "prêt" pour l'exécution d'actions se rapportant
à la communication. Si cet accusé de réception n'est pas don-
né (N du bloc 44), un nouvel essai a lieu, etc. Si l'accusé de réception est donné (Y), les opérations de transfert de système TOP pour le transport des données, par exemple pour
l'émission, sont exécutées, bloc 46. Au terme de ces opéra-
tions, le bus est à nouveau libéré, signal REQ et retour au bloc 42. La ou les entrées d'interruption est ou sont alors à nouveau libérée(s) pour la réception des interruptions
("validation d'interruption") car, lors de la demande d'accu-
sé de réception (bloc 44), cette ou ces entrées sont blo-
quées ("interruptions invalidées") pour empêcher que les interruptions intermédiairesPerturbenît le processus. Voir
aussi la description pour la figure 13. Dans le cas (voir par-
tie pointillée de la figure 10) o une source de données et/ ou un récepteur de données sont formés d'une première et d'une deuxième partie, la première partie étant un processeur de signaux numériques qui remplit la fonction de source et/ou de récepteur et la seconde partie aussi qualifiée d'arbitre,
248 1 485
comportant lesdits moyens, une requête REQ provenant du bloc
42 est placée dans l'arbitre (bloc 43). On attend alors l'ac-
cusé de réception, voir à nouveau le bloc 44, ACK. Au terme du transfert, le bus est à nouveau libéré par l'arbitre: REQ (bloc 48). L'arbitre doit aussi constater cela: bloc 50.
Si oui, (Y), ACK 4 ACK et le processus revient au bloc 42.
Si non (N), 48 est à nouveau répété. Il convient de noter ici que le bloc 44 a une telle importance parce que c'est à
ce moment qu'éclate le conflit: qui devient le maltre, lors-
que plusieurs modules parviennent dans leurs blocs 44 respec-
tifs. Notamment, il est ici également important qu'un module plus rapide n'évince pas un module plus lent. Ceci exige donc "l'induction" décrite plus haut. La figure 13 et la figure 15 avec la figure 16 montrent comment tout ceci se
passe.
Pour être plus complet, il faut encore mentionner le
fait que lorsqu'un module est maître, il désigne un esclave.
Il envoie une identité de l'esclave et essaie d'interrompre l'esclave. C'est la raison pour laquelle les entrées INT sont
représentées dans la partie supérieure des figures 8a et 8b.
La manière dont les choses se passent est représentée dans
l'ensemble sur la figure 11. Dans le bloc 52 parvient l'in-
terruption INT, qui est envoyée du maître par l'intermédiaire
du bus à toutes les autres sources et à tous les autres ré-
cepteurs. (Dans la pratique, ce INT est considéré comme signal INT à cause des notations: entrées INT). Dans le bloc
54, toutes les sources et les récepteurs examinent si l'iden-
tité i qui leur est présentée est leur propre identité i.
Si non (N), l'interruption est terminée: END, bloc 58.
Si oui (Y), l'opération de transfert TOP (par exemple récep-
tion) est exécutée dans le bloc 56. Au terme de cette opéra-
tion, suit la fin END,bloc 58.
Le bloc 54 contient la comparaison d'identité pour la sélection d'esclave. Ceci sera décrit en détail ci-après dans: la figure 12. Le bloc 60 est le début BEG. Dans le bloc 62, un état de compteur de bits bt devient égal à O et l'état de compteur de temps Tt devient aussi égal à 0. Dans le bloc 64 on attend jusqu'à ce qu'un temps Tt = T2i se soit écoulé (à supposer que Mi soit le module que l'on examine) (voir T2i sur la figure 3). A T2i, un bit d'identité présent sur le bus est analysé en tant que bit de données, bloc 66. Il s'agit du bit bt de l'identité j qui est placé à partir de la borne P 17 (voir figure 8) dans un registre du processeur. btj P17. Le compteur de bits est augmenté d'une unité: bt + 1, bloc 68. Dans le bloc 70, on examine si le nombre de
bits d'identité souhaité(ou augmenté d'autant de bits supplé-
mentaires qu'on en souhaite éventuellement à d'autres fins), par exemple bt = 4 est atteint. Si non (N), on attend jusqu'à Tt = TEi (voir figure 3) : bloc 72. Après cela, dès que l'on constate le passage à "0" du bus C: bloc 74 (o P17 doit être égal à 0) (voir figure 3.TFi), on recommence: compteur Tt = O (bloc 76) et on revient au bloc 64. Si le nombre bt = 4 est atteint, bloc 70 (Y), J contenu du registre dans lequel l'identité j a été introduite est comparé à l'identité du module en question, bloc 78. Si i # j, ce module n'est pas
destiné à être un esclave et termine le programme d'interrup-
tion END, bloc 82 (= bloc 58 de la figure 11). Si l'égalité i = j est établie, le module est alors choisi comme esclave et l'opération de transfert TOP sera exécutée, bloc 80 (bloc
56, figure 11). Suit alors à nouveau le bloc 82, END.
Il semble donc que pour la sélection d'un esclave, cha-
que source et récepteur autre que le maitre lui-même soient
interrompus et forcés à effectuer la comparaison d'identité.
Ceci prend beaucoup de temps: les sources et les récepteurs qui remarquent que i ó j, sont interrompus en vain et ont
donc une interruption "superflue" de leur programme principal.
Cet inconvénient peut être évité par le montage d'un mécanis-
me d'interruption dit conditionnel. Ce mécanisme permet d'ef-
fectuer d'abord la comparaison d'identité sans interruption directe du processeur lui-même. Si i est effectivement égal
à j, il en résulte une interruption du processeur lui-même.
Ledit mécanisme d'interruption conditionnel est décrit dans la demande de brevet doit être adapté d'une manière évidente pour le spécialiste en vue de pouvoir être utilisé dans le système de la présente demande pour la
sélection des esclaves.
La figure 13 est un organigramme de l'examen, le bus est-
il prêt ? (c'est-à-dire le bloc 44 de la figure 10). Dans cet exemple qui concerne le processeur de signaux numériques, lesdits moyens HS qui sont donc des moyens à fonction pro-
grammée sont ainsi indiqués. Le début est indiqué en SRT pro-
venant de REQ (figure 10), bloc 84. Dans le bloc 86, la ou
les entrées d'interruption sont mises hors fonction X DABINT.
Ceci empêche qu'un module soit interrompu lorsqu'il exécute lui-même une action de lancement d'une requête. Dans le bloc 88, le temps est remis à zéro: Tt = 0, ce qui a lieu par la remise à zéro d'un compteur CR (CR = 0) . Dans le bloc 90 on examine si la ligne C, qui entre par l'intermédiaire de la borne P17, a le niveau "1". Si non (N), le bus est occupé et une nouvelle tentative est faite par retour vers le bloc
88. Si, dans le bloc 90, P17 = 1 (Y), le compteur CR est aug-
menté d'une unité au moyen du générateur de signaux d'horlo-
ge pour ce module Mi, CR: = CR + 1 (bloc 92). On examine
alors dans le bloc 94 si l'état du compteur CR 'Ai est at-
teint. Cet état aAi est donc ici à nouveau le facteur de temps aAi déjà mentionné plus haut. Si CR = aAi, cela signifie que
Tt = aAi. Tci = TAi' ladite première durée. Le bloc 94 con-
tient donc les premiers moyens assurant la détection. FDETM pour la première durée TAi- Si cette position CR = 'Ai n'est pas encore atteinte (N), il y a retour vers le bloc 90, Si
aAi est atteint, ce module est en lui-même prêt pour l'action.
Dans le bloc 96, le compteur de bits bt est mis à O: bt = 0, et on examine en outre (bloc 98) si la ligne C porte encore toujours un "1" et est donc occupée, c'est-à-dire si elle indique "bus prêt". Lorsqu'ici la ligne C est donc P17 = O (N du bloc 98), le bus est "prêt" et l'action suivante peut débuter. Aussi longtemps que C reste égal à I dans le bloc 98 (Y), le compteur devient CR --m CR+1 (bloc 100). Dans le
bloc 102, on examine si la position CR: a B est atteinte.
Dans ce cas, si oui (Y), Tt T - a Tci. Le bloc 102 con-
Bi B
tient donc les seconds moyens assurant la détection SDETM.
La position aB sera donc enregistrée comme une constante du
système dans la mémoire du pr=cesseur(de même que la posi-
tion aAi précitée, qui est cependant une donnée du module Mi
lui-même). Si la position aB est atteinte (Y), l'action sui-
vante peut être entamée. Aussi longtemps que cette position n'est pas atteinte (N), on revient à 98. On vérifie à nou-
veau si, dans l'entre-temps, C = P17 est déjà passé à "O".
Ceci peut s'être produit dans l'intervalle parce que, dans
un autre module, la deuxième durée TBj s'est, dans l'entre-
temps, écoulée. Si oui (cela signifie ici N), cette action "bus prêt" est terminée. (Point 103 sur la figure 13). Si non, c'est-à-dire si P17 = 1 (Y), CR est alors à nouveau augmenté d'une unité, etc. La ligne "IND" de la figure 13
se rapporte donc à ladite induction. Le compteur CR ne con-
tinue pas à fonctionner jusqu'à atteindre aB, si auparavant un autre module a atteint son temps'TBj = aB'.Tcj et l'a fait
connaître en établissant C = O = P17. Si le module Mi a lui-
même, dans l'entre-temps, franchi au moins T Ai = aAi.Tci, il voit alors aussi que lebus est "prêt". Tous les modules qui
le demandaient (REQ) ont ainsi terminé leur action concer-
nant le lancement de leur requête (start). Il s'agit du point (3) sur la figure 3. Le bus est au niveau C = O. L'action suivante peut débuter après que les processeurs en question, qui voient ce C = O, aient eux- mêmes amenés leurs sorties
d'écriture (P17 ou, par exemple, P27) à O (bloc 104). L'ac-
tion suivante, débutant par un bit de démarrage, concerne l'opération déterminant qui devient le maître du système sur base de données de priorité et/ou d'identité. Dans le bloc 104, non seulement la sortie d'écriture CW (P17 dont il sera - question ci-après, voir aussi les figures 8a et 8b passe à = O, mais aussi le temps passe à = O par le retour à O du
compteur CR: = O. Le comptage du temps débute alors à nou-
veau. On attend jusqu'à ce que Tt: Tli: AliTci soit écoulé (pour le bit de démarrage), bloc 106. La sortie d'écriture
CW (P17) fournit alors le premier bit de données de l'identi-
té et/ou de la priorité: P17: = bti (bloc 108). Le A cerclé
inférieur est à reporter au A cerclé supérieur, o le pro-
cessus se poursuit. Dans le bloc 110, on attend jusqu'à ce que Tt: T2i soit écoulé. CR est alors égal à a2i. Il s'agit du point (5) sur la figure 3 o la ligne C est analysée ("sample"). Dans le bloc 112, on vérifie ce qui se trouve sur la ligne C: la fonction ET câblée des bits bti présentés, etc. Ceci est indiqué par P17 = WAB. L'entrée de lecture CR (P17) lit ce résultat. Si tous les bits en question (le premier dans ce cas-ci) sont égaux, le Y du bloc 112 est la
sortie pour tous les modules. Cependant, si pour un ou plu-
sieurs modules ce bit vaut O et, pour le ou les autres modu-
les, 1, pour ce ou ces derniers modules l'arbitrage est per-
du et N de 112 aboutit-sur la ou les sorties. Ces modules
ne participent plus à la sélection du maître.Ceci est ef-
fectué pour chaque bit d'identité et/ou de priorité, de sorte que finalement un module reste comme maître. Après N du bloc 112, la ou les interruptions du ou des modules est ou sont
alors débloquée(s) dans le bloc 114 et sont à nouveau acti-
- vable(s): EABINT (enabled). Pour ce ou ces modules, les actions visant à établir une liaison de communication (donc en tant que maitre) n'ont pas abouti et ils atteignent la situation N du bloc 44 (figure 10), comme indiqué dans le
bloc 116 de la figure 13.
Pour les modules qui ne sont pas encore sortis du pro-
cessus de sélection, ce processus se poursuit par l'intermé-
diaire de Y de 112: le compteur de bits est augmenté d'une position bt > bt + 1 (bloc 118). Dans le bloc 120, on
examine si le nombre maximum de bits de priorité et/ou d'i-
dentité (bt max.+ 1) est déjà atteint, Si oui (Y), le proces-
sus de sélection est à son terme et le module (maintenant unique), qui atteint ce point, est le maitre du système: le bloc 122 indique ceci par Y, 44, qui renvoie à la sortie Y du bloc 44 de la figure 10: ACK. Le transfert de données peut débuter: TOP, etc. de la figure 10. Si le btmax maximum n'est pas encore atteint, (N) bloc 120, on attend jusqu'à ce que Tt: T3i = a3iTci se soit écoulé, comptur CR = a3i (bloc 124). La période de bits de bti est ainsi écoulée et P17: = 1 est imposé par le module Mi, bloc 126. Ceci donne CW(Mi) = 1 après le point (6) sur la figure 3. Après un temps de réaction Tt = TEi = aEi.Tci on est assuré que ce module Mi Ei Ei-TionetasrdueM ait présenté à la ligne C à nouveau le niveau C = 1 par l'intermédiaire de P17 en tant que sortie d'écriture, bloc 128. Ceci concerne donc la première durée pour cette action à facteur de temps pret aEi. Le processus l'attend dans le bloc 128 qui comporte donc lesdits premiers moyens assurant la détection FDETM pour cette action. Dans le bloc 130, on examine si la ligne C est elle-même égale à 1 à la suite de
la présentation du 1 depuis la sortie d'écriture CW (P17).
Ceci se produit par l'intermédiaire de CR (P17) en tant qu'en-
trée de lecture. Si C = P17 = 1 (Y), cela signifie qu'aucun
module n'a encore atteint sa deuxième durée TFi. Le comp-
teur CR est à nouveau augmenté d'une unité: CR -- CR + 1, bloc 132. Dans le bloc 134, on examine si la position de CR atteinte est dans l'entretemps devenue égale au facteur de temps de réaction aF. Ceci concerne donc lesdits seconds moyens assurant la détection SDETM pour cette action. Si cette
position aF n'est pas encore atteinte (N), on examine à nou-
veau si, dans l'entre-temps le C = P17 = 1 n'a pas été modifié en C = 0 (donc à nouveau bloc 130) par un autre module à la suite de l'arrivée de ce module à la position aF. Si C = P17 = 1 persiste, on revient à 132, etc. Si, dans l'entre-temps, C est rendu égal à 0 par un autre module, le N du bloc 130 est utilisé: l'induction se présente et le processus revient au point 103. Il s'aget du point (,8) de la figure 3. Un autre bitde dones est présente: le bloc 1C8 dmnne le bit bti suivt (deuxike, etc) qui est jugé (bloc 11 à ncueauper l'intermédiaire de la fnc bn ET câblée, etc. Si aucun autre module n'a compté précédemment jusqu'à aF, à un moment déterminé CR = aF est atteint dans le bloc 134 dans le module en question. Le Y de 134 signifie que k point 103 du processus est atteint. Le processus se poursuit alors jusqu'à
ce queou bien le module soit éjecté du processus de sélec-
tion: N du bloc 112, ou bien le module soit désigné comme maitre: Y du bloc 120, qui est atteint après que le dernier bit ait été comparé et qu'il s'avère en 120 qu'il n'est pas
nécessaire de poursuivre la sélection bt = btmax + 1.
248 1 485
La figure 14 illustre un schéma synoptique d'une source de
données et/ou d'un récepteur de données formés d'une premiè-
re partie DLI et d'une deuxième partie DL2. DL2 est la partie qui contient la fonction de source et/ou de récepteur. Par l'intermédiaire d'une sortie de requête REQ, DL1 est connecté à une entrée de requête REQ de DL2. Par l'intermédiaire d'une entrée d'accusé de réception ACK, DL1 est connecté à une sortie d'accusé de réception de DL2. DL2 contient lesdits
moyens HS. La source de signaux d'horloge pour DL1 est con-
nectée par l'intermédiaire de Cl à DL2. DL2 est connecté par
une sortie d'écriture CW précitée et par une entrée de lec-
ture CR à la ligne de bus C. DL1 est lui-même connecté par une entrée d'interruption INT et par une (ou éventuellement deux) lignes formant une connexion d'entrée ou de sortie à partir de la ou des bornes d'entrée/sortie E/S, à la ligne de bus C. L'entrée d'interruption INT a à nouveau la même fonction que celle mentionnée plus haut, voir Figure 8, etc.
La liaison E/S entre en jeu lorsque la connexion maitre-
esclave est établie et que le transfert de données se dé-
roule.
Il convient de noter ici que dans DL2, les moyens HS sont conçus spécialement pour pouvoir établir, en dehors de
DLI, si le bus est "prêt" pour le traitement desdites actions.
En ce qui concerne la relation avec ce qui se déroule dans le programme principal d'un module Mi, dont DL2 fait partie, on
peut se référer à la figure 10 et à la description en par-
ticulier des blocs en traits pointillés 43, 48 et 50.
En général, il est avantageux de réaliser aussi dans
DL2 l'action concernant la sélection du maître.
La figure 15 illustre un schéma détaillé de la partie
DL2 de la figure 14.
La figure 16 est un tableau de bits.de temps (adresse
et contenu de données) correspondant à la figure 15.
Sur la figure 15, en lieu et place d'un schéma de circuit logique comportant de nombreux compoeante 1Logiques (comme de nombreuses portes, des éléments à deux positions, etc.) on a choisi unesolution selon laquelle lesdits moyens comprennent une mémoire morte ROM, un compteur d'adresses ADCR et un élément à fonction logique ET, ici l'élément NON-ET 140. De plus, dans cet exemple, il est aussi prévu
que la sélection puisse être effectuée par des moyens de com-
paraison d'identité présents dans la partie DL2. Ces moyens de comparaison IDOCO2 coopèrent avec la mémoire morte ROM adressée par le con'MV;ir ADCR et avec une bascule DFF et un
circuit-porte OU exclusif 142. De plus, un inverseur à col-
lecteur ouvert 144 et un élément NON-ET à collecteur ouvert
146 sont aussi prévus et forment tous deux la sortie d'écri-
ture CW. Les éléments 148 et 150 sont d'autres inverseurs.
L'élément 141 est encore un circuit-porte NON-OU. Le fonc-
tionnement sera expliqué avec référence à la figure 16: dans cette figure, on trouve à gauche les adresses A(O,... n, n+i, n+2, n+3), les temps Tt et les facteurs de temps aAi' aBI ali, aF qui en dépendent et qui représentent des parties des
adresses A de la mémoire ROM. A droite se trouvent les con-
tenus des emplacements de mémoire qui apparaissent aux sor-
ties DO, 1, 2, 3, 4, 5, 6 de la mémoire ROM lors d'un adres-
sage correspondant.
On suppose qu'il n'y a pas de requête: REQ = O. Si la ligne C = O, un O est présent à la sortie du circuit-porte 141, de sorte que le CLR = O, ce qui provoque un effacement ("clear") d'une position (éventuellement) présente sur le
compteur ADCR. Le compteur reçoit la position A (O...n,...
= O et ainsi un O à toutes ses sorties. Si A (...n+l, et/ou n+2,...) rendait une ou plusieurs sorties égales à 1, il
n'en est plus ainsi maintenant.
On suppose qu'il n'y a pas de requête: REQ = O et que la ligne C = 1, de sorte qu'un O est également présent à la sortie du circuit-porte 141 et que la même chose se produit effacement. On suppose qu'il y a effectivement une requête REQ = 1 et que la ligne C = O (donc "occupé"), auquel cas
les conditions sont à nouveau telles que décrites plus haut.
On suppose qu'il y a une requête REQ = 1 et que C = 1, Dans ce cas, toutes les entrées de 141 sont égales à O (en effet, parce que D4 = O, LD = 1 et qu'un 0 est donc aussi présent au circuit-porte 141 après l'inverseur 150), de sorte
que CLR = 1 et que le compteur d'adresses ADCR va effective-
ment commencer à compter. Les impulsions d'horloge passant
par CI (sortant du générateur de signaux d'horloge de mo-
dule) sont comptées. Les adresses que ADCR parcourt A(O), A(1), etc. fournissent encore toujours un O pour tous les D. Si la ligne C = 1 passe à nouveau à C = O, l'opération "régresse" effacement ("clear") du compteur ADCR. Ceci signifie que le bus n'admet pas la requête car il était encore occupé par
une communication précédente. Il convient de noter que lors-
que REQ = 1 les données d'identité et/ou de priorité IDi du module i sont stockées dans un registre IDCOMP, commandé par l'entrée L. Ce registre est ensuite apprêté "S" pour décaler son contenu vers la droite sur son entrée d'horloge r>. Si REQ = 1, C = 1 et ADCR atteint la position aAi pour laquelle Tt TAi (voir la figure 3) (la première durée), sur la sortie
D4 de la mémoire ROM apparaît un 1 au moyen duquel le circuit-
porte 140 est apprêté. C'est-à-dire qu'à partir de ce moment,
* "l'induction" peut se présenter. Pendant ce temps, le comp-
teur continue à compter, mais aucune sortie de la mémoire ROM n'est modifiée. Si lecompteur ADCR atteint la position aBl la
durée Tt: TBi, c'est-à-dire que la deuxième durée est attein-
te. Dans cette position, la sortie Dl de la mémoire ROM de-
vient égale à 1. La ligne C est ainsi rendue égale à O (point 3 de la figure 3) par l'intermédiaire de l'inverseur 144 qui a un collecteur ouvert. Ceci se produit également lorsque, avant la position aB# un O est présenté par l'intermédiaire de la ligne C elle-même. Ceci peut se produire parce qu'un autre module a atteint plus tôt son TBj. Le circuit-porte NON-ET est ainsi ouvert par-l'intermédiaire del'inverseur 148 (D4 était en effet déjà à 1) et LD devient ainsi égal à 0, de sorte que le compteur ADCR dans la position a B est chargé de force (aB est soudé sur le compteur et est chargé dans le
compteur à l'intervention de l'ordre "chargement"). L'induc-
tion est ainsi apparue et la relation Dl = 1 apparaftra aussi, C = O étant donc présenté au module par l'intermédiaire de sa sortie d'écriture CW. Le bit de démarrage (parties (3) - (4) sur la figure 3) est ensuite émis: C = O jusqu'à ce que Tt: Tli = aLi.Tci soit franchi. Le compteur ADCR poursuit son fonctionnement à partir de aB (Aucun effacement ne se produit, car D4 est à nouveau égal à O et LD est par consé-
quent égal à 1 et un O est amené par l'intermédiaire de l'in-
verseur 150 à une entrée du circuit-porte NON-OU 141, c'est-
à-dire que CLR = 1).
Dans la position aB + ali, D2 devient égal à 1. Le cir-
cuit-porte 146 s'ouvre à ce moment: c'est-à-dire qu'un bit (de l'ordre le plus élevé) des données d'identité et/ou de priorité IDi, qui se trouve dans le registre IDCOMP, est fourni à la ligne C. Un 1/0 est inscrit ici comme étant un 0/1 sur la ligne C. (Point (4) de la figure 3). La fonction
ET câblée apparaît en C avec des bits d'autres modules. Lors-
que le comptage se poursuit jusqu'à aB + a2i, la mémoire ROM fournit à sa sortie D2 encore toujours un 1, de sorte que le dit bit continue à être présenté. De plus, DO est aussi égal à 1 et la bascule DFF est ainsi rythmée (celle-ci avait déjà
été préparée par REQ = 1). (point (5) de la figure 3) ("sam-
ple"). Sur l'entrée de DFF se trouve le signal qui est pré-
sent à la sortie du circuit-porte OU exclusif 142. Ce signal est le résultat de la fonction OU exclusif sur le bit qui est présenté par le module au départ de IDCOMP et sur le bit qui se trouve sur la ligne C.Ces bits peuvent être les mêmes
(tous deux O ou tous deux 1) ou peuvent être différents.
S'ils sont égaux, un 1 est présent à l'entrée de DFF, de sor-
te qu'un 1 parvient aussi à sa sortie et est retenu au moins jusqu'à ce qu'une nouvelle relation DO = 1 apparaisse-en tant qu'impulsion d'horloge. Ledit 1 adresse la mémoire ROM dans
la partie d'adresse A(N+3) = 1, de sorte que l'adresse tota-
le A(a2i,0,0,1) est présente. Si lesdits bits sont inégaux,
un O apparaît à la sortie de DFF et devient la partie d'a-
dresse A(N+3) = O. L'adresse totale est alors A(a2i,0,0,0).
Ce qui précède signifie en cas d'égalité, l'arbitrage est
"favorable". Le module peut continuer à participer à l'ar-
bitrage portant sur un bit suivant. La mémoire ROM est main-
tenant adressée par ledit A(N+3) = 1 dans une partie déter-
minée, de sorte que le module garde sa chance de devenir le
maître. En cas d'inégalité, l'arbitrage est "défavorable".
Le module ne peut maintenant pas devenir maître parce qu'un
ou plusieurs modules dontle numéro d'identité et/ou la prio-
rité sont plus élevés, ont également REQ = 1.
Exemple d'arbitrage: identités Ml = O1 après inversion, présentation de 10 à la ligne C: identités M2 = 10 après inversion, présentation de O1 à la ligne C,: identités M3 = 11 après inversion, présentation de OO à la ligne C. Pour le bit de l'ordre le plus élevé, la ligne C donne, par la fonction ET câblée: O. A l'intervention des moyens IDCOMP, coopérant avec DFF et 142, on obtient dans: Ml, un O à la sortie de DFF, dès lors A(n+3) =O défavorable M2, un 1 à la sortie de DFF, dès lors A(n+3) = 1 favorable
M2, un 1 à la sortie de DFF, dès lors A(n+3) = 1 favorable.
Donc seuls M2 et M3 participent à la suite de l'arbitrage
(pour le deuxième bit). Pour le deuxième bit, il faut égale-
ment que C = O apparaisse. Ceci a pour effet, dans M2, un
O à la sortie de DFF et, par conséquent, A(n+3) = O, défavo-
rable. Ce n'est que pour M3 que A(n+3) = 1 apparaît, favorable.
M3 est sélectionné. Dans la mémoire ROM se passe ce qui suit: en cas de résultat "défavorable", un adressage est effectué par le compteur d'adresses qui continue à fonctionner dans la partie de la mémoire ROM pour laquelle la partie d'adresse A(n+3) = O est en vigueur. Dans cette partie de la mémoire ROM subsiste en tout cas toujours Dl = D2 = D3 = O. Aucun autre bit n'est dès lors plus présenté à l'arbitrage. CW est ainsi toujours un 1 et n'a plus aucune influence- Etant donné que D3 = O, il n'y a donc pas d'ACK signalant que ce module ne
reçoit pas d'accusé de réception en vue d'un transport de don-
nées en tant que maître du systèraa Dans l'entre-temps, le
compteur ADCR a continué à compter (tous les modules; cepen-
dant seuls ont encore une influence sur la ligne C le ou
les modules qui participent encore à l'arbitrage).
Le compteur ADCR atteint le temps Tt = TBi + T3i pour lequel la position aB + a3i est atteinte (point (6) sur la figure 3). Ici, toutes les sorties DO,... 6 = O. Sur la ligne C se trouve le niveau 1 (bit d'arrêt après le point (5) de la figure 3). Le compteur continue à compter vers
aBi + aEi (point (7), figure 3). A ce moment là, la premiè-
re durée TEi après TBi est à nouveau atteinte. L'induction
1G peut apparaître: sortie D4 = 1, de sorte que le circuit-
porte 140 est à nouveau préparé. D6 = 1 également. La mémoi-
re ROM parvient ainsi dansla partie qui est adressée par
la partie d'adresse A(n+2) = 1. Dans cette partie sont stoc-
kés les bits de commande pour le traitement du deuxième bit des données de priorité et/ou d'identité (dans cet exemple, avec D5 et D6, on suppose que 2 = 4 bits). Le compteur ADCR continue à fonctionner jusqu'à atteindre la position aB + aF, c'est-à-dire la deuxième durée TFi = aF. Tci après TBi. D1 est airi à nouveau égal à 1 (et D6reste énal à 1 en rel tion avec le traitement ultérieur du deuxième bit). Le deuxième bit est glissé hors du registre IDCOMP et est préparé au circuit-porte 146. Un O apparait aussi sur la ligne C par D = 1. Par l'intermédiaire de CR, cette ligne fournit un 1 au circuit-porte 140 qui a
déjà été préparé. LD = O apparait à nouveau et iúrce le comp-
teur ADCR à revenir dans sa position aB. A partir de ce point (point (8) de la figure 3) le cycle recommence à partir de la position aB. Le compteur continue à compter vers Tt = TBi +
Tli o le deuxième bit des données de priorité et/ou d'i-
dentité passe par le circuit-porte 142 (par D2 = 1) vers la ligne C, etc. Si, avant que le compteur atteigne la position aB + aF, un O est lu sur la ligne C par l'intermédiaire de CR, aB est ainsi déjà (induction) chargé dans ADCR et le processus passe au nouveau cycle (point (8), figure 3). Le nouveau cycle pour l'arbitrage du bit suivant, voir ci- dessus, etc.
part donc de ce point.
248 1 485
Lorsqu'un module reçoit toujours le résultat "favorable" c'est-à-dire lorsque A(n+3) reste toujours à 1, à la fin du cycle pour le dernier bit (ici donc 4) à l'adresse A(aB + aF, 1,1,1), on trouvera un 1 donc sur la sortie D3, c'est-à-dire que ACK = 1 et que ce module est ainsi sélectionné comme maitre.
Il est clair que le temps de réaction TRi de l'agence-
ment représenté sur la figure 15 sera petit. Pour l'induc-
tion (supposons que TBj est atteint, c'est-à-dire que C = O par le module Mj), la mémoire ROM sera adressée dans le module Mi directement par l'intermédiaire de l'inverseur 148 du circuit-porte 140 et du compteur ADCR, à un endroit o Dl = 1. Ce module Mi fait ainsi également passer la ligne C sur 0. TRi est entièrement déterminé par circuit. Il diffère en cela du TRi de l'exemple de la figure 13. Dans ce dernier
cas, le processeur de signaux numériques programmés doit par-
courir des pas de programme soit après le bloc 98 (N) ou le bloc 102 pour le cas TAi/TBi, soit après le bloc 130 (N) ou le bloc 134 pour le cas TEi/TFi pour assurer qu'un O vienne de se placer à sa borne CW = P17 (bloc 104), que Tt: = O et qu'en outre le compteur devienne CR: = O. Ceci prend plus de temps, de sorte que TRi est plus grand que dans le-cas o l'opération est assurée par circuit. Pour remédier à ceci, un détecteur de transition de niveaux logiques "prêt - occupé"
peut être prévu entre le bus et le processeur de signaux nu-
mériques programesutilisé comme sources de données et/ou com-
me récepteurs de données.
Ceci est illustré sur la figure 17. Le détecteur est
formé d'un inverseur 152 et d'un circuit-porte NON-ET 154.
L'inverseur 152 reçoit un signal de la ligne de bus C et le circuit-porte 154 reçoit un signal aussi bien del'inverseur 152 que du processeur Mi (8048j. La sortie du circuit-porte 154 est à nouveau connectée à la ligne de bus C.
La sortie P27 est, dans cet exemple, une borne du pro-
cesseur Mi (ici le 8048) qui est définie pendant les actions de la présente demande d'une manière telle que pour CR = aAi (bloc 94, FDETM) et pour CR = aEi (bloc 128, FDETM de la figure 13) elle ait la valeur 1 P27 = 1. Il en résulte ce qui suit: le circuit-porte 154 est apprêté. On suppose
qu'un niveau O parvient sur l'inverseur 152 par l'intermédiai-
re de la ligne C; dans ce cas, un O provenant de ce module Mi est fourni également à la ligne C par l'intermédiaire du circuit-porte 154. Par conséquent: aussitôt qu'après TAi ou TEi la ligne c d'un module Mi devient égale à O (par Mi lui-même pour TBi ou TF. mais avant tout par un autre
module Mj pour TBj ou TFj), Mi assure qu'il rende aussi lui-
même C égal à 0. TRi est ainsi diminué. La borne P27 est en
outre définie par le fait qu'elle passe à nouveau à O lors-
que P17: = O (bloc 104) sous l'effet du processeur, de sorte que le détecteur n'exerce par la suite plus aucune influence
(le circuit-porte 154 produit toujours un un).
Il convient de noter qu'il est bien entendu aussi possi-
ble, au lieu d'utiliser une borne P27 à cet effet, de choisir une solution selon laquelle le circuit-porte 154 est commandé
de l'extérieur du processeur. Sur la figure 17, ceci est il-
lustré à titre d'exemple encore pour la durée T Ai: à l'in-
térieur des traits de chaînette. A cet endroit est prévu un
compteur DETCR supplémentaire qui, lorsqu'on atteint la po-
sition 0, fournit un report (carry) CY. La ligne sur laquelle CY apparaitest connectée au circuit-porte 154. Le système
fonctionne de la manière suivante: la borne P16 du proces-
seur est définie comme étant l'entrée d'effacement à in-
version (CLE) du compteur DETCR, au moyen de laquelle, uni-
quement pendant l'action (P16 = 1) dans laquelle TAi joue un rôle, le compteur n'est pas effacé. De plus, le compteur n'a toujours aucune importance, en dépit d'une commande par l'intermédiaire de LD et de CK, et porte aussi un signal CY = O.-Chaque fois qu'une transition de O à 1 se produit sur la ligne C, le compteur DETCR est chargé par LD = 1 d'une valeur égale à -aAi, de sorte qu'une position précédemment
atteinte,,qui peut avoir été atteinte lors d'un essai précé-
dent pour compter -aAi, est effacée. La borne TO du proces-
seur est définie comme étan une sortie d'horloge par l'inter-
248 1485
médiaire de laquelle des impulsions de comptage parviennent
au compteur DETCR qui décompte.
Si on réussit à atteindre la position de comptage 0, donc si Ti est atteint, il se produit ce qui suit: CY fournit un signal de report ou de transfert au circuit-porte 154 qui est ainsi apprêté. Si la ligne C est amenée à O par Mi lui-même ou en particulier par un autre module Mj, cela signifie que, par l'intermédiaire de l'inverseur 152, le circuit-porte 154 fournit aussi un O pour la ligne C. La réaction rapide est ainsi à nouveau atteinte et TRi est donc diminué. Le compteur lui-même ne va pas plus loin car CY = 1 produit un blocage à l'entrée d'activation ENA = 1, donc activation = 0. CY reste dès lors aussi égal à 1. Ceci
persiste jusqu'à ce que cette action soit terminée, c'est-à-
dire dans cet exemple que P17: = O soit réalisé. P16 est alors à nouveau O et, par conséquent, CLE = o, c'est-à-dire que le compteur est effacé, de sorte que CY passe à nouveau
à O et que le circuit-porte 154 n'est plus apprêté. Le dé-
tecteur ne peut dès lors plus exercer d'influence.
Claims (18)
1.- Système à sources de données et à récepteurs de données multiples dans lequel la ou les sources de données et le ou les récepteurs de données sont connectés à un bus de communication qui est constitué d'au moins un milieu de
transfert convenant pourle transport d'au moins un niveau lo-
gique (O ou 1), caractérisé en ce que: - il comporte plusieurs générateurs de signaux d'horloge présentant des tolérances réciproques et - dans la ou les sources et le ou les récepteurs sont présents
des moyens (HS) à l'aide desquels pour la ou toutes les sour-
ces et le ou tous les iécepteurs (Mi) qui participent active-
ment à une action se rapportant à une communication (parti-
cipants à l'action), on peut déterminer si ledit bus (C) est "prêt" pour l'exécution de ladite action, lesdits moyens (HS)
- comportant des premiers et seconds moyens assurant la dé-
tection, au moyen desquels on peut établir que, pendant une première ou une deuxième durée (par exemple T Ai ou T Bi) le bus de communication est prêt pour l'action en question, la première durée étant inférieure à la deuxième (par exemple TAi < TBi) et cette première durée étant déterminée par un facteur de temps prêt (par exemple aAi) du participant à
l'action en question (Mi) et la deuxième durée étant en rela-
tion avec le plus grand produit (R.V) de l'ensemble des pro-
duits (Ri.Vi) de tous les participants potentiels à l'action, les produits (Ri.Vi) étantforraés pour chaque participant
(Mi) à l'action par un facteur de tolérance (Ri) du généra-
teur de signaux d'horloge pour le participant (Mi) à l'ac-
tion et par un facteur de temps de réaction (Vi) de ce par-
ticipant (Mi), - étant entendu que, dans le cas o un participant (Mi) à
l'action détecte que la deuxième durée (TBi), pour ce parti-
cipant et pour tous les autres participants (MJ, Mk,...) à
l'action qui ont détecté, dans l'entre-temps, au moins pen-
dant leur première durée en question (TAj, TA,...) que le bus (C) est prêt, le bus (C) est (effectivement) prêt pour
l'exécution de l'action en question et peut donc être occu-
pé par cette action.
2.- Système à sources de données et à récepteurs de données multiples suivant la revendication 1, caractérisé en ce que lesdits moyens (HS) sont conçus pour établir que le bus de communication (C) est prêt pour le traitement d'une
action concernant le lancement de requêtes (start) de plu-
sieurs participants (Mi) à une action à l'établissement
d'une liaison de communication.
3.- Système à sources de données et à récepteurs de données multiples suivant la revendication 1, caractérisé en ce que lesdits moyens (HS) sont conçus pour établir que le bus de communication (C) est prêt pour le traitement d'une
action concernant l'exécution, sur base de données de priori-
té et/ou d'identité, d'une procédure de sélection parmi plu-
sieurs sources de données et/ou récepteurs de données de-
mandant une liaison de communication (participants Mi à une action).
4.Système à sources de données et à récepteurs de données multiples suivant la revendication 1, caractérisé en ce que le bus de communication formé d'au moins un milieu de transfert estpourvu pour chaque endroit de connexion d'un participant (Mi) à une action, d'une fonction de porte
logique câblée ("wired AND" ou "wired OR").
5.- Système à sources de données et à récepteurs de
données multiples suivant les revendications 1 et 2, carac-
térisé en ce que le bus est formé d'un seul milieu de trans-
fert, et la seconde durée minimale (TBi) satisfait, pour chaque participant potentiel (Mi), à l'expression TBi = aB.Tci = (R.V).Tci, dans laquelle Tci est la période du générateur
de signaux d'horloge pour ce participant (Mi).
6.- Système à sources de données et à récepteurs de don-
nées multiples suivant les revendications 1 et 3, caractéri-
sé en ce que le bus est formé d'un seul milieu de transfert (C) et la seconde durée minimale (TFi) satisfait, pour chaque participant potentiel (Mi), à l'expression TFi = aF. Tci 4. (R.V).Tci, o TCi est la durée de la période du générateiw
2 4 8 1 4 8 5
de signaux d'horloge pour ce participant (Mi).
7.- Système à sources de données et à récepteurs de
données multiples suivant les revendications 1 et 2, carac-
térisé en ce que le bus est formé de deux milieux de trans-
fert (K, D) et la seconde durée minimale (T) satisfait pour Bi chaque participant potentiel (Mi), à l'expression
TBi = (R.V).Tci, o Tci est la durée de la période du géné-
rateur de signaux d'horloge pour ce participant (Mi).
8.- Système à sources de données et à récepteurs de
données multiples suivant les revendications 1 et 3, caracté-
risé en ce que le bus est formé de deux milieux de transfert (K, D) et la seconde durée minimale (TFi) satisfait, pour
chaque participant potentiel (Mi), à l'expression T Fi -
(R.V).Tci, o Tci est la durée de la période du générateur
de signaux d'horloge pour ce participant (Mi).
9.- Source de données et/ou récepteur de données conçu pour participer activement à une action se rapportant à un
transfert dans un système suivant la revendication 1, carac-
térisés en ce que: - ils ont au moins une entrée de commande (CR) et une sortie
de commande (CW)-et, dans la source et/ou le récepteur, les-
dits moyens: - par l'intermédiaire de la sortie de commande (CW), après établissement dans les seconds moyens assurant la détection que la dite seconde durée (par exemple TBi) s'est écoulée,
convertissent un niveau logique "prêt" sur le bus de communi-
cation en un niveau logique "occupé".
- produisent, à la sortie de commande (CW) également le ni-
veau logique "occupé" au cas o le niveau logique "occupé"
placé sur le bus par un autre participant est reçu par l'in-
termédiaire de l'entrée de commande (CR) et/ou, de plus, la source et/ou le récepteur ont eux-mêmes établi entre-temps, à l'aide des premiers moyens assurant la détection, qu'au moins la première durée (par exemple T Ai) s'est écoulée, de sorte que la source et/ou le récepteur peuvent ainsi être commandés en vue de la participation à l'exécution d'une
action envisagée.
10.- Source de données et/ou récepteur de données sui-
vant la revendication 9, caractérisés en ce qu'il s'agit d'un processeur de signaux numériques qui comporte des moyens de fonction programmés qui comprennent lesdits moyens dont une entrée fonctionne comme ladite entrée de commande (CR) et une sortie comme ladite sortie de commande (CW).
11.Source de données et/ou récepteur de données suivant la revendication 10, caractérisés en ce que pour la source et/ou le récepteur, un détecteur de transition de niveauklgic-e' 3rêt' - "occupé" est prévu, au moyen duquel une transition "prêt" - "occupé" fournit sur le bus de communication un temps de réaction raccourci pour la production par la source de
données et/ou par le récepteur lui-même, à sa sortie de com-
mande (CW), du niveau logique "occupé" lorsqu'il a, en outre,
établi entre-temps qu'au moins la première durée est écou-
lée.
12.- Source de données et/ou récepteur de données sui-
vant la revendication 9, caractérisés en ce que la source et/ou le récepteur comportent une première partie DL1) et une
seconde partie (DL2), la première partie (DLI) contenant es-
sentiellement la fonction de source et/ou de récepteur et étant connectée à la seconde partie (DL2) par au moins une sortie de requêtes (REQ) et une entrée d'accusé de réception
(ACK), la seconde partie comportant respectivement une en-
trée de requêtes (REQ) et une sortie d'accusé de réception (ACK) et étant, en outre, pourvue desdits moyens (HS) servant
à établir si le bus de communication est prêt pour l'exécu-
tion d'une action se rapportant à une communication, la se-
conde partie, qui comporte ladite entrée de commande (CR) et la dite sortie de commande(CW), pouvant être connectée au
bus (par exemple C).
13.- Source de données et/ou récepteur de données sui-
vant la revendication 12, caractérisés en ce que ladite se-
conde partie (DL2) comporte aussi des moyens de comparaison d'identité (IDCOMP) au moyen desquels l'identité propre de la source de données et/ou du récepteur de données peut être comparée à une identité présentée par l'intermédiaire du bus
de communication.
14.- Source de données et/ou récepteur de données sui-
vant la revendication 12, caractérisés en ce que lesdits -moyens comportent dans la seconde partie une mémoire morte (ROM), un compteur d'adresses (ADCR) et un élément logique à fonction ET (140), la mémoire morte pouvant être adressée
par le compteur d'adresses, le compteur d'adresses, à con-
dition que le bus soit "libre", compte des signaux d'horloge qui sont présentés par l'intermédiaire d'une entrée (Cl) du
générateur de signaux d'horloge à partir de la première par-
tie, après qu'un signal de requête ait été reçu par l'inter-
médiaire de l'entrée de requêtes (REQ); lorsque l'état du compteur représentant la première durée (par exemple T Ai
est atteint, la mémoire morte adressée fournit un bit de sor-
tie au moyen duquel l'élément logique à fonction ET (140) est positionné; lorsque l'état du compteur qui représente la seconde durée (par exemple TBi) est atteint ou plus tôt, lorsque, par l'intermédiaire de l'entrée de commande (CR) le signal bus "prêt" se transforme en signal bus "occupé", ce
qui force le compteur (ADCR) par l'intermédiaire de l'élé-
ment à fonction ET (140) dans la position de comptage de la seconde durée (par exemple TBi), la mémoire morte fournit, à partir de l'endroit alors adressé, également le niveau
logique "occupé" à la sortie de commande.
15.- Source de données et/ou récepteur de données sui-
vant la revendication 14, caractérisés en ce que la mémoire morte (ROM) adressée au moyen du compteur d'adresses (ADCR) convient, en coopération avec les moyens comparateurs
d'identité (IDCOMP) pour l'exécution de la comparaison d'i-
dentité.
16.- Système à sources de données et à récepteurs de données multiples suivant la revendication 1, caractérisé en ce que le bus de communication est formé de deux milieux
de transfert (KD) dont le premier sert de milieu de trans-
fert de commande (K) et l'autre de milieu de transfert de données (D), au moins chaque participant (Mi) à une action
étant pourvu d'une borne d'écriture et d'une borne de lec-
ture CKW(Mi) et KR(Mi)3 sur le milieu de transfert de com-
mande ainsi que d'une borne d'écriture et d'une borne de lecture CDW(Mi) et DR(Mi)D sur le milieu de transfert de données.
17.- Système à sources de données et à récepteurs de données multiples suivant la revendication 1, caractérisé en ce que le bus de communication est formé de trois milieux de
transfert dont deux servent de milieux de transfert de com-
mande (KA, KB) et le troisième de milieu de transfert de données (D), au moins chaque participant (Mi) à une action étant pourvu de bornes d'écriture et de bornes de lecture
CKAW(Mi), KBW(Mi) et KAR(Mi) et KBR(Mi)] sur les mi-
lieux de transfert de commande et d'une borne d'écriture ainsi que d'une borne de lecture CDW(Mi) et DR(Mi)D sur le
milieu de transfert de données.
18.- Système à sources de données et à récepteurs de données multiples suivant la revendication 1, caractérisé en ce que le bus de communication est formé de trois milieux
de transfert dont l'un sert de milieu de transfert de comman-
de (K) et les deux autres de milieux de transfert de données (DA et DB), au moins chaque participant (Mi) à une action étant pourvu d'une borne d'écriture et d'une borne de lecture CKW(Mi) et KR(Mi)D sur le milieu de transfert de commande et de bornes d'écriture ainsi que de bornes de lecture CDAW(Mi), DBW(Mi) et DAR(Mi), DBR(MI)D sur les milieux de
transfert de données.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| NL8002346A NL8002346A (nl) | 1980-04-23 | 1980-04-23 | Multi databron- en dataontvangersysteem met communicatiebus. |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2481485A1 true FR2481485A1 (fr) | 1981-10-30 |
| FR2481485B1 FR2481485B1 (fr) | 1987-09-18 |
Family
ID=19835186
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR8107897A Expired FR2481485B1 (fr) | 1980-04-23 | 1981-04-21 | Systeme a sources de donnees et a recepteurs de donnees multiples a bus de communication |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US4418386A (fr) |
| JP (2) | JPS56169453A (fr) |
| AU (1) | AU544216B2 (fr) |
| CA (1) | CA1164968A (fr) |
| CH (1) | CH654126A5 (fr) |
| DE (1) | DE3115453A1 (fr) |
| FR (1) | FR2481485B1 (fr) |
| GB (1) | GB2074819B (fr) |
| IT (1) | IT1135779B (fr) |
| NL (1) | NL8002346A (fr) |
| SE (1) | SE449801B (fr) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58500227A (ja) * | 1981-06-17 | 1983-02-10 | ザ ボ−イング コンパニ− | 改良自律端末デ−タ通信システム |
| US4332027A (en) * | 1981-10-01 | 1982-05-25 | Burroughs Corporation | Local area contention network data communication system |
| US4513370A (en) * | 1982-07-19 | 1985-04-23 | Amdahl Corporation | Data transfer control system and method for a plurality of linked stations |
| GB8316463D0 (en) * | 1983-06-16 | 1983-07-20 | Secr Defence | Priority resolution in bus oriented computer systems |
| US4654820A (en) * | 1983-11-30 | 1987-03-31 | At&T Bell Laboratories | Interrupt bus structure |
| DE3402076A1 (de) * | 1984-01-21 | 1985-08-01 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Verfahren und anordnung zur datenuebertragung |
| JPS61161840A (ja) * | 1985-01-10 | 1986-07-22 | Sharp Corp | デ−タ伝送方式 |
| JPS61161842A (ja) * | 1985-01-11 | 1986-07-22 | Sharp Corp | 信号送出方式 |
| IT1184933B (it) * | 1985-03-28 | 1987-10-28 | Olivetti & Co Spa | Circuito di integrazione per la trasmissione e la ricezione di dati |
| US5101478A (en) * | 1985-06-28 | 1992-03-31 | Wang Laboratories, Inc. | I/O structure for information processing system |
| US4908749A (en) * | 1985-11-15 | 1990-03-13 | Data General Corporation | System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal |
| US5237670A (en) * | 1989-01-30 | 1993-08-17 | Alantec, Inc. | Method and apparatus for data transfer between source and destination modules |
| US5088024A (en) * | 1989-01-31 | 1992-02-11 | Wisconsin Alumni Research Foundation | Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit |
| US5274774A (en) * | 1989-01-31 | 1993-12-28 | Wisconsin Alumni Research Foundation | First-come first-serve arbitration protocol |
| US5333301A (en) * | 1990-12-14 | 1994-07-26 | International Business Machines Corporation | Data transfer bus system and method serving multiple parallel asynchronous units |
| US5251305A (en) * | 1991-04-04 | 1993-10-05 | Unisys Corporation | Apparatus and method for preventing bus contention among a plurality of data sources |
| US5245261A (en) * | 1991-10-24 | 1993-09-14 | International Business Machines Corporation | Temperature compensated overcurrent and undercurrent detector |
| DE4135553A1 (de) * | 1991-10-29 | 1993-05-06 | Alcatel Sel Aktiengesellschaft, 7000 Stuttgart, De | Verfahren und schaltungsanordnung zur datenblockuebertragung ueber ein bussystem |
| US5613038A (en) * | 1992-12-18 | 1997-03-18 | International Business Machines Corporation | Communications system for multiple individually addressed messages |
| US5963719A (en) * | 1996-01-22 | 1999-10-05 | Cabletron Systems, Inc. | Two-pin distributed ethernet bus architecture |
| DE69733684T2 (de) * | 1996-09-18 | 2006-04-27 | Koninklijke Philips Electronics N.V. | Nachrichtenverteilungssystem |
| US6081904A (en) * | 1998-04-30 | 2000-06-27 | International Business Machines Corporation | Method for insuring data integrity during transfers |
| EP0980166A1 (fr) * | 1998-08-06 | 2000-02-16 | Siemens Aktiengesellschaft | Publication active |
| GB0004088D0 (en) * | 2000-02-21 | 2000-04-12 | Nokia Networks Oy | Packet data services in a telecommunications system |
| JP4120978B2 (ja) | 2001-02-27 | 2008-07-16 | ヤマハ株式会社 | 電子楽器用バスシステム |
| US10762011B2 (en) | 2012-04-30 | 2020-09-01 | Hewlett Packard Enterprise Development Lp | Reflective memory bridge for external computing nodes |
| EP2845110B1 (fr) * | 2012-04-30 | 2018-10-24 | Hewlett-Packard Enterprise Development LP | Pont de mémoire à réflexion pour noeuds informatiques externes |
| EP3912048B1 (fr) | 2019-01-15 | 2023-07-19 | Heldeis, Christoph | Procédé d'adressage implicite d'unités électroniques et d'unités correspondantes |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3543246A (en) * | 1967-07-07 | 1970-11-24 | Ibm | Priority selector signalling device |
| US4096569A (en) * | 1976-12-27 | 1978-06-20 | Honeywell Information Systems Inc. | Data processing system having distributed priority network with logic for deactivating information transfer requests |
| FR2407522A1 (fr) * | 1977-10-25 | 1979-05-25 | Digital Equipment Corp | Systeme de traitement de donnees avec division de l'operation de lecture |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3593300A (en) * | 1967-11-13 | 1971-07-13 | Ibm | Arrangement for automatically selecting units for task executions in data processing systems |
| JPS5812611B2 (ja) * | 1975-10-15 | 1983-03-09 | 株式会社東芝 | デ−タテンソウセイギヨホウシキ |
| JPS5296836A (en) * | 1976-02-10 | 1977-08-15 | Toshiba Corp | Multiplex data processing system |
| US4110823A (en) * | 1977-02-17 | 1978-08-29 | Xerox Corporation | Soft display word processing system with multiple autonomous processors |
| US4199663A (en) * | 1978-11-06 | 1980-04-22 | The Boeing Company | Autonomous terminal data communications system |
-
1980
- 1980-04-23 NL NL8002346A patent/NL8002346A/nl not_active Application Discontinuation
-
1981
- 1981-04-13 GB GB8111624A patent/GB2074819B/en not_active Expired
- 1981-04-16 AU AU69597/81A patent/AU544216B2/en not_active Ceased
- 1981-04-16 DE DE3115453A patent/DE3115453A1/de active Granted
- 1981-04-16 CA CA000375726A patent/CA1164968A/fr not_active Expired
- 1981-04-17 IT IT21288/81A patent/IT1135779B/it active
- 1981-04-20 US US06/255,916 patent/US4418386A/en not_active Expired - Fee Related
- 1981-04-21 SE SE8102494A patent/SE449801B/sv not_active IP Right Cessation
- 1981-04-21 FR FR8107897A patent/FR2481485B1/fr not_active Expired
- 1981-04-21 CH CH2606/81A patent/CH654126A5/de not_active IP Right Cessation
- 1981-04-22 JP JP5992681A patent/JPS56169453A/ja active Granted
-
1989
- 1989-08-25 JP JP1217654A patent/JPH02180450A/ja active Granted
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3543246A (en) * | 1967-07-07 | 1970-11-24 | Ibm | Priority selector signalling device |
| US4096569A (en) * | 1976-12-27 | 1978-06-20 | Honeywell Information Systems Inc. | Data processing system having distributed priority network with logic for deactivating information transfer requests |
| FR2407522A1 (fr) * | 1977-10-25 | 1979-05-25 | Digital Equipment Corp | Systeme de traitement de donnees avec division de l'operation de lecture |
Non-Patent Citations (2)
| Title |
|---|
| IBM TECHNICAL DISCLOSURE BULLETIN, vol. 21, no. 9, février 1979, pages 3712-3715, IBM Corp., New York, USA * |
| WIRELESS WORLD, vol. 85, no. 1518, février 1979, pages 32-35, Sussex, GB. * |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2481485B1 (fr) | 1987-09-18 |
| DE3115453C2 (fr) | 1990-09-20 |
| CA1164968A (fr) | 1984-04-03 |
| JPH023577B2 (fr) | 1990-01-24 |
| GB2074819B (en) | 1984-08-30 |
| SE449801B (sv) | 1987-05-18 |
| SE8102494L (sv) | 1981-10-24 |
| IT8121288A0 (it) | 1981-04-17 |
| JPS56169453A (en) | 1981-12-26 |
| AU6959781A (en) | 1981-10-29 |
| IT1135779B (it) | 1986-08-27 |
| JPH035102B2 (fr) | 1991-01-24 |
| NL8002346A (nl) | 1981-11-16 |
| CH654126A5 (de) | 1986-01-31 |
| US4418386A (en) | 1983-11-29 |
| GB2074819A (en) | 1981-11-04 |
| DE3115453A1 (de) | 1982-04-15 |
| JPH02180450A (ja) | 1990-07-13 |
| AU544216B2 (en) | 1985-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| FR2481485A1 (fr) | Systeme a sources de donnees et a recepteurs de donnees multiples a bus de communication | |
| EP0121030B1 (fr) | Dispositif d'arbitrage pour l'attribution d'une ressource commune à une unité sélectionnée d'un système de traitement de données | |
| FR2519441A1 (fr) | Systeme de selection de priorite pour l'acces a un bus utilise en mode partage | |
| EP0293314B1 (fr) | Méthode et système de contrôle de flux de paquets | |
| EP0052035B1 (fr) | Dispositif d'arbitration décentralisée de plusieurs unités de traitement d'un système multiprocesseur | |
| EP1261151A1 (fr) | Procédé d'attribution de ressources dans un système de télécommunications du type MF-TDMA | |
| FR2503898A1 (fr) | Procede et dispositif d'allocation d'une ressource dans un systeme comportant des unites de traitement de donnees autonomes | |
| FR2482746A1 (fr) | ||
| EP0094322B1 (fr) | Coupleur à haut débit entre un multiplex de voies MIC et un commutateur de paquets | |
| FR2648646A1 (fr) | Procede et dispositif de gestion d'acces au support de transmission d'un reseau de commutation reparti multiservices | |
| FR2546354A1 (fr) | Circuit d'interface de canal de commande dans un systeme de telecommunication | |
| FR2528195A1 (fr) | Systeme de communication entre ordinateurs | |
| FR2482807A1 (fr) | Dispositif d'interface pour la reception de signaux pcm ou signaux modules par impulsion | |
| FR2513057A1 (fr) | Matrice de commutation temporelle | |
| EP0112953A1 (fr) | Procédé d'affectation dynamique de vitesses dans un système de transmission multiplex | |
| EP0120495B1 (fr) | Dispositif d'échange de messages codés entre stations | |
| EP0039635B1 (fr) | Procédé d'arbitration centralisée, et arbitreur centralisé | |
| EP0120172B1 (fr) | Dispositif d'interface de bus pour un système de traitement de données | |
| FR2543710A1 (fr) | Systeme de traitement d'images de figures | |
| FR2568073A1 (fr) | Dispositif de perte et de reprise de verrouillage de trame pour un signal numerique. | |
| EP0056208B1 (fr) | Procédé et dispositif de synchronisation de messages | |
| EP0025731A1 (fr) | Sélecteur de demandes asynchrones dans un système de traitement de l'information | |
| EP1772808B1 (fr) | Dispositif et procédé de lecture d'informations dans un ensemble de composants électroniques reliés à un bus de communication, appliqué à la lecture d'une matrice de pixels | |
| FR2790892A1 (fr) | Procede et dispositif de controle de la synchronisation entre deux bus de communication serie d'un reseau | |
| EP0011540B1 (fr) | Dispositif d'interface entrée-sortie entre un commutateur de données et une pluralité de voies de transmission |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |