Brevet FR2530359A1 — publié le 19840120

CIRCUIT DE COUPLAGE ENTRE UN MICROORDINATEUR ET UNE LIAISON LOCALE VERS D'AUTRES SYSTEMES La présente invention concerne les systèmes de traitement de données, et plus particulièrement la manière dont on peut raccorder un microordinateur à une ligne de liaison locale raccordant entre eux plusieurs systèmes de traitement, afin de transmettre à grand débit des informations du microordinateur vers les autres systèmes ou des autres systèmes vers le microordinateur. Pour expliquer plus concrètement le problème posé, on peut prendre ltexemple- d'un microordinateur composé d'une carte imprimée regroupant un microprocesseur, des mémoires mortes, des mémoires vives, des circuits de contrôle, des circuits d'interface de liaison avec des périphériques et des connecteurs de liaison pour effectuer matériellement la liaison entre ces circuits d'interface et les périphériques correspondants. Ces circuits d'interface sont en nombre limité, tout simplement pour des raisons d'encombrement, et ils sont affectes chacun à des tâches de liaison bien spécifiques. Par exemple, un circuit d'interface assure la liaison du microordinateur avec une console de visualisation alphanumérique et un clavier associé, un autre circuit d'interface assure la liaison avec une ou plusieurs unités de gestion de disques souples, d'autres encore servent à assurer des liaisons en mode série asynchrone avec des lignes de transmission, ou encore des liaisons en mode parallèle. Le plus souvent, un microordinateur bien employé utilise simultanément toutes ses possibilités de raccordement, test à dire qu'il est connecté normalement par exemple a une console de visualisation, à plusieurs unités de lecture-écriture sur disques souples, et à une ou deux lignes de transmission vers une application. Les ressources sont donc toutes utilisées et on ne peut pas raccorder le microordinateur a d'autres microordinateurs géographiquement proches, ou à un ordinateur central plus gros, alors qu'on voudrait pouvoir le faire, ne serait-ce que pour éviter le transfert matériel de disques de données d'un microordinateur à l'autre, transfert qui peut d'ailleurs être totalement impossible s'il nty a pas de compatibilité de matériel. La solution habituellement utilisée pour résoudre ce problème consiste à utiliser l'un des circuits d'interface pour le raccorder à une carte imprimée qui comporte elle-même deux ou plusieurs autres circuits dtinterface et un microprocesseur pour les gérer : on dédouble en somme un circuit d'interface par une carte imprimée supplémentaire. Cette solution est lourde, encombrante et chère. La présente invention propose d'effectuer le raccor- dement à une ligne de liaison locale (cable coaxial reliant plusieurs autres- systemes par exemple) en utilisant un circuit de couplage comprenant essentiellement quelques portes logiques, circuit qui est connecté en cascade avec un circuit d'interface utilisé par ailleurs pour la liaison avec un organe de lecture/ecriture ; ce circuit de couplage simule le comportement, vis à vis du microordinateur, d'un organe de lecture/écriture raccordé au circuit d'interface. Ainsi, au lieu d'utiliser un circuit d'interface spécifique ou d'utiliser une carte complexe assurant le dédoublement d'un circuit d'interface, on effectue la liaison très simplement en passant à travers un circuit d'interface prévu pour autre chose (commande de disques souples par exemple) et utilisé effectivement-pour autre chose. Ce mode de liaison selon l'invention est très économique en matériel électronique, il ne perturbe pas le fonctionnement du microordinateur et de ses périphériques (console, clavier, disques souples, etc..) et il permet d'effectuer des transferts de données à grand débit (500 kbits/seconde par exemple) vers d'autres microordinateurs ou ordinateurs centraux raccordés par câbles. Plus précisément, le circuit de couplage selon l'invention est destiné à être raccordé à un circuit d'interface comprenant au moins une ligne de sortie de sélection d'organe périphérique, une ligne de sortie de données à écrire, une ligne d'entrée de données à lire, une ligne de sortie de commande de lecture/écriture, et une ligne d'entrée de réception de signal de périphérique prêt . Le circuit de couplage comprend alors des entrées reliées à chacune de ces lignes de sortie, des sorties reliées à chacune de ces lignes d'entrée, et une entreelsortie supplémentaire reliée à la ligne de liaison locale, et plusieurs portes logiques reliées aux entrées et ayant globalement pour fonction - d'interdire, lorsque la ligne de sélection d'organe périphérique ne reçoit pas un signal d'activation le passage de données d'écriture entre la ligne de sortie de données à écrire et la ligne locale, le passage de données de la ligne locale vers la ligne de données à lire, l'émission d'un signal de "périphérique prêt", - d'autoriser le passage de données à lire ou à écrire dans le cas contraire et de générer un signal de périphérique prêt, - d'autoriser le passage de données à écrire seulement pour un premier état de la ligne de lecture/écriture et le passage de données à lire seulement pour un deuxième état de cette ligne. En pratique, le signal d'activation de la ligne de sélection d'organe périphérique débloque une - porte logique connectée entre la ligne de sortie de données à écrire- et la ligne locale, ainsi qu'une porte logique connectée entre la ligne locale et la ligne de données à lire, et ce signal-est utilisé pour engendrer un signal "périphérique prêt , ou tout simplement pour être luimême rapplique en tant que signal "péripherique prêt' à la ligne d'entrée de réception de signal "périphérique prêt". D'autres caractéristiques et avantages de l'invention apparattront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés dans lesquels - la figure 1 représente ltorganisation des liaisons entre un microordinateur et ses organes périphériques, - la figure 2 représente un schéma détaillé du circuit de couplage selon l'invention. Un microordinateur est désigné par la référence 10 sur la figure 1. Ce microordinateur comporte un certain nombre d'organes internes non détaillés, par exemple un microprocesseur, des mémoires vives et des mémoires mortes, des amplificateurs tampons d'entrée et de sortie, etc.. Il comporte de plus des circuits d'interface pour son raccordement avec divers organes périphériques ou avec des circuits qu'il contrôle. A titre d'exemple, on peut avoir un circuit d'interface 12 pour le raccordement du microordinateur avec une console (clavier et écran) de visualisation 14 ; un circuit d'interface 16 pour le raccordement à deux (ou plus) organes de lecture/écriture sur disques souples (18 et 20) ; un circuit d'interface 22 pour le raccordement, pa-r transmission en mode parallèle, à une carte imprimee 24 constituant un circuit contrôlé par le microordinateur 10 ; et un circuit d'interface 26 pour le raccordement, par transmission en mode série asynchrone, vers une autre carte imprimée 28 constituant une autre application contrôlée par le microordinateur. Il faut comprendre que chacun de ces circuits d'interface est un circuit intégré complexe hautement spécialisé et qu'ils ne sont pas aptes à être interchangés ou à accomplir plusieurs fonctions différentes. Dans cette configuration générale de la figure 1, tous les circuits d'interface sont utilisés alors qu'on #voudrait effectuer en outre un raccordement à une ligne locale constituée par un câble de liaison 30 reliant par exemple d'autres microordinateurs (non représentés) à un ordinateur central de plus grande capacité (non représenté). La transmission de données sur ce câble est faite en mode série. Le câble 30 pe#ut être un câble coaxial ou une paire de fils torsadés. Il pourrait aussi être un câble à fibre optique. Pour effectuer le raccordement au câble 30, la présente invention prévoit un circuit de couplage 32 inséré entre l'un des circuits d'interface du microordinateur, ici le circuit 16 couplé aux unités de gestion- de disques souples 18 et 20, et le câble 30. Selon l'invention, le circuit de couplage 32 est agencé de manière à simuler, vis à vis du microordinateur 10, le compor tement d'une unité de gestion de disques souples telle que 18 et 20. Ce comportement est le suivant : à chacune -des unités de gestion de disques est affecté un signal de sélection individuel que cette unité peut reconnattre ; l'un de ces signaux est attribue au circuit de couplage 32. Lorsqu'une unité de gestion de disques reconnaît le signal qui la désigne (signal émis par le microordinateur), elle renvoie un signal dit de périphérique prêt . Le circuit 32 fait de même. Le microordinateur fournit également un signal de lecture/éciture indiquant si des données doivent etre lues ou au contraire écrites sur le disque souple de l'unité désignée.Si c'est le circuit de couplage 32 qui est désigné par le signal de sélection (agissant comme signal d'activation de ce circuit), et si le signal de lecture/écriture indique qu'on est en mode lecture, des données seront transférées du câble 30 vers le microordinateur (lequel ne saura pas que ces données viennent d'un câble de liaison locale plutôt que d'une unité de gestion de disques souples) ; si le microordinateur indique le mode "écriture , des données seront transférées du microordinateur vers le câbLe 30.Le format de ces données devra évidemment être tel qu'elles puissent être reconnues par les différents systèmes connectés au câble de liaison : par exemple, les données pourront comprendre quelques bits de synchronisation, des identificateurs concernant l'émetteur de données et le récepteur choisi, des Identificateurs de message, le message proprement dit à transmettre, des codes de correction d'erreur etc, c'est à dire généralement des informations de même nature que celles qui sont normalement destinées à un lecteur de disques. Si le circuit 32 n'est pas active par le signal de sélection qui lui est propre, aucun transfert de données ne peut avoir lieu entre le microordinateur et le câble 30. Le détail du circuit de couplage 32 selon l'invention est représenté à la figure 2. Ce circuit comprend des entrées (A, B, C, G) reliées à des lignes de sortie du circuit d'interface 16 du microordinateur, des sorties (D, E, F) reliées à des lignes d'entrée de ce même circuit d'interface, et une entrée/sortie (H) reliée au câble de liaison locale 30. L'entrée A reçoit un signal logique DS d'une ligne de sélection d'organe périphérique. Ce signal, lorsqu'il est à un niveau logique bas, indique que le circuit de couplage 32 est désigné par le microprocesseur pour effectuer un transfert de données entre le microprocesseur et la ligne locale (dans un sens ou dans l'autre). Le signal DS à un niveau haut indique que le circuit 32 n'est pas désigné. L'entrée B reçoit un signal logique WG d'une ligne de commande de lecturelécriture issue du microordinateur. A-un niveau haut, ce signal donne un ordre de lecture et à un niveau bas un ordre d'écriture-. L'entrée C reçoit des signaux# I0D de données à transmettre å partir du microordinateur vers le câble de liaison locale 30. Vu du microordinateur, il s'agit de données à écrire sur un disque souple et l'entrez C est donc raccordée à une ligne de données à ecrtre en sortie du circuit d'interface 16. La sortie D fournit à une ligne de réception de signal 'périphérique prêt" un signal RD indiquant que le circuit de couplage a reçu un signal de sélection DS, a reconnu ce signal comme étant celui qui lui est spécifiquement destine, et est donc prêt à fonctionner comme circuit de transfert de données entre le microordinateur et le câble 30. La sortie E est couplée à une entrée de lecture de données du circuit d'interface 16 du microordinateur. Elle fournit un signal RR constitué par les données à transférer du câble 30 vers le microordinateur. La sortie F est couplée à une entrée de réception d'un signal d'index IN qui est une impulsion de largeur fixe simulant le signal de début de piste d'un disque souple. Le microordinateur attend ce signal d'index avant d'effectuer un transfert de données. L'entrée G est couplée à une ligne de sortie du circuit d'interface, destinée à mettre en attente le circuit 32 en masquant le signal d'index IN. Enfin ltentrée/sortie H est reliée au câble de liaison locale 30 pour transférer dans un sens les données arrivant sur l'entrée C vers le câble 30 et dans l'autre sens les données arrivant du câble 30 vers la sortie E. Pour 1'essentiel, le circuit 32 comprend - un élément de circuit d'adap#tation 34- dont l'entrée est reliée à l'entrée A et la sortie à la sortie D ; cet élément peut être un transistor a collecteur ouvert ; lorsque le signal DS est à un niveau bas, l'élément 34 force le signal RD à un niveau bas. Dans le cas contraire, RD reste à un niveau haut. - une porte OU 36 ayant des entrées reliées aux entrées B et C - un inverseur 38 ayant son entrée reliée a la sortie de la porte OU 36 ; - un inverseur 40 ayant une entrée reliée à l'entrée A; - une porte NON-ET 42 ayant des entrées reliées aux sorties des inverseurs 38 et 40 et sa sortie reliée à ltentrée/sortie H;; - une porte OU 44 ayant deux entrées reliées respectivement à l'entrée A et à l'entrée/sortie H - un élément d'adaptation 46 analogue à l'élément 34 (transistor à collecteur ouvert), ayant son entree reliée à la sortie de la porte OU 44 et sa sortie reliée à la sortie E Les éléments qui précèdent constituent l'essentiel du circuit logique 32 et permettent de réaliser les fonctions - d'interdiction, lorsque l'entrée A ne reçoit pas un signal de sélection DS de niveau logique bas, du passage de données d'écriture de l'entrée C vers le câble 30, du passage de données à lire, du câble 30 vers la sortie E, de l'émission d'un signal de périphérique prêt sur la sortie D, - d'autorisation du passage de données a lire ou à écrire et d'émission #d'un signal de périphérique prêt, lorsque le signal US est à un niveau bas - d'autorisation du passage de données à écrire seulement si le signal WG à l'entrée B est à un niveau bas, et d'autoris#ation du passage de données à lire seulement si ce signal WG est à un niveau haut. - Les éléments de circuit correspondant à la sortie F et à l'entrez G sont accessoires et comprennent une première bascule monos table 48 ayant une entree de déclenchement reliée à la sortie d'une autre bascule monostable 50 et une entrée d'inhibition reliée à l'entrée G ; la bascule 48 possède deux sorties complémentaires dont l'une est reliée à une entrée d'une porte OU 52 dont l'autre entrée est reliée à l'entrée A et dont la sortie est reliée à l'entrez de déclenchement de la deuxième bascule 50 ; l'antre sortie de la bascule 48 est reliée à l'entrée d'#une porte OU 54 dont une autre entrée est reliée à l'entrée A et dont la sortie est reliée, à travers un élément d'adaptation 56 (collecteur ouvert) à la sortie F pour produire le signal d'index IN. Le circuit 32 comprend encore des résistances de polarisation, et éventuellement une résistance 58 à prise intermédiaire dite résistance de tirage, reliée entre une alimentation à + 5 volts et la masse, la prise intermédiaire pouvant etre reliee par un cavalier à l'entrée/sortie H pour réaliser une adaptation du cable 30 en fonction de la position du circuit 32 le long de ce câble. Il est à noter qu'on a représenté une entréeunique de réception d'un signal de sélection DS ; on pourrait avoir plusieurs entrées, avec un décodeur incorporé au circuit 32 pour fournir un signal de sélection seulement pour une combinaison donnée des niveaux logiques sur ces diverses entrées, C'est alors la sortie de ce décodeur qui serait reliée aux elements de circuit 34, 40, 44, 52 > 54. On peut remarquer que le transfert des données dans les deux sens peut s'effectuer a grande vitesse (500 kbits/seconde par exemple). Le circuit de couplage 32 peut en pratique être réalisé sur une carte imprimée indépendante, ou etre incorporé à une carte regroupant le microordinateur et ses circuits d'interface. REVENDICATION Circuit de couplage destine a assurer une liaison locale par ligne (30) pour la transmission de données entre un microordinateur (10) et un autre système, le microordinateur possédant un circuit d'interface (16) de liaison avec des périphériques tels que des organes de lecture/ecriture sur disques souples (18, 20), ce circuit d'interface (16) comportant au moins une ligne de sortie de sélection de périphérique (DS), une ligne de sorties de données à écrire (WD), une ligne d'entrée de données à lire (RR), une ligne de sortie de commande de leclurelécriture (WG), et une ligne d'entrée de réception d'un signal de périphérique prêt' (RD), le circuit de couplage étant caractérisé par le fait qu'il comprend des entrées (A, B, C, G) reliées à chacune de ces lignes de sortie, des sorties D, E, F) reliées à chacune de ces lignes d'entrée, et une entrée/sortie supplémentaire (H) reliée à la ligne de liaison locale (30), et plusieurs portes logiques reliées à ces entrées et ayant globalement pour fonction - d'interdire, lorsque la ligne de sélection de périphérique ne reçoit pas un signal d'activation, le passage de données d'écriture entre la ligne de données à écrire et la ligne locale, le passage de données de la ligne locale vers la ligne de données à lire, l'émission d'un signal périphérique prêt - d'autoriser, dans le cas contraire, le passage de données à lire ou à écrire et d'envoyer un signal de périphérique prêt ; - d'autoriser le passage de données à écrire seulement pour un état de la ligne de lecture/écriture.