Brevet FR2360131A1 — publié le 19780224

La présente invention concerne un procedé de transmission de données entre un terminal principal couplant un canal de Cpu et des terminaux secondaires connectés à des dispositifs de mémorisation de masse tels que disques et bandes, et disposes suivant une configuration en boucle. Les systèmes en boucle capables de transmettre des données a des cadences de l'ordre du million de multiplets par seconde utilisent généralement des trames de plusieurs multiplets de longueur fixe, chaque trame ne pouvant être affecté qu'à un seul terminal à la fois. En outre, ces systèmes peuvent avoir un retard de boucle qui excede considérablement la durée de la trame, en raison du débit élevé des données. Généralement un canal de Cpu accède aux données conservées sur des dispositifs de mémoire à accès direct en communiquant une série d'instructions identifiant la position de l'enregistrement en termes d'unités de disque de volume de mémorisation, ou de piste de disque et selon la position angulaire et l'opération de lecture ou d'écriture concernée. Les instructions appelées mots de commande de canal sont interprétées par un contrôleur commun aux unités a disques pour positionner effectivement le mécanisme d'accès par rapport aù dispositifs-memoire, et pour exécuter l1opération de lecture ou d'écriture. Dans la mesure où la disponibilité du canal et les temps de réponse de la mémoire pour l'accès, la lecture et l'écriture des enregistrements sont variables, le couplage entre le canal et la mémoire à acces direct est "lâche", c'est dire que les transferts sont effectues au moyen d'un protocole de demande/réponse. Cela signifie que l''1état" d'un dispositif est d'abord vérifie et si ce dispositif est disponible, une seule transaction de donnees peut se dérouler. Ce procédé minimise la nécessité d'une mémorisation intermédiaire même si les "vitesses" des dispositifs sont différentes. Le couplage d'un canal de CPU à plusieurs dispositifs memoire sur une base de partage de temps via une boucle ne modifie pas ce protocole, dans son principe. Cela signifie qu'il faut tenir compte des caractérsitiques speciales des boucles. Par exemple, les boucles utilisées avec des dispositifs mémoire à débit de donnees élevé doivent prévoir la deconnexion diun terminal qui sature le système. Cette situati-on est due à deux causes. D'abord, les dispositifsmémoire de masse tels que disques et bandes ne disposent pas d'une possibilité de marche/arrêt par caractère. Par contre, ils transfèrent les données par plusieurs multiplets, enregistrements ou par pistes entieres. En second lieu, pour des transferts importants, une bande passante large (débit élevé de données) est indispensable. A cet égard, les saturations se produisent lorsque la bande passante disponible est moins élevée que la bande passante cumulée de tous les terminaux emettant une demande de service. Un protocole de boucle pour coupler le canal et les dispositifs mémoire doit prévoir l'émission de commandes d'accès à partir du canal, l'écriture de données uniquement dans la mesure où le dispositif récepteur peut accepter le transfert, et l'attribution de bande passante de manière à éviter le blocage de certains terminaux secondaires de la boucle en faveur d'autres terminaux, ou la saturation du système. Dans les systèmes antérieurs, certains protocoles de boucle affectent une tranche de temps à un dispositif de façon permanente. En conséquence, il ya gaspillage de temps (ou déperdition de bande passante) si les tranches ne sont pas utilisées. Lorsqu'un protocole de boucle exige que le terminal principal centralise l'affectation des tranches de temps, le dispositif principal n'a pas connaissance des variations instantanées du débit de données des dispositifs.Cela, à son tour exige que le terminal principal transmette des tranches affectees à une cadence supérieure à celle du dispositif. Cela entrain egalement un gaspillage, parce qu'aucun autre dispositif ne peut utiliser la bande passante affectée au dispositif susceptible de saturer le système. D'autres protocoles de boucle utilisent des systèmes de distribution tels que l'appel optionnel de transmission. Dans de tels systemes (ORP) les trames de bits de contrble.au début de chaque cycle, avec leurs longueurs variables, imposent des conditions de mémorisation intermédiaire à chaque dispositif. Le nombre de trames perdues represente une durée au moins egale au retard de boucle pendant chaque cycle ORP. N'importe quel système de boucle à partage de temps entre différents terminaux adressables nécessite un format de trame avec une portion d'adresse, de commande et de donnees. La portion d'adresse doit inclure un destinataire et/ou un expéditeur. La portion de commande est generalement réserve à l'indication du type ou du mode, à savoir demande de service, commande, ecriture, lecture, "état" du dispositif et "état" de la trame, c'est-à-dire disponible/nondisponible, pleine/vide. Le format de trame comme on pouvait s'y attendre, met en oeuvre le protocole de demande/réponse. Par exemple, si le canal désire ecrire des donnees dans un dispositifmémoire specifique, le dispositifmémoire doit pouvoir indiquer de façon positive sa disponibilité et sa possibilité de recevoir des données. Cette information est communiquée au moyen d'une trame d'"état". Pour éviter la saturation, le dispositif envoie une trame de "demande d'écriture" au dispositif principal chaque fois que sa mémoire-tampon à la place pour une trame de données. De façon à permettre un emmagasinage en mémoiretapon aussi reduit que possible, ce protocole de boucle oblige le terminal principal à répondre à chaque demande d'écriture avec un retard minimum et invariable. Le dispositif peut tirer parti de la latence invariable résultante de la boucle en envoyant sa demande avant d'avoir réellement besoin des données. On peut citer a titre de référence IBM Technical Disclosure Bulletin, Vol. 15, No. 1, Juin 1972, pages 335 à 336, et IBM Technical Disclosure Bulletin, s; 16, No. 1, Juin 1973, pages 302 à 305. Ces articles traitent des reaffectations dynamiques de tranches de temps et de la distribution résultante de la bande passante en termes d'utilisation/reutilisation de tranche de temps à un terminal secondaire de boucle, et de la relation entre les tranches vides nonaffectees générées par un terminal principal et la file des données (messages) aux terminaux secondaires. Dans le premier article, une tranche de temps adressée à un terminal de boucle particulier peut être captée par ce terminal et "réutilisée" en écrivant dans la portion d'adresse, une autre adresse ou un caractère spécial. Le caractère spécial a pour fonction de créer une tranche de temps nonaffectée. Evidemment, une tranche nonaffectée,peut etre "utiliseeU dans le premier cas par le premier terminal désireux de communiquer des données ou de demander un service. Cet article étudie l'effet statistique par lequel les terminaux en amont ont un accès plus facile aux tranches de temps nonaffectees générées par le terminal principal, de façon à obtenir un accès plus uniforme. Selon le deuxieme article, les messages sont transmis, par exemple, à raison d'un multiplet a la fois, dans des tranches de temps adressables individuellement. Dans ce cas, le terminal principal génere des tranches de temps non affectees en fonction inverse du nombre moyen de messages par tranche de temps, considéré comme un parametre. Si cette moyenne est de 0,1, le terminal principal introduira une tranche nonaffectee lorsque dix tranches adressées auront été envoyées. Si la moyenne s'élevait à 0,5, le terminal principal ferait alterner l'émission de tranches affectées et celle de tranches nonaffectées. Dans les systemes en boucle où le retard de la boucle est un multiple de la duree de la trame, on peut également dire que la propagation du train de bits contient des composantes de fréquence -approchant- la fréquence de coupure supérieure du support de propagation, de sorte que la propagation se trouve affectée par la phase, la fréquence, l'amplitude, la distortion et l'instabilité. On pense que l'instabilité serait due à des interférences et aussi aux bruits aléatoires pouvant moduler de façon imprév.isible'les signaux de la boucle. Cela produit des decalages soudains de fréquence et d'amplitude. En conséquence, l'instabilité propagée sur une boucle lente est généralement faible, comparée à l'intervalle de bit. Cela signifie que la resynchronisation des bits sur les boucles lentes n!est pas difficile.Par contre, une boucle rapide exige un système d'horloge à haute inertie. qui soit relativement insensible à l'instabilité des bits. Les accidents de propagation dont il vient d'être question imposent des contraintes sévères aux boucles rapides. Ainsi donc, un terminal place sur une boucle rapide detecte généralement la perte de la synchronisation de bits uniquement parce qu'elle s'accompagne d'une perte de la synchronisation de trames. Le terminal n'en poursuit pas moins la retransmission des données, sans modifier ces donnees de façon intentionnelle, jusqu'à ce que la synchronisation de trame soit récupéree. Pendant cette période de resynchronisation'les terminaux risquent d'introduire des erreurs dans le train des données, car leur oscillateur fonctionne à une frequence différente de celle des donnees d'entrée. Par exemple, dans les systèmes anterieurs, les terminaux en amont d'un terminal hors-synchro peuvent continuer à transmettre des données sans savoir que les donnees ne sont pas transmises correctement au le terminal principal. Les erreurs de donnees sont détectees par le terminal principal evidemment, au prix de la répétition de toute la transmission. Dans les boucles rapides adaptées à la transmission de volumes importants, les conditions de fiabilité et de continue du debit rendent inacceptables la répétition des messages et le frequent rétablissement des contacts qui ont tous deux pour effet la diminution des transferts d'informations. Citons à titre de référence l'article de Donnan et Kersey, "Synchronous Data Length Control: A perspective" paru dans l'IBM Systems Journal, No.2, 1974, pages 140 à 162. Donnan ne s'occupe que de la synchronisation des trames et il ne s'occupe pas de synchronisation au niveau du multiplet ou à des niveaux d'informations inférieurs, D'autres documents de référence n'étudient que la synchronisation au niveau de la trame. Le brevet français No. 71 06540 dépose le 16 février 1971 et le brevet français No. 70 01476 depose le 14 janvier 1970, tous deux par la demanderesse utilisent un système de 24 bits contigus pour la synchronisation afin de maintenir le synchronisme à l'intérieur des différents dispositifs du système de communication, et d'assurer une séparation entre les trames adjacentes. Le deuxième brevet s'occupe essentiellement de la transmission par boucle de données partagees entre un grand nombre d'emetteurs et de récepteurs à faible debit, rassembles selon un systeme à multiplexage temporel. Citons également à titre de référence les brevets des E.U.A 3 859 466, 3 652 799 et 3 424864. Ces brevets sont-autant d'exemples de l'attention portée naguère aux boucles destinées àdes. terminaux à faible vitesse, ou les retards sont des multiples entiers des durées des trames. Les brevets des E.U.A 3 859 466 et 3 424 864 exigent que chaque station connectée à chaque autre station d'un réseau sur un canal duplex utilise unefréquence operatoire commune à toutes les autres stations, les modifications de fréquence à une station étant fonction de la comparaison de phase. Dans les systèmes de ces brevets; la fréquence commune représente une valeur moyenne, bien que le brevet des E.U.A 3 859 466 permette à une station de rejoindre le reseau avec une perturbation minime. Toutefois, dans ces deux brevets, une station connectee au réseau qui perd sa synchronisation perturbera l'autre station et provoquera des erreurs de transmission jusqu'à ce qu'elle soit synchronisée.Enfin, le brevet des E.U.A 3 652 799 détecte un défaut de synchronisation du à la non-correspondance entre des signaux consécutifs de synchronisation de trame, la re-synchronisation etant réalisée en parallèle. Pour être complets, on citera également le brevet des E.U.A No. 3 906 153 qui décrit la resynchronisation des trames transmises sur une boucle, ou les trames sont passées sur la boucle en semi-duplex à partir d'une source distante. La resynchronisation des trames est prise en compte au terminal principal de la boucle, moyennant un ajustement de phase à variation lente afin d'éviter la perte de "synchronisation de bi t". La présente invention a pour objet d'améliorer l'utilisation (l'occupation) de la bande passante entre les terminaux dans un système en boucle. Elle a pour autre objet d'apporter une amélioration à des boucles reliant des dispositifs à haut débit de données tels que les canaux de CPU à des dispositifs mémoire de masse, afin de minimiser les éxigences de mdmori- sation intermédiaire des données dans les dispositifs. L'invention a pour objet spécifique d'ameliorer lloccupation de la bande passante dans les systèmes en boucle, au moyen d'une méthode permettant de minimiser les délais d'obtention et de repri-se de la synchronisation de trame. Cet objet est atteint dans un système en boucle reliant un canal de CPU au terminal principal de la boucle et connectant de façon indépendante des dispositifs-memoire aux terminaux. secondaires de la boucle. Chaque terminal est conçu pour pouvoir générer les trames à une cadence élevée de façon à ce que la duree de la trame soit inférieure à la latence de la boucle. Les trames sont toutes de longueur fixe et egale, et leur capacité est de l'ordre de plusieurs multiplets. De plus, chaque trame comporte une portion d'adresse, de commande et de données. La portion de commande contient un code indiquant le type de la trame tel que disponible ou non-disponible, pleine ou vide, ou de demande de service. Les données sont inscrites dans, ou extraites des dispositifs mémoire, en réponse aux ordres d'accès issus du canal de la CPU et transmis par l'intermédiaire du terminal principal aux terminaux secondaires. Le procédé de l'invention permet de récupérer la synchronisation avec un retard minimum après une interruption. Supposons une interruption temporaire de la boucle due. à une défaillance de terminal secondaire de boucle i. Dans ces conditions le terminal en aval suivant i+1 perdra immédiatement son synchronisme. La transmission des données en aval s'arrêtera, et le terminal i+1 genèrera un premier signal utilisé comme référence de synchronisation par les terminaux en aval i+2, i+3, etc. En réponse au premier signal ou à la condition hors synchro > le terminal principal genère alors un second signal utilisable comme référence de synchronisme par les terminaux en amont ..., i-3, i-2, i-1, dans la mesure oA le iieme terminal peut soit détecter et corriger sa propre défaillance, soit être ignoré. Les terminaux i, ils1, i+2, ..., et les terminaux suivants en aval, synchronisés au premier signal, repositionnent leurs compteurs de bits et commencent lentement à -se synchroniser avec les bits de synchronisation supplementaires entrants incorporés dans le second signal. Cela se produit avec une lenteur suffisante pour que les terminaux en aval i+1, it2, ...> puissent suivre sans perdre leur synchronisation de bit. Plus particulièrement, un terminal détectant une condition hors synchro, suspend la transmission des données en aval et n'envoie que des trames vierges comme référence de synchro. Ces trames comprennent des multiplets en zéros séparés par un bit de synchrr., c'est-à-dire 1000000001000000001. Les terminaux en aval transmettent cette trame au terminal principal. A son tour, le terminal principal génère des bits de syn.chro. à l'intention des terminaux en amont du terminal defectueux, comme référence de synchro. Une trame de synchro. est composée de deux 1 tous les douze multiplets composant la trame vierge, c'est-à-dire 1100000001000000001...0000000011. Mult. 1 Mult. X Mult. 12 A noter que le bit de synchro de trame est le premier bit du multiplet 1, et non un 109eme bit. La trame comprend 108 bits. La synchronisation de trame peut être n'importe quelle configuration pour le premier multiplet. Le terminal défectueux corrige son anomalie, sinon il sera ignoré. A mesure que l'anomalie de synchronisation est corrigée, la sortie de ce terminal change progressivement de phase, de sorte que tous les terminaux en aval suivent sans perdre leur synchronisation. Lorsque la synchronisation est récupérée1 le terminal propage la trame de synchronisation. Les terminaux en aval resynchronisent par rapport au bit supplementaire de la trame de synchronisation, en repositionnant leurs compteurs internes pour correspondre aux bits de délimitation de trame. Comme les terminaux en aval ne perdent pas leur synchronisation, ils propagent la trame de synchronisation dès qu'ils la reçoivent.Le repositionnement des leurs compteurs internes ne provoque aucune modification de phase ni de fréquence dans leur train de bits de sortie. Cette methode qui vient d'être décrite presente l'avantage de réduire la durée d'acquisition de la synchronisation à celle du terminal défectueux seul. Dans l'invention, toutes les transmissions de données sur la boucle se terminent de façon soudaine et une séquence systématique leur est substituée pour obtenir la synchronisation. La transmission des donnees sur la boucle reprend lorsque tous les terminaux sont synchronises. Ce fait est transmis au terminal principal par la réception de la trame de synchronisation. En ce qui concerne la transmission des données lorsqu'un terminal est prêt à transmettre des donnees au terminal principal il doit d'abord capter une trame vide non affectée et demander la permission du terminal principal. En réponse a la demande, le terminal principal relie le secondaire à la boucle, seulement si la bande passante cumulee est inférieure à la bande passante de boucle disponible à cet instant. Ce procédé verrouille les terminaux qui pourraient saturer la boucle. Cela suppose égalemnt qu'il existe une valeur moyenne ou maximale pour chaque terminal. Cela suppose en outre que la somme algébrique des différences entre les valeurs réelles et affectée est négligeable. De la sorte, l'invention utilise un bit dl"etat" de disponibilité dans chaque trame, indiquant ltoccupation de la boucle.Si elle est entièrement occupée (par la bande passante disponible), les nouvelles demandes ne pourront être honorées. L'affectation dynamique des trames est faite par le terminal p-rincipal et de façon optionnelle aux terminaux secondaires. A cet égard, l'invention envisage une relation sur une base unitaire entre le type de trame reçue d'un secondaire et le type de trame généree par le terminal principal. Ainsi donc, une trame vide nonaffectée sera générée dans la trame sortante suivante en réponse à chaque trame (de lecture) pleine affectée provenant d'un terminal secondaire. Le terminal principal génère en outre une trame (d'écriture) pleine affectée apres reception de chaque demande de service (écriture). Enfin, le terminal principal peut envoyer une commande d'accès uniquement apres reception d'une trame qui n'implique pas une demande de bande passante, comme pour chaque trame vide non affectée reçue. En générant une trame vide nonaffectée en reponse à chaque trame pleine affectée, la bande passante est disponible pour le transfert des données à partir de n'importe quel dispositif memoire prêt (terminal secondaire).La saturation de la boucle ne peut se produire, car la relation sur la base unitaire se contente de reaffecter la même bande passante de boucle en fonction directe de son utilisation par les terminaux secondaires. La saturation par un dispositif est êliminé par envoi d'une trame pleine de données, seulement apres reception d'une demande de service (écriture) provenant du terminal secondaire. Les trames vides non-affectees, si elles retournent au terminal principal, représentent une bande passante disponible pour d'autres usages. Parmi ces emplois possibles, citons la transmission d'une trame de commande, apres quoi le terminal secondaire adresse peut accéder au dispositif mémoire relié. Un autre emploi serait de faire re-circuler la trame vide non-affectée. Le génération des trames vides non-affectées augmente effectivement la disponibilite des trames en faveur. des terminaux en amont qui se trouvent les plus proches du terminal principal, au depend des terminaux en aval les plus proches du terminal principal. Les chances de disponibilite peuvent être uniformisees entre les terminaux, au moyen d'un protocole d'utilisation/re-utilisation de trames par les terminaux secondaires. Ce protocole permet à un terminal secondaire de capter une trame qui lui est adressee et de la "ré-utiliser" en envoyant une demande de service (écriture) au primaire.Ou encore, si le secondaire nla pas de demande d'écriture à émettre, il doit transformer la trame l'affectée" en une trame "non-affecteé". a i elles est affectée le secondaire peut "utiliser la trame" en envoyant une trame pleine de données (lecture), une trame de demande de service, ou une trame d'"état". La figure 1 représente un système de boucle reliant un canal de CPU à plusieurs dispositifs-mémoire. La figure 2 illustre certains details logiques du contrôleur et de l'adaptateur de boucle représentés à la figure 1. La figure 3 represente la circulation des données dans les convertisseurs serie et L'adaptateur de boucle. Les figures 4 à 7 representent les protocoles de boucle du con frôleur et des adaptateurs de dispositif. La figure 8 est un chronogramme et un diagramme de signaux d'un système utilisant un code ternaire bi-polaire en référence à la synchroni sation de boucle. Les figures 9 et 10 representent lialgorithme de synchronisation suivi par i 1adaptateur de dispositif et le controleur de boucle. La figure 1 que nous allons examiner represente un systeme I de transmission par boucle servant à coupler un ou plusieurs dispositifs-mémoire 3 à la mémoire principale 5 d'un ordinateur. La mémoire principale est couplée au contrôleur de boucle 7. A cet égard, le contrôleur de boucle est egalement appelé terminal principal. Les dispositifs mémoire tels que périphériques à disques ou bandes se connectent à- des adapteurs de dispositifs 9, appeles également terminaux secondaires. La boucle ellemême est composee d'un circuit de transmission unidirectionnel 11 reliant en série des convertisseurs serie-parallele 12, 13, 15, 17 et 19. L'insertion des données dans la boucle est réalisée par conversion paraliele-série à partir d'un adaptateur de dispositif ou de boucle par l'intermédiaire du convertisseur.De même, le retrait des donnees de la boucle est réalisé par la conversion série-parallèle au moyen du dispositif convertisseur ou de l'adaptateur de boucle. Dans le systeme représenté à la figure 1, on utilise une trame fixe de 108 bits. Cette trame comprend 64 bits de donnees plus les bits de contrôle. La capacité de la trame dans n'importe quel cas particulier est le résultat de compromis et d'aménagements. Il est évident que le rendement peut être amélioré, par exemple en utilisant des trames plus longues avec un rapport données/contrale plus elevé. Tout protocole peut fonctionnner avec n'importe quelle longueur de trame convenant à une mise en oeuvre particuliere, et il est possible d'utiliser le protocole décrit ci-dessous avec une longueur de trame variable. Par souci de simplification, nous nous bornerons à décrire un système avec trames de longueur fixe. Afin de pouvoir utiliser un débit de données éleve, des informations d'horloge sont émises tous les neuf bits sous forme d'un bit "un" délimitant chaque multiplet d'information. Dans ce contexte, de tels bits seront appelés bits de synchronisation. La présente invention utilise quatre types de trames. Ce sont les trames vierges, de synchronisation, vides et pleines. Les trames vierges et de synchronisation ne sont pas opératoires, dansla mesure ou elles sont utilisées dans la routine de synchronisation automatique pour verrouiller les horloges de tous les adaptateurs de dispositifs. Une "trame vide" ne contient pas d'informations et elle peut être utilisée pour transmettre des informations d"'état". Dans le format de la trame, les positions de bits O et 1 définissent le début d'une trame, si elles sont codifiees aux valeurs 1 et 0 respectivement, auquel cas elles sont toutes deux placées immédiatement après un bit de synchronisation, de sorte que la sequence de bits est 1100. La position de bit 3 indique la disponibilité de la trame lorsqu'elle est positionnée à 1. La position de bit 4, lorsqu'elle est occupée par un 1, indique que la trame est vide et qu'elle peut être utilisée pour envoyeur, lire ou pour des informations d'"état". Lorsque la position de bit 4 contient un O, la trame est pleine.Les positions de bits 5, 6 et 7 definissant une adresse d'adaptateur de dispositif/convertisseur série contiennent uniquement l'adresse de l'adaptateur du dispositif qui peut accomplir l'opération de transfert de données définie par les bits de mode 5,6 et 7. Une seule opération de transfert de données peut être accomplie à la fois. Les positions de bits 16 à 79 definissant la zone de données contiennent huit multiplets de données, lorsque les bits de mode indiquent la lecture ou l'écriture. Si le mode indique une trame de commande ou d"'etat", la commande et ses parametres ou les informations d' "état" seront contenues dans la zone de donnees. La zone de données d'une demande d'écriture ou d'une trame vide n'est pas définie.Toutefois, elle ne doit pas contenir la séquence de code 1,0 de façon répétitive dans les deux premiers bits de chaque multiplet. Cette répétition qui est distincte des données aléatoires retarderait un convertisseurXadaptateur de dispositif qui essaierait de Petrouver une synchronisation vraie. Enfin, les positions de bits 80 à 95 servent à la detection des erreurs. Le polynôme pour le CRC comporte les 96 bits de chaque trame. cadre. Les douze bits de synchronisation ne sont pas inclus. En consequence, un convertisseur/adaptateur de dispositif qui modifie une trame d'une quelconque façon doit émettre un CRC correct quelque soit la nature des données. Un convertisseur/adaptateur de dispositif peut ne pas corriger un CRC erroné de la trame particulière qui le traverse. Dans les systemes en boucle du type décrit, les trames peuvent être divisees en trames de commande, d"'etat", de lecture/écriture, d'écriture et trames vides. Les commandes sont adressées du CPU au contrôleur de boucle 7 et, de là, à l'adaptateur de dispositif, afin de declencher les operations. Dans la plupart des cas, une commande et ses parametres peuvent être emis dans une seulq trame. L'adaptateur de dispositif adressé, après avoir reçu une trame de commande doit la transformer en une trame vide ou l'utiliser pour adresser les "états" en instance. En genéral, une trame que l'on doit vider peut être traitée comme une trame vide pour tous usages.A noter que le CRC sortant de toute trame qui a été modifiée par un adaptateur de dispositif de quelconque façon doit refléter correctement la trame toute entière, Une trame de lecture peut etre envoyée sur n'importe quelle trame-vide- reçue, la limite étant la bande passante maximum impose au dispositif mémoire particulier. Les trames d'ecriture ne sont envoyés qu'en reponse.à des demandes d'écriture sur une base unitaire.Le temps écoule entre le début d'une trame de demande et la reception à l'adaptateur de dispositif de la trame d'écriture correspondante, est égal au délai de reponse de la boucle1 encore appelé latence, qui est déterminé par la longueur du cable, le nombre de -secon- daires (par exemple pour des trames de 771ns, la latence varie de la durée de 3 trames à 26 trames. Une trame de demande d'écriture est-envoyée par l'adaptateur de dispositif 9 au contrôleur de-boucle pour demander des données d'écriture. Un adaptateur de dispositif peut envoyer des demandes d'écriture uniquement après avoir reçu une commande d'écriture du contrôleur de boucle.Les demandes d'écriture peuvent, notamment, être envoyées dans n'importe quelle trame vide ou dans une trame d'écriture adressée à l'adaptateur de dispositif. Enfin, une trame vide issue du controleur de la boucle, est une invitation adressée à nimporte quel adaptateur de dispositif, à envoyer des trames de lecture1- d"'état" ou de demande. Une trame vide peut aussi provenir de n'importe quel adaptateur de dispositif ayant reçu un ordre d'ecriture ou une commande sur cette trame. Pour utiliser une trame vide, l'adaptateur de dispositif ne vérifie que les cinq premiers bits de la trame. Tous les autres bits sont ignores. Le contrôleur de boucle 7 et l'adaptateur de dispositif 9 exécutent des protocoles qui fournissent des temps de réponse relativement brefs. Cette opération s'accomplit en associant le convertisseur-série un adaptateur de maniere a n'avoir qu'un retard minimum pour les données de boucle. Cela signifie que le convertisseur7/adaptateur de dispositif n'est pas en mesure de vider une trame contenant des données d'écriture le concernant. Au moment où l'adresse est comparée, le debut de la trame et la plupart des adresses ont été déjà transmis, et ne peuvent être modifiés. L'adaptateur de dispositif a la possibilité de transformer le reste de la trame en une demande de donnees supplémentaires, ou de le laisser inchangé, auquel cas, aucun autre adaptateur de dispositif ne pourra utiliser cette trame. C'est pourquoi, il est nécessaire que l'adaptateur de dispositif utilise des trames d'écriture pour ses demandes d'écriture, dans la mesure du possible, afin de ne pas gaspiller la bande passante de la boucle. Dans une version modifiée de ce protocole, appelée "protocole de ré-utilisation de trame", (figure 5), chaque adaptateur de dispositif introduit un retard plus long dans les données de boucle, de sorte qu'après avoir reconnu sa propre adresse, il peut vider la trame pour permettre-aux autres adaptateurs de'dispositifs de la boucle de l'utiliser. L'adaptateur de dispositif peut aussi utiliser la trame pour demander une autre trame de donnees d'écriture s'il le desire, mais il n'y est pas obligé puisque cela n'entrafne plus d'autre déperdition de bande passante.Le protocole ré-utilisation-de trame est plus efficace du point de vue de l'utilisation de la bande passante de la boucle, et plus- souhaitable si le long retard de boucle qui en découle à long terme peut être toleré. Sur la figure 8 et la figure 1 associées, les donnees sont transmises le long de l-a boucle 11 sous forme sérielle. La boucle ellemême peut etre réalisée à partir d'un câble biaxial RG22BU. En-fonction de cette transmission biaxiale, les donnees sont émises sur les deux conducteurs en mode différentiel, c'est-à-dire que le signal sur chaque conducteur est l'inverse électrique de l'autre. Ces données sont récapitulées à la figure 8. Les récepteurs de câble sont constitues par un amplificateur de type differentiel avec un taux de rejet en mode commun relevé. Les données codifiees selon un code bipolaire pseudo-ternaire représentent chaque bit "1" par une impulsion positive ou négative. Chaque impulsion est fixée à une période de bit. Un "0" est représenté par l'absence d'impulsion. Pour synchroniser et convertir correctement les données en parallèle, il est nécessaire de driver des informations d'horloge des bits de données. Comme une longue channe de zeros peut se présenter dans un train de données normal, il est necessaire d'introduire des bits de synchronisation à des intervalles réguliers. En conséquence, un bit de synchronisation est introduit tous les huit bits de données. Les données sont "sérialisées" sur la boucle, de telle sorte que le bit de rang supérieur du multiplet de rang supérieur soit place le premier. Une zone de donnes comprenant huit multiplets est transmise en commençant par les positions binaires 26.3, 262 .... par puissances de deux décroissantes. Le système de communication par boucle de la figure 1 comprend un système de synchronisation. Le système de synchronisation a pour fonction dans la transmission, de maintenir une synchronisation precise et stable pendant la transmission et de récupérer le synchronisme le plus rapidement possible, apres la perte du synchronisme due à des parasites électriques, ou à d'autres agents d'interruption. L;invention utilise deux types d'informations de synchronisation transmises sur la boucle. Ce sont-les informations de synchronisation de bit et les informations de synchronisation de trame, qui doivent les unes et les autres etre réalisées et confirmées ensuite par un contrôle par code de redondance cyclique (CRC) avant l'accomplissement de la synchronisation vraie. "La synchronisation vraie correspond à l'un des nombreux états ou niveaux de synchronisation qui seront- décrits individuellement. Dans le cas present, la synchronisation vraie est une condition préalable nécessaire pour qu'un convertisseur serie 12, 13, 15 et 17 puisse transmettre des informations sur la boucle.La synchronisation vraie doit aussi etre réalisée par f'elément de réception (lecture) de l'adaptateur de boucle 19, avant que des impulsions autres que les trames de synchronisation puisse être transmises sur la boucle. Le système d'horloge de chaque convertisseur série avec ses compteurs de bits et de multiplets doit être synchronisé avec les données de boucle entrantes, afin d'accomplir les fonctions de réception, de resynchronisation et de transmission des données de la boucle. Dans cette invention, lorsqu'un convertisseur serie est hors synchronisation, il ne transmet que des trames vierges. Lorsque l'adaptateur de boucle-n'est plus synchronise, ou qu'il reçoit des trames cadres "vierges", il ne transmet que des trames de synchronisation. Ces trames de synchronisation traversent chaque convertisseur sans être modifiées par les convertisseurs en amont.Lorsqu'un adaptateur/convertisseur hors synchronisation reçoit les trames de synchronisation, il synchronise son systeme horloge. Lorsqu'il est finalement synchronisé, le convertisseur transmet les trames de synchronisation en aval, Lorsque l'adaptateur de boucle reçoit les trames de synchronisation, il transmet d'autres informations sur la boucle afin d'aider le convertisseur concerné à vérifier qu'il a récupéré une synchronisation vraie. Après quoi, la boucle peut reprendre la transmission de trames de protocole normaux. L'adaptateur/contrleur de boucle 7, 19 génère des trames égales de durée fixe de 108 periodes de bits. Les premières positions de deux bits définissent le code de synchronisation de trame, et avec.un bit de synchronisation préalable, définissant le début de chaque trame. La position de bit 2 définit la suppression. d'interruption, le bit 3 définit la disponibilite, tandis que le bit-4 indiques la trame est vide ou occupée. Les bits 5, 6 et 7 definissent-le fonctionnement de la trame en termes de commandes, de lecture/écriture, ou d"'état". Les huit bits suivants désignent le destinataire de la- trame. Après le destinataire de la trame, les huit multiplets complets suivants (64bits) sont consacrés aux données.Enfin, seize bits sont affectés à un code de redondance cyclique pour la détection des erreurs. Toutefois, cela ne représente que 96 bits. La différence entre 108 bits et 96 correspondaux.12 bits de synchronisation à positionnement discret. Par exemple, un bit est ajoute à chaque multiplet de données (huit bits). Le premier bit de synchronisation est placé avant le bit 0, le second bit de synchronisation entre les bits 7 et 8 etc... Comme indiqué précedemment, les bits de synchronisation sont introduits à des intervalles réguliers dans le train de donnees, principalement pour permettre de dériver des informations d'horloge des bits de données, même en présence d'une longue cha1ne de zéros, par exemple dans la zone de données. En se référant aux figures 9 et 10 il y a quatre niveaux d'etat de synchronisation qu'un adaptateur de dispositif ou un contrôleur de boucle peut adopter à tout moment. Ce sont les niveaux de hors synchronisation, synchronisation de bit, de synchronisation de trame et de de bit (appelée également synchronisation provisoire), et de synchronisation vraie. Le maintien de l'"état" de "synchronisation vraie" est obtenu en vérifiant les bits de trame au début de chaque trame. Si une synchronisation incorrecte de trame est détectée, la synchronisation vraie est perdue, et la trame suivante ne sera pas utilisée.. Un CRC correct à la fin de cette trame rétablira la synchronisation vraie. Toutefois, si deux configurations de synchronisation de trame successifs sont détectés, "la synchronisation provisoire" est perdue, et elle doit être rétablie en trouvant trois configurations correctes de synchronisation de trame successives. La synchronisation vraie est egalement perdue lorsqu'une trame vierge ou une trame de synchronisation est détectée. La synchronisation vraie peut être rétablie uniquement lorsqu'on a trouve un bon CRC après établissement de la synchronisation provisoire.La synchronisation vraie, une fois etablie ne peut se perdre, même si des.bits de CRC incorrects sont détectes. La synchronisation de bit est maintenue aussi longtemps-qu'un train continu de bits de synchronisation est détecte tous les neuf bits. Comme la perte de la synchronisation de bit interrompt l'opération de boucle, il est nécessaire de confirmer que la synchronisation de bit est definitivement perdue avant que le contrôleur de boucle ou l'adaptateur de dispositif ne soit placé dans l'état "horssynchronisation". La synchronisation de bit est considerée comme perdue lorsqu'après avoir perdu la synchronisation vraie et la synchronisation provisoire, trois bits de synchronisation manquants sont détectés pendant n'importe quelle période de trame de 12 multiplets. Lorsque la synchronisation de bit est perdue, l'adaptateur de dispositif doit interrompre la transmission des données, transmettre des trames vierges, attendre de recevoir les trames de synchronisation rétablir la synchronisation de bit, la synchronisation provisoire, et finalement la synchronisation vraie. Il faut admettre que le temps maximum que chaque boucle doit mettre pour réaliser une synchronisation vraie dépend de la latence de la boucle, et du temps nécessaire à un adaptateur pour se synchroniser.La dynamique des états de synchronisation est illustrée par l'exemple suivant. Le système de synchronisation de boucle est conçu pour récupérer l'état de synchronisation dans un délai minimum apres son interruption Si l'on suppose une interruption temporaire de la boucle-due à une panne du iieme adaptateur de dispositif/convertisseur série1 dans ces conditions, l'adaptateur de dispositif en aval suivant (i+1)/convertisseur série se dé-synchronise immédiatement. En fait, le (i+1)ème convertisseur serie transmet des trames vierges qui ne contiennent aucune information, à l'exception des bits de synchronisation tous les neuf bits. Aucune configuration de synchronisation de trame n'est transmise. En conséquence, les adaptateurs de dispositifs/convertisseurs-sèrie (i+2), (i+3), ..... en aval perdent leur synchronisation vraie et leur synchronisation provisoire, mais conservent leur synchronisation de bit à la fréquence d'oscillation libre du iième adaptateur de dispositif/convertisseur seule. Lorsqu'un adaptateur de dispositif/convertisseur série se trouve en synchronisation de bit, il peut propager tous les signaux qu'il reçoit, même s'il n'a plus de notion de trame. De la sorte, les trames vierges finissent par atteindre le contrôleur de boucle/adaptateur .7, 19. L'adaptateur de boucle commence alors à transmettre des trames de synchronisation. Ces trames de-synchronisation sont egalement vierges, à l'exception de l'inclusion de la configuration de synchronisation de trame au debut de chaque trame.Les adaptateurs de dispositSf/convertisseur série ij,...., i2, il en amont par rapport au iieme adaptateurXconvertisseur reçoivent les trames de synchronisation et les propagent, demeurant de la sorte en synchronisation de bit vis à vis de l'horloge principale du contrôleur de boucle/adaptateur et en-synchronisation provisoire. Ils perdent la synchronisation vraie. Lorsque le iième adaptateur de dispositif/convertisseur a été ignore, les trames de synchronisation parviennent aux adaptateurs de dispositif/ convertisseur en aval. En conséquence, chaque adaptateur/convertisseur repositionne immédiatement son compteur de bits pour se conformer aux bits de synchronisation entrants. L'horloge de l'adaptateur de dispositif/ convertisseur qui a oscillé librement commence alors à se synchroniser par rapport aux multiplets de synchronisation entrants. Cela se produit avec suffisamment de lenteur pour que les horloges des adaptateurs de dispositif en aval de la boucle puissent suivre sans perdre leur synchronisation de bit.Lorsque l'adaptateur de dispositif/convertisseur se trouve finalement en synchronisme avec les trames de synchronisation, il entre dans l'état de synchronisation de bit et propage la trame de synchronisation avec sa configuration de synchronisation de trame associee jusqu'à l'adaptateur de dispositif/convertisseur suivant. Comme l'adaptateur de dispositif/convertisseur suivant et tous les autres en aval de la boucle se trouvent également en synchronisation de bit, la trame de synchronisation atteint finalement le contrôleur de boucle/adapatateur. Dans l'intervalle, tous les adaptateurs de dispositi-fs/convertisseurs qui ont perdu leur synchronisation provisoire repositionneront leurs compteurs de multiplets afin de se conformer aux bits de synchronisation de trame qui indiquent le début de chaque trame afin de retrouver leur synchronisation provisoire. Le contrôleur de boucle/adaptateur transmet à present les bits CRC appropriés à la fin de chaque trame, de sorte que tous les adaptateurs de di spositif/convertisseur puissent confirmer qu'ils ont une synchronisation vraie. Lorsque le contrôleur de boucle/adaptateur confirme la synchronisation vraie, ie fonctionnement normal reprend. On se référera à présent aux figures 1, 2, 3, 9 et 10 prises globalement. Le contrôleur de boucle apres avoir reçu des trames vierges du dernier adaptateur de dispositif de la boucle, repositionne son compteur de bits et entreprend de le synchroniser par rapport aux bits de synchronisation entrants. Aussi longtemps que le contrôleur de boucle reçoit des trames vierges, il est en alerte pour repositionner à nouveau ce compteur si les bits de synchronisation entrants modifient leur chronologie en raison du repositionnement du compteur de bits de l'adaptateur de dispositif précédent. Après avoir reçu plusieurs bits de synchronisation successifs à temps, le contrôleur de boucle est considere comme étant synchronisé, et le second état de synchronisation, ou "synchronisation de bits" est réalisé. Cet état ne provoque aucune modification de la transmission des trames de synchronisation par le contrôleur de boucle. C'est toutefois une condition necessaire préalable à l'état de synchronisation provisoire. Lorsque la boucle reconnaSt la première configuration de synchronisation de trame (1,0) apres l'un des bits de synchronisation, elle repositionne le compteur de multiplets de trame. Si deux configurations successives de synchronisation de trame sont repetees 12 et 24 multiplets plus tard, la synchronisation provisoire a éte réalisée. La synchronisation provisoire au contrôleur de boucle indique que tous les adaptateurs de dispositifs de la boucle ont atteint la "synchronisation de bit". A ce stade, le générateur de CRC 50 commence à générer le code dans les trames ne contenant que des zeros et introduisent les mots de code appropries dans les deux derniers multiplets de chaque trame. Comme tous les adaptateurs de dispositifs ont la synchronisation de bit et probablement la synchronisation de trame, les bits de CRC traversent la boucle sans modification. Lorsque le contrôleur de boucle a reçu et vérifié-le premier groupe de CRC, il entre en état de synchronisation vraie et le fonctionnement normal peut alors commencer. Lorsque l'adaptateur de dispositif se commute initialement sur la ligne, il est hors synchro et oscille librement. L'elémentde lecture 31 génère des trames vierges. A noter que les trames vierges ne contiennent que des zeros à l'exception des bits de synchronisation tous les neuf bits, soit 100000000100000000100000000 .. . Noter en outre qu'aucun bit de synchronisation de trame n'est present dans la trame vierge. L'adaptateur de dispositif/convertisseur série reçoit-tout ce qui arrive sur la boucle Il à cet instant; ce qui peut être un ordre de lecture aléatoire ou d'écriture de données, si la boucle n'était pas mise au repos avant sa connexion à l'adaptateur de dispositif. L'adaptateur de dispositif/convertisseur série explore la boucle pour determiner les trames de synchronisation ou les trames vierges. Lorsque l'adaptateur de dispositif/convertisseur série détecte qu'il reçoit des- trames de synchronisation ou des trames vierges, le processus de synchronisation peut commencer. Après avoir reçu des trames vierges ou des trames de synchronisation du contrôleur de boucle ou drun adaptateur de dispositif en amont, l'adaptateur de dispositif repositionne son compteur de bits et entreprend de se synchroniser sur les bits de synchronisation entrants. Aussi longtemps qu'il reçoit des trames vierges, il demeure en mesure de repositionner nouveau le compteur de bits, si les bits de synchronisation entrants modifient leur chronologie, en raison d'un repositionnement d'un compteur d'adaptateur de dispositif en amont Lorsque plusieurs bits de synchronisation consecutifs arrivent en temps voulu, l'adaptateur de dispositif/convertisseur serie peut être placé en mode passant, de sorte que tous les bits d'entrée sont transmis à la sortie au lieu de forcer des trames vierges. Si l'adaptateur de dispositif/convertisseur série reçoit des trames de synchronisation, il peut alors propager le bit de synchronisation de trame de telle sorte que les adaptateurs de dispositifs en aval de la boucle puissent atteindre la synchronisation provisoire en même temps. L'adaptateur de dispositif/convertisseur de synchronisation repositionne son compteur de multiplets pour se conformer à la première configuration de trame et verifie les deux configurations de synchronisation de trame supplémentaires apparaissant 12 et 24 multiplets plus tard. La synchronisation provisoire est réalisée lorsque la configurations de synchronisation de bits et les trois configurations de synchronisation de trame successives sont détectées en temps voulu. La synchronisation provisoire est le troisième niveau d'état de synchronisation. Lorsque le niveau de synchronisation provisoire a été atteint, le décodeur de CRC/vérificateur 34 est conditionne pour vérifier les bits de CRC entrants à la fin de chaque trame. Lorsque le contrôleur de boucle reçoit trois trames de synchronisation, il obtient la synchronisation provisoire et commence à transmettre des trames avec un CRC valide. Dès qu'un CRC correct est détecte à l'adaptateur de dispositif/convertisseur série, la synchronisation vraie est realisee et l'adaptateur de dispositif/ convertisseurserie est prêt pour fonctionner normalement. On se trouve en état hors-synchro lors de la mise sous tension de l'alimentation et lorsque la ligne de repositionnement est conditionnee par l'un des adaptateurs de dispositif. Cet état est egalement realise pendant les états de synchronisation de bit ou de synchronisation provisoire et lorsque trois bits de synchronisation sont manquants au cours d'une periode de trame de 12 multiplets. L'état hors synchronisation.interrompt les opérations normales de la boucle, en forçant des trames vierges au moyen des convertisseurs surie et des trames de synchronisation par l'adaptateur de boucle en vue de leur transmission quelque soit le contenu de la reception.Il convient de rappeler que les trames vierges ne contiennent que des zéros, à l'exception des bits de synchronisation tous les neuf bits. Avant d'essayer de synchroniser l'oscillateur à phase verrouillée 27 par rapport-aux bits de synchronisation entrants, l'adaptateur de boucle 19 doit confirmer qu'il reçoit des trames de synchronisation ou des trames vierges. A rappeler en outre que les trames de synchronisation sont semblables aux trames vierges-à l'exception de l'adjonction d'un bit de trame tous les douze bits de synchronisation. Ce type de trame est transmis par l'adaptateur de boucle lorsqu'il est hors synchro ou qu'il reçoit des trames vierges. Lorsque l'adaptateur de boucle 19 se trouve à l'état Al de recherche de trame vierge, il recherche essentiellement les trames vierges ou les trames de synchronisation. Cette opération est réalisée en décalant toutes les données séparées dans le dèsérialiseur 24, et en verifiant la présence du nombre exact de zéros séquentiels entre les bits de synchronisation, comme le fait le détecteur de synchronisation 32. Lorsque 11 multiplets vierges ont été reçus, l'état A2 (recherche de synch. 1) est obtenu. Dans cet état, le douzième multiplet vierge est confirmé et le bit de synchronisation à la fin de ce multiplet est utilisé pour repositionner le compteur de bits afin de correspondre aux bits de synchronisation entrants. Au cours des états Al et A2 de non-synchronisation, l'oscillateur à phase bloquée 27' est autorisé à osciller librement et aucun signal de correction n'est généré par les données entrantes. Lorsque le compteur de bits a éte repositionne, on entre dans l'état de synch. A3 (recherche de synch. 2). Dans cet état, les signaux de correction de phase de l'oscillateur à phase bloquée sont générés à partir du front avant de chaque bit de synchronisation par rapport à l'horloge de sortie du PLO. Au cours de 1 'état A3, les multiplets vierges et les bits de synchronisation normaux sont confirmés de façon continue. Si d'autres trames que des trames vierges ou de synchronisation sont. reçues, on entre dans un état synchro de recherche de trame vide. Lorsque plusieurs bits de synchronisation successifs se produisent à temps et que l'oscillateur à phase verrouillée est considéré en synchronisme, l'état de synchronisation de bit est obtenu. Dans cet état, l'adaptateur de boucle continue à générer des trames de synchronisation.. Les bits de synchronisation sont confirmés comme étant "à l'heure". L'adaptateur de boucle recherche la séquence de bits de trame dans une trame de synchronisation, et lorsque ces bits sont détectés le compteur de transfert est repositionné-aux trames entrantes et la synchronisation provisoire est obtenue. Au cours de l'état de synchronisation provisoire, les circuits de vérification et de génération 50 de CRC sont mis en oeuvre. Cette operation place des multiplets de CRC valides à la fin de chaque trame. Lorsqu'un CRC valide est reçu, et vérifié par le vérificateur de-CRC 34, l'adaptateur de boucle passe à l'état de synchronisation vraie. Au cours de l'état de synchronisation vraie, les opérations normales reprennent. Le contrôleur de boucle à present reçoit et envoie des informations. L'adaptateur de boucle supervise continuellement les bits de trame et de synchronisation pour vérifier qu'ils-continuent d'apparattre .avec une chronologie correcte. Une séquence de trame invalide dans laquelle trois bits de synchronisation manquants sont détectés au cours de n'importe quelle période de trame, provoque la chute de la synchronisation vraie et la reprise de la synchronisation provisoire. La synchronisation est également-perdue lorsqu'une trame vierge ou qu'une trame de synchronisation est détectée par le détecteur de synchronisation 32. Une trame vierge ramène automatiquement l'adaptateur de boucle à l'état de synchronisation de bit, en raison de l'absence de bits de trame. Si la synchronisation vraie n'est pas perdue lors de la réception des trames de synchronisation, des erreurs de CRC seront signalées. Il suffit pour que l'adaptateur de boucle suppose une trame de synchronisation, que le premier multiplet d'une trame qui contient une séquence de bits de trame valide ne contienne que des zéros aux positions de bits 1 à 7. Le tableau ci-après récapitule les états de commande de synchronisation précédemment décrits. Etat fonction Condition pour Condition pour avancer à un rgresser à un état supérieur état inférieur A Hors synchro Al Recherche Recherche de 11 multiplets de traie trame vierge O successifs vierge valide A2 Syncho Repositionnementt 1 multiplet à Multiplet sans Recherche 1 du compteur de O de plus, et zero ou bit de bits le compteur de synchronisation bits reposition- manquant ne A3 Synch. Synchronise le Un certain nombre Multiplet sans PLO 27 compteur sortant de bits de synch O, ou bit de au compteur en- a temps synchronisation trant manquant B Synch. de Recherche d'une Repositionnement Multiplet sans bit trame de synch. 1 du compteur de O ou bit de multiplets et synchronisation détection de deux manquant séquences de tra mes valides sup plémentaires C Synch. Recherche de i Détection d'un Deux bits de provisoire CRC valide CRC valide synch. manquants ou sequence de bits de trame invalides dans n'importe quelle traie D Synchroni- Fonctionnement- - - Deux bits de sation normal synch. manquants vraie - ou séquence de bits de trame non valide dans n'importe quelle trame ou trame vierge, ou trame de synch. reçue. Jusqu'ici nous avonsdécrit l'orgarn'sation.gênérale de la machine et les fonctions du système en boucle I, en même temps que certaines propriétés de la synchronisation de boucle. Dans les paragraphes suivantes, nous décrirons de façon plus detaillee, et sous l'angle fonctionnel et structurel, le fonctionnement du système en boucle en nous occupant spécialement de la repartition de la bande passante entre le contrôleur de boucle et les adaptateurs de dispositifs, ainsi que de la synchronisation. Cette description nécessite une description des trames, de l'adressage des trames et de la disponibilité d'une part, ainsi que du système pour détecter les conditions de perte de synchronisation parmi les configurations de bits de synchronisation d'autre part. Le sytème en boucle 1 fonctionne avec un protocole d'attribution de bande passante autorégulée. Chaque adaptateur de dispositif régule ses propres besoins en bande passante et maintient une largeur de bande moyenne maximum qui est égale au débit de données normal du dispositif. Si un dispositif n1a pas de débit de données normal determiné par des facteurs physiques et électroniques, il se verra attribuer un debit de donnees maximum qui ne doit pas être depassé. Le contrôleur de boucle 7 fonctionne sur une base de demandez réponse avec la possibilité optionnelle de nouvelles opérations seulement lorsqu'il n'y. a pas de demande de bande passante émise par les dispositifs connectés. La CPU régule l'attribution de la bande passante du système en boucle 1 en affectant des operations de lecture/ecriture avec débits de données cumulés qui ne dépassent pas la capacité de la boucle. Le protocole à l'adaptateur de dispositif et au contrôleur de boucle peut être exprimé comme une définition de la réponse de l'adaptateur de dispositif ou du contrôleur de boucle au type de trame qu'il reçoit. Si l'adaptateur de dispositif reçoit une trame vide, il envoie l'une des trames suivantes, c'estàdire de lecture, de demande d'écriture, d"'état" de dispositif ou vide. En réponse à une trame pleine (lecture ou écriture) dont l'adresse n'est pas celle de l'adaptateur, la-trame passe sans changement. Toutefois, si l'adaptateur reçoit une trame pleine en tant que destinataire, il accepte alors ce cadre, et envoie une trame vide de demande. Lorsque l'adaptateur reçoit une trame vierge synchronisée, celle-ci est transmise si l'adaptateur se trouve en synchronisation de bit. Si l'adaptateur n'a pas de synchronisation de bit, il ne transmettra que des trames vierges. Dans le cas du contrôleur de boucle, s'il reçoit une trame vide, il envoie une trame de commande vide. S'il reçoit une trame de lecture, il envoie une trame vide. S'il reçoit une trame dl 'etat", il transmet une trame de commande vide. En réponse à une trame de demande, le contrd- leur, si son oscillateur (PLO)27 n'est-pas synchronisé, envoie uniquement des trames de synchronisation Si son (PL0)27 est synchronisé, il envoie alors des trames vides. Le contrôleur de boucle 7 transmet continuellement sur la boucle 11 des trames contenant des informations de synchronisation de bit et de trame, avec le CRC approprié. Les données contenues dans les trames sont également régulées par le contrôleur. Le contrôleur 7 reçoit egalemnt toutes les trames envoyées par les adaptateurs de dispositif, et vérifie les trames qu'il a envoyees et qui sont revenues sans changement afin de detecter les problèmes relatifs à l'adaptateur de dispositif. Il serait avantageux de prévoir un convertisseur série pour supprimer l'instabilité des bits. L'adaptateur de dispositif peut générer des trames s'il a des donnees de lecture, des demandes d'écriture ou des "etats" à adresser au contrôleur. A cette fin; il ne peut utiliser que des trames vides, ou des trames pleines qui lui sont été adressées. Si l'adaptateur de dispositif n'a rien à envoyer au contrôleur lorsqu'il reçoit une trame pleine qui lui est adressée, il doit transformer la trame pleine en trame vide et adjoindre un CRC correct pour la trame toute entière. Le protocole de boucle pour attribution de bande passante est concerné essentiellement - et cela est très important - parle contenu des trames de la boucle. En conséquence, dans le reste de la présente spécification, nous ne nous référerons qu'au contrôleur de boucle et à l'adaptateur de dispositif comme noeuds principaux où le protocole de boucle est mis en oeuvre. Le seul moment ou le contrôleur et les adaptateurs n'ont pas le contrôle logique de la boucle est celui des séquences de synchronisation sélectionnées où l'équipement de synchronisation de boucle prend la relève. En se référant à la figure 1 et à la figure 4 qui represente l'algorithme du contrôleur de boucle, le contrôleur de boucle transmet des trames sur la boucle sur la base des trames entrantes. A part le retard interne fixe du contrôleur 7, il existe une relation unitaire entre les trames entrantes eles les trames sortantes. Le seul moment ou le contrôleur a le contrôle principal trames sortantes est celui ou il reçoit la trame qui n'implique pas une demande de bande passante, par exemple une trame vide ou une trame d"'état". Chaque fois que le contrôleur reçoit une trame en provenance d'un adaptateur de dispositif, par exemple une demande d'écriture ou de lecture, la trame sortante est strictement prescrite par le protocole.Le contrôle principal que le contrôleur de boucle exerce concerne la transmission des trames de commande qui déclenchent des operations dans les dispositifs. Lorsqu'il n'a pas de commandes à emettre, le contrôleur de boucle envoie des trames vides. Chaque trame de lecture reçue par le contrôleur transporte avec lui une demande impl-icite de trame vide Cela maintient la bande necessaire pour permettre la poursuite de l2opération de lecture.. Cela assure aussi à l'utilisateur de la trame la souplesse requise si l'adaptateur de dispositif qui a demandé la trame ne l'utilise pas. Si chaque adaptateur de dispositif respecte son attribution de bande passante il y aura suffisamment de trames vides disponibles au moment voulu. Chaque demande d'écriture doit correspondre à la transmission de la trame d'écriture correspondante, et chaque trame d"'état" peut correspondre à la transmission d'une commande chafnée ou d'une trame vide.Chaque fois qu'une trame ou de commande ou d'écriture est renvoyee au contrôleur de boucle sans -avoir eté transformée en trame vide, cela indique que l'adaptateur adressé ne l'a pas acceptée. Nous nous référerions à present à la figure 5 qui représente. le protocole d'adaptateur de dispositif. L'adaptateur de dispositif peut ne pas générer de trame, sauf si la trame entrante est vide ou pleine et adressée à l'adaptateur. Dans le premier cas-, l'adaptateur peut transmettre des trames de lecture, d"'état"ou de demande d'ecriture. Lorsque l'adaptateur reçoit une trame pleine qui lui est adressée, et que l'adaptateur assure une operation d'écriture, il peut transmettre une demande d'écriture dans la trame quel a reçue, ou alors il doit transformer la trame en trame vide Le contenu de la trame après le bit indicateur de trame vide est sans importance. L'adaptateur de dispositif est considére comme "utilisant" une trame s'il en modifie le contenu Nous nous référerons à présent à la figure 3 et à la figure 6 pour expliquer le fonctionnement du protocole de lecture de l'adaptateur de dispositif. Le protocole de lecture-est plus simple que le protocole d'écriture et il fait appel au minimum à la memoire-tampon de donnees de l'adaptateur.On supposera donc que la mémoire-tampon de données de l'adaptateur de dispositif qui doit être utilisée pour 1 'opération d'ecriture est plus que suffisante pour satisfaire aux exigences du protocole de lecture. L'adaptateur de dispositif/convertisseur série 9, 13 accumule les donnees de lecture en provenance de son dispositif mémoire associe 3, jusqu'à ce que huit multiplets, soit la capacité en donnees d'une trame aient eté obtenues. L'adaptateur inventorie ensuite les trames entrantes sur la boucle jusqu'à ce qu'il trouve une trame vide. Lors de cette recherche d'une trame vide, l'adaptateur/convertisseur doit egalement effectuer un contrôle pour s'assurer que la trame est disponible. Cette opération est realisée en vérifiant que les bits 3 et 4 du format de trame sont des "1".Lorsqu'une trame vide disponible est detectee, i'adaptateur la transforme en une trame pleine, en plaçant le bit 4 au niveau "O" et le mode de lecture aux positions de bits 5, 6 et 7 suivies.de l'adresse de l'adaptatuer de dispositif aux positions de bits 8 à 15. Les huit multiplets de données sont alors placées en séquence avec le premier multiplet aux positions de bits 16- à 23 et ainsi de suite. Comme nous l'avons indiqué precedemment, les données sont transmises en commençant par le bit de rang supérieur du multiplet de rang supérieur, et en poursuivant avec les bits par rang décroissant. Après les huit multiplets de donnees, sont transmis deux multiplets issus du générateur 50 de CRC, ce qui represente l'ensemble de la trame.Il est possible que lorsqu'un adaptateur de dispositif a formé une trame de données, la boucle soit occupee et qu'une trame vide ne soit pas immédiatement disponible. Dans ce cas, l'adaptateur de dispositif continue à accumuler des données de lecture jusqu'à ce qu'un cadre vide soit disponible. Si à ce moment deux trames ou plus ont eté accumules, l'adaptateur peut utiliser toutes les trames vides qui deviennent disponibles pour la transmission de données avec la possibilité d'utiliser des trames consécutives. Nous decrirons à présent le protocole d'écriture de l'adaptateur de dispositif en référence aux figures 3, 5 et 7. Lorsqu'un adaptateur de dispositif assure une operation d'écriture, il doit transmettre une trame de demande d'écriture pour chaque trame d'ecriture qu'il souhaite recevoir. Comme l'écriture sur la plupart de dispositifs mémoire doit-commencer à un moment specifié par les carctéristiques de format du dispositif, et se dérouler à une cadence determinée par le dispositif, l'adaptateur de dispositif doit pouvoir disposer des données d'écriture au moment où il le souhaite. L'adaptateur demandera donc les donnees à l'avance. Le protocole d'écriture est la séquence d'evènements et de decisions prises par l'adaptateur pour transmettre les demandes d'ecriture afin de garantir que les données d'écriture seront présentes au moment voulu. Le protocole de generation de demandes au cours de l'opération d'écriture réelle d'un enregistrement est semblable au protocole de lecture, dans la mesure où une demande est mise chaque fois qu'un cadre (8 multiplets) de donnees a éte écrit. Le protocole prévoit que l'adaptateur génère une demande de trame à la cadence de donnees normal du dispositif. Si une trame vide ou une trame d'écriture affectée à l'adaptateur de dispositif n'est pas detectée avant que deux ordres de demande, ou plus, aient eté gendres, l'adaptateur peut utiliser, s'ils sont disponibles, des trames successives dans lesquelles sont emises les demandes afin de s'adapter à la demande, et de conserver la mémoire-tampon nominale pleine. La routine d'initialisation indiquée a la figure 7 concerne l'envoi d'un nombre suffisant de demandes d'ecriture pour remplir la mémoire-tampon de données de l'adaptateur de dispositif, avant-que l'écriture des données ne commence effectivement. La capacite de cette memoire-tampon de données est déterminée par un certain nombre de facteurs, et notamment la latence de boucle maximum, qui est le temps écoulé entre l'envoi d'une demande d'écriture et la réception des données demandees, le temps nécessaire pour trouver une trame appropriee dans laquelle envoyer la demande d'ecriture, et le retard au cours duquel l'adaptateur de dispositif écrit des donnees dans le dispositif apres les avoir reçues dans la trame. Comme la demande de protocole d'une réponse unitaire (un pour un) issue du contrôleur de l'adaptateur de boucle se traduit par une latence de boucle invariable, un adaptateur de dispositif avec une capacité de traitement elaboree peut réduire encore la capacité de sa mémoire-tampon en demandant des donnees avant qu'elles ne soient necessaires, avec une avance correspondant à la latence de la boucle. Dans ce cas, la capacité de la mémoire-tampon ne devra pas inclure la latence de la boucle. Il suffit qu'elle puisse accepter le retard maximum avant qu'une trame ne soit disponible pour envoyer la demande, retard auquel s'ajoute le retard interne.La latence de la boucle peut être calculee par un adaptateur de dispositif en envoyant une premiere demande d'ecriture, et apres avoir reçu la commande d'ecriture, en mesurant le temps nécessaire à la trame d'écriture correspondante pour arriver. Il importe de noter à ce stade la raison pour laquelle la capacité de la mémoire-tampon est réduite au minimum. La mémorisation des données sur des dispositifs mémoire a acces direct (DASD) est généralement formattée" en unités appelées bloc, séparées chacune par un intervalle. Pour accomplir des opérations d'enregistrement séquentielles, un certain nombre de servitudes doivent intervenir dans les limites de l'intervalle. Comme chaque intervalle représenté l'espace mémoire gaspillé qui amoindrit la capacité- totale d'une DASD coûteuse, il est souhaitable que ces intervalles soient aussi réduits que possible. Au cours d'une opération d'écriture, il est necessaire, après avoir réalise un enregistrement, de recevoir une nouvelle commande pour écrire l'enregistrement suivant, de demander et de recevoir des données pour emplir la mémoire-tampon au cours de l'intervalle, avant que l'écriture puisse commencer. Au cours d'une opération de lecture, après lecture d'un enregistrement, la mémoire-tamon, qui peut être pleine, doit être vidée dans la boucle avant que le dispositif ne puisse recevoir la commande suivante. Il est donc évident qu'une petite memoire-tampon peut permettre des intervalles plus petits et une plus-grande capacité mémoire dans la DASD. Au cours des paragraphes suivants, nous donnerons une description des niveaux logiques du contrôle et de la circulation des informations depuis le contrôleur de boucle, le long de la boucle jusqu'aux dispositifs memoire et nous nous occuperons particulièrement de l'adaptateur de boucle 19, et d'un convertisseur serie type 13. La figure 2 associée à la figure 1 montre que l'adaptateur de boucle 19 assure lecouplage du contrôleur 7 sur les itineraires de données 2 et 4 avec l'itinéraire de contrôle 73. L'adaptateur de boucle reçoit les signaux de données série en provenance de la boucle entrante 11. L'adaptateur amplifie, synchronise les signaux et les convertit en parallèle dans l'élément récepteur 21 pour les transmettre au contrôleur, sur l'itinéraire 4, vers la mémoiretampon de boucle entrante 39. L'adaptateur accepte aussi les données sortantes en provenance du contrôleur sur l'itinéraire 2 et "sérialise11 ces données dans l'élément d'émission-31 pour leur transmission sur la boucle.L'adaptateur comporte des circuits permettant de vérifier le code dé redondance cyclique de chaque trame entrante, et de générer le CRC pour toutes les trames sortantes. Les erreurs de CRC que l'adaptateur peut détecter, ainsi que d'autres anomalies de dispositif ou de données sont transmises au contrleur via l'itinéraire de contrôle 73. Le contrôleur de boucle comporte en outre un ensemble memoire locale 55 (memoire 58) capable de recevoir des données de la mémoiretampon 39 sur l'itinéraire 49 par le registre 57 et d'envoyer ces données à la mémoiretampon 71 sur l'itinéraire 69 par le registre 59. La-memoire locale peut être réalisée avec une capacité suffisante pour recevoir des séquences de microcode venant-s'ajouter aux données de la memoire intermédiaire.A cet egard, l'seulement de traitement et de contrôle 45 est le point de contrôle et la connexion des itinréraires de deplacement des données en provenance et en direction de la mémoire principale 5, circulant sur l'itinéraire 6, ainsi que de déplacement de données en provenance de la memoire locale sur l'itinéraire 63 par le registre 61,- l'itinéraire 53 et passant par le registre 51. L'element 45 peut être une machine séquentielle complète autonome ou un contrôleur commandé par un programme mémorise. Dans ce dernier cas, l'organisation de la mémoire locale, outre le contrôleur, peut être mise en oeuvre au moyen de techniques de CPU standard telles que celles décrites, par exemple par Montgomery Phister, dans "Logical Design of Digital Computers" (Conception Logique des Ordi.nateurs Numériques), John Wiley & Sons, New York 1958. L'adressage des positions de la mémoire locale se fait par base plus un déplacement. La base est assurée par le dispositif mémoire et le déplacement par un indicateur contenu dans ltelement 45. UnV trame arrivant de la boucle et placé dans la mémoiretampon 39 a une portion de son adresse qui indique le dispositif-memoire. Cette indication est transferée au registre 67. L'indicateur est fourni par l'élément 45 directement à l'itinéraire 63. A -cet égard, l'indicateur est obtenu par l'intermédiaire d'une consultation de table à l'intérieur de l'élément 45 qui réagit à une indication d'adresse provenant de la trame adressée à la memoiretampon 39 par l'intinéraire 43.Il convient de noter que les donnees inscrites dansa mémoire locale à partir de la mémoire-tampon 39 sont transmises sur un itinéraire 49 vers le registre de la mémoire locale 57. Entre parentheses, les données transférées du registre de lecture de mémoire locale 59 à 7a mémoire-tampon sortante 71 ont l'adresse du dispositif fournie à la mémoire-tampon, soit à partir du registre 65 soit à partir de la memoire-tampon entrante 39.Les données d'adresse correspondant aux trames sortantes n'apparaissent que sur commandes, c'est-à-dire qu'un dispositif doit exécuter une opération de lecture ou d'écriture, ou apres qu'un dispositif ait demande une trame vide affectée, par exemple, une "demande d'écriture". Dans le cas d'une commande, l'adresse du dispositif est délivrée par la CPU et transmise au registre 65 par l'élément 45. Dans le cas de a "demande d'écriture", l'adresse reçue ans la mémoire-tampon entrante 39 est envoyée directement à la mémoire-tampon sortante 71. En outre, le registre 51 fonctionne comme un registre d'instruction lorsque l'élément de traitement 45 se presente comme un contrôleur commandé par un programme mémorisé. L'adaptateur 19 contient une logique de.commande de synchronisation pour mettre en oeuvre le système de synchroni-sation déjà décrit. Comme.il existe deux types d'informations de synchronisation transmises sur la boucle, à savoir, la synchronisation de bit et la synchronisation de trame, ces deux types doivent pouvoir être realisés et ensuite confirmés par un contrôleur deavant que la synchronisation vraie ne soit effectuée. La synchronisation vraie est une condition préalable qui doit être remplie avant que l'un des convertisseurs série 12, 13, 15, 17 et l'adaptateur 19 puissent générer des informations sur la boucle. Si l'on se référe aux figures 2 et 3 ensemble, il apparait que l'élément recepteur 21, l'élément sequencement 25 et l'élément d'emission 31 de l'adaptateur de boucle 19 se trouvent-en relation unitaire pratiquement avec les éléments homologues qui se trouvent dans le convertisseur série 13 représenté à la figure 3. Au cours de la description qui va suivre et qui concerne l'obtention de la synchronisation initiale, nous nous référerons aux éléments de la figure 3 qui correspondent à leurs homologues de la figure 2, non représentes. La figure 3 que nous allons examiner est un schéma de la circulation des donnees relatives aux convertisseurs série 12, 13, 15 et 17, et après modification à l'adaptateur de boucle 19. Il apparait que chacun des convertisseurs série et des adaptateurs de boucle est divisé en trois éléments distincts. Ce sont, respectivement, l'élément récepteur 21, l'élément séquencement 25, et l'élément de transmission 31. L'élement de reception 21 transfère les informations depuis l'itinéraire de boucle 11, à travers l'adaptateur de dispositif 9 pour enregistrement sur le dispositif-memoire approprie 3. L'élément de transmission 31 transfère les informations depuis le dispositif-memoire à travers l'adaptateur en vue de leur transmission sur l'itinéraire de boucle 11.L'élément de mise séquencement 25 maintient les commandes d'horloge requises pour séquencer les diffarents détecteurs et registres à l'intérieur du convertisseur série sous le contrôle de l'adaptateur de dispositif. L'itinéraire d'entrée 11 se termine dans le réseau horloge de données 22. Ce réseau réagit au front avant de chaque bit de données afin d'échantillonner le niveau d'un signal d'horloge symétrique. Chaque fois qu'un bit de données est reçu par le reseau 22, un signal de fréquence croissante ou décroissante basé sur la phase relative du signal de données entrantes par rapport au signal d'horloge du PLO, est généré. Ces signaux sont appliqués à l'oscillateur 27 ou 27'. La commande d'horloge 38 a pour fonction de -délivrer des signaux de chronologie, qui peuvent être utilise pour gouverner le fonctionnement des convertissuers série. Les compteurs de bits/multiplets inclus dans l'élément de sequencement 25 identifient celle des 6 paires de deux multiplets de chaque trame qui est traitée dans le convertissuer série, et fournissent des éléments de chronologie pour le transfert des données à partir et en direction de l'adaptateur de dispositif, assurent l'identification des multiplets de commande de trame, et l'identification des multiplets CRC. Lorsque le convertisseur série n'est pas synchronisé avec les données entrantes, les compteurs de bits/multiplets se mettent en marche à partir des horloges PLO à oscillation libre. Lorsqu'un bit de synchronisation est détecte, la portion de compteur de bits de l'élément de mise en sequence 25 est repositionnée pour correspondre au bit de synchronisation. Le convertissuer série-parallèle 24 couple la sortie du réseau horloge de données 22 au générateur de parité 26,au registre de réception 30, au détecteur de synchronisation 32 et au contrôleur de CRC 34, le tout en parallèle. Ce convertisseur série-parallèle est compose d'un accumulateur de bits qui decharge le contenu en bits de chaque multiplet dans le registre récepteur 30. La commande de décalage et de déchargement est assuree par des signaux de chronologie issus de l'élément de séquencement 25. Le registre de reception 30 est une mémoire-tampon double de 18 bits formant une paire de bascules bistables divisée en deux multiplets de donnees, avec une parité pour transformer les donnees entre le convertisseur série et l'adaptateur de dispositif. il sert aussi-de mémoire temporaire pour les données de boucle tandis que l'adaptateur de dispositif prend une décision concernant la modification des donnees de boucles sortantes. Le premier multiplet de données converties en parallele est transfére du convertisseur sérieparailele 24 dans la première bascule bistable du registre de réception 30, sur l'itinéraire 28. Le second multiplet s'accumule alors dans le convertisseur série-parallèle et il est transfere dans la seconde bascule bistable du registre récepteur A noter que le générateur de parité 26 est relié à la sortie du convertisseur serie parallele. La parité impaire est généree pour chacun des deux multiplets, et chargée à la position appropriée du registre de reception. Chaque convertissuer série contient deux jeux de logique de code à redondance cyclique (CRC). L'un de ces jeux sert à vérifier les trames entrantes et 1vautre à générer le code pour les trames sortantes en provenance du convertisseur série. il existe plusieurs methodes pour générer et vérifier les CRC, bien connues de l'homme de l'art, soit série soit parallèles avec l'un des polynômes diviseurs appropries. Le registre de CRC est initialisé pendant l'entrée des deux premiers multiplets de chaque trame. Le CRC est transmis en commençant-par un coefficient de polynôme de rang supérieur. Le CRC est codé sur tous les bits de chaque trame à l'exception des bits de synchronisation tous les neuf bits. Les bits constituant le CRC sont annexés à chaque trame immé)diatement après la zone-de données. Le registre de transmission 46 est commande par les omnibus 4 et 2. Il s'agit d'une mémoiretampon de 18 bits divisée en deux multiplets de données avec une parite, et servant à tranférer les données entre l'adaptateur de dispositif et le convertisseur série, ou à entrer les données de boucle issues du registre de réception. Entre parenthèses, l'adaptateur de boucle ne présente pas de connexion directe entre le registre de reception et le regsitre d'émission, comme c'est la cas pour le convertisseur série. Les compteurs de bits/multiplets et le système de commande de synchronisation gouvernent les fonctions du convertisseur série. Les compteurs et le système de commande de synchornisation alimentent la logique et la succession de toutes les opérations. Le comptage de multiplets indique la paire de multiplets décodée dans la trame entrante. Il sert à transmettre les donnees d'écriture par l'omnibus 4, les données de lecture, les "états" et les demandes d'ecriture, par l'omnibus 2, dans le registre 46. Le contrôleur de parité 44 est l'une des trois unités logiques commandes par le registre de transmission sur l'itinéraire 48. Il vérifie la parite impaire à raison d'un multiplet à la fois à mesure que les données sont chargées dans le convertisseur-parallèleserie 52 et le générateur de CRC 50. Une erreur de parité détecte par le contrôleur 44 conditionnera la ligne de contrôle de parité 42 qui conduit à l'adaptateur de dispositif si cette erreur a eté détectée dans les données en provenance de l'adaptateur. Le convertisseur parallèleserie 52 a pour fonction de recevoir un multiplet de données en parallèle, et de générer, à partir de ces données, des données série équivalentes. La mise en serie et le chargement du registre 52 sont commandés par le compteur de sortie de I'elément de sequencement 25. La sortie du convertisseur parallèle-série 52, à son tour, commande llencodeur 54 et la commande de boucle 56. L'encodeur 54 ainsi que le décodeur et l'élément de chronologie de données 22 peuvent revêtir nimporte quelle forme afin de conditionner ou de recevoir le signal à propager sur l'itinéraire 11. Lorsqu'une trame n'est pas adressée à un dispositif, il est souhaitable de la retransmettre sur la boucle 11 le plus rapidement possible. C'est la-raison pour laquelle l'itinéraire 4 a eté prevu pour servir de connexion directe entre le registre de reception 30 et le registre d'émission 46. Toutefois, lorsque le detecteur de synchronisation et la commande 32 détectent une condition hors synchro, ils conditionnent un commutateur 57 normalement fermé sur l'itinéraire 48 pour qu'il s'ouvre en exxitant l'itinéraire 85. Lorsque l'anomalie de synchronisation a éte corrigée, c'est-à-dire que les donnees du convertisseur série-parallele 24 sont en relation de phase avec le PLO 27 et la commande d'horloge 38, le commutateur est désexcité, et lzitineraire 48 n'est plus interrompu. La commande d'horloge 38 est un réseau de distribution servant à synchroniser les impulsions. Dans ce sens, le PLO 27 est la référence de synchronisation locale. Ses signaux sont adresses à tous les registres, et ils commandent la synchronisation des mouvements de données. Le synchronisme entre le convertisseur série-parallèle 24 et le convertissuer parallele-serie 52 est maintenu par des impulsions délivrées sur l'itinéraire 83 q partir de la commande d'horloge 38. Bien que l'invention ait été représentée et décrite en réference à des modes de réalisation préférés, il est evident que l'homme de l'art peut y apporter diverses modifications de forme et de détail sans sortir du cadre ni de l'esprit de ladite invention. REVENDICATIONS 1.- Procédé de transmission de donnees entre un terminal principal et des terminaux secondaires disposes selon une configuration en boucle, dans lequel le terminal principal relie un canal de CPU à la boucle et les terminaux secondaires sont connectés à des dispositifs de memoire, chaque terminal étant adapté pour transmettre et recevoir des trames ayant des portions d'adresse, de commande et de données; ledit procede etant carac térisé en ce que la synchronisation s'effectue selon les étapes suivantes: detection par tout terminal secondaire d'une erreur de synchronisation et arrêt par ledit terminal de la transmission de donnees, transmission sur la boucle d'une première configuration de bits par ledit terminal ayant détecté l'erreur de synchronisation, resynchronisation par tous les terminaux secondaires en aval sur la boucle dudit terminal ayant détecte l'erreur et du terminal principal à l'aide de ladite première configuration, transmission sur la boucle d'une deuxième configuration de bits par ledit terminal principal, resynchronisation par tous les terminaux secondaires en amont sur la boucle dudit terminal ayant detecte l'erreur, à l'aide de ladite deuxieme configuration, reprise de la transmission de données sur la boucle après que ledit terminal ayant détecte l'erreur, se soit resynchronise à l'aide de ladite deuxième configuration. 2.- Procéde selon la revendication 1 dans lequel chaque trame de donnees comprend un bit de synchronisation tous les n bits et une configuration de synchronisation de trame placée entre deux bits de synchronisation tous les m n bits. 3.- Procédé selon la revendication 2 dans lequel ladite première configuration consiste en séquences répétitives de n bits d'une premiere valeur binaire, lesdites séquences étant séparées par un bit de synchronisation de la seconde valeur binaire; et ladite deuxième configuration consiste en un bit de synchronisation de trame ayant la seconde valeur binaire répétée tous les m(n+1) bits, bits de synchronisation compris. 4.- Procéde selon la revendication 2 dans lequel ladite première configuration consiste en une séquence repetitive de n bits "zéro", lesdites séquences étant-sépares par un bit de synchronisation "un"; et ladite deuxième configuration est une trame comportant un code de delimitation de trame pour la synchronisation de trame et dans laquelle tous les bits autres que les bits de synchronisation sont "zéro". 5.- Procédé selon la revendication 1,.2, 3 ou 4, dans lequel chaque terminal en aval sur la boucle du terminal ayant détecté l'erreur, peut à la réception de ladite première configuration soit retransmettre cette configuration soit générer ladite première configuration indépendamment de celle qu'il a reçue. 6.- Procédé selon 1 'une quelconque des revendications précédentes dans lequel la transmission de donnees entre le terminal principal et les terminaux secondaires s'effectue selon les étapes suivantes: envoi d'une trame "pleine" de donnees par le terminal principal au terminal secondaire dont ledit terminal principal reçoit une trame contenant une demande de service, envoi d'une trame vide, non affectée sur la boucle par le terminal principal, chaque fois que ledit terminal principal reçoit une trame pleine de données d'un terminal secondaire désigne, et envoi d'une trame contenant au moins une commande ou une indication d' "état" par le terminal principal à un terminal secondaire désigné lorsqu'il y a une file de commandes avec au moins une commande dans le terminal principal, ladite trame de commande étant envoyée en réponse à la réception d'une trame vide, non-affectee. 7.- Procéde selon la revendication Dans lequel ledit terminal principal peut alternativement régénérer la trame vide non affectée qu'il reçoit et l'envoyer sur la boucle. 8.z- Procedé selon la revendication 6 ou 7 comprenant en outre l'étape consistant à ré-utiliser une trame reçue par un terminal secondaire, ladite trame reçue contenant soit l'adresse propre du- terminal, soit un caractere spécial indiquant le fait que la trame est non-affectée, en modifiant le caractère spécial pour indiquer un état de trame affecte et, en inscrivant sa propre adresse dans la portion d'adresse de ladite trame et en opiaçant des nouvelles données si nécessaire dans la portion de données de ladite trame, et en modifiant ledit caractère spécial au cas où la trame en contient un. 9.- Procédé selon l'une des revendications 6, 7 ou 8 où les trames ont unelongueur fixe égale, et une durée égale à celle de plusieurs multiplets. 10.- Procédé selon l'une quelconque des revendications 6 à 9 comprenant en outre l'étape consistant à transmettre des données d'un terminal secondaire au terminal principal au moyen d'une trame pleine de donnees transmise à la réception d'une trame vide disponible, ledit terminal principal générant une trame vide disponible après reception de la trame pleine de données. 11.- Procedé selon l'une quelconque des revendications 6 à 10 dans lequel chaque terminal secondaire comprend des moyens pour memoriser provisoirement au moins une portion de la trame tandis que celle-ci se propage autour de la boucle. 12.- Systeme de transmission en boucle conforme au procédé selon l'une quelconque des revendications 2 à 11 caractérisé en ce que chaque terminal comprend un récepteur pour recevoir les trames transmises sur la boucle, un transmetteur pour générer les trames sur la boucle et un élément de connexion entre le récepteur et le transmetteur; ledit transmetteur comportant un compteur modulo n+1 et un compteur modulo m(n+1) incrementés par bits au fur et à mesure de la reception des trames, des moyens étant prevus pour deconnecter ledit élément de connexion et connecter une source de ladite première configuration de bits audit transmetteur lorsque un nombre prédéterminé de non-concordances des bits de synchronisation de bit ou de trame s'est produit.