Brevet FR2497977A1 — publié le 19820716

PROCEDE D'ECHANGE DE DONNEES ET DISPOSITIF POUR LA MISE EN OEUVRE DE CE PROCEDE La présente invention concerne un procédé d'échange de données entre un ordinateur et des terminaux ainsi qu'un dispositif pour la mise en oeuvre de ce procédé. L'évolution rapide de la technique dans ce domaine a fait apparai- tre sur le marché une grande diversité d'ordinateurs et de terminaux travaillant chacun sur des modes de transmission différents et selon des codes différents si bien que tous les terminaux ne sont pas compatibles avec tous les ordinateurs. Par ailleurs, le nombre de terminaux que l'on peut brancher sur un ordinateur est limité car les performances diminuent en fonction de la charge. Certes, on connaît des dispositifs pour adapter entre eux des systèmes travaillant sur des modes et selon des codes différents, mais ils manquent de souplesse d'utilisation et ne peuvent éviter de limiter le nombre de terminaux utilisés. C'est ainsi que le brevet français 2 400 235 décrit un interface pour adapter des signaux de codes de commande et des signaux de données entre des ensembles de traitement de données utilisant des formats de codes de commande différents. Un tel interface convient particulièrement entre un interface à canal d'ordinateur et un contrôleur, ou entre deux contrôleurs, mais ne convient pas à tous les types de terminaux et son emploi reste limité. On connait également le brevet français 2 371 011 qui décrit un appareil permettant de sélectionner l'un de huit formats différents grâce à un multiplexeur à huit voies. Son emploi est également limité et ne permet pas d'étendre la capacité d'utilisation de l'ordinateur. On connaît aussi le brevet français 2 339 911 qui décrit un contrôleur partagé d'accès direct en mémoire permettant une communication entre une mémoire centrale et une pluralité de dispositifs périphériques. Ce contrôleur permet de commander des dispositifs périphériques de caractéristiques différentes rais e permet pas d'en augmenter le nombre. On connaSt encore le brevet français 2 355 332 qui décrit un dispositif de commande programmable permettant la communication entre divers dispositifs périphériques à modes de communication différents et un organe de traitement d'information. Ce dispositif résoud en partie les inconvénients raie, s'il peut convenir a tous les terminaux, il ne convient pas a tous les ordinateurs. Son emploi est donc limité et son utilisation manque de souplesse. On connais enfin le brevet français 2 4O6 850 qui décrit un systhème d'affichage de données pourvu d'un interface pour la connexion d'unités secondaires permettant d'éten- dre la capacité du système de façon modulaire. Nais ce dispo- sitif ne convient pas à tous les types de terminaux. L'objectif principal du procédé et du dispo- sitif selon la présente invention est de rémédier à ces incon- vénients et de fournir un procédé d'échange de donées entre un ordinateur et des terminaux ainsi qu'un dispositif pour la mise en oeuvre de ce procédé pouvant convenir quelsque soit le nombre et le type des terminaux et quelque soit le type d' ordinateur, en particalier nais non exclusivement ces ordre nateurs du type "IBM 34" ou IBM 38". Un autre objectif principal de la présente invention est de fournir un dispositif simple, peu couteux se branchant à une place d'écran de l'ordinateur et assurant la compatibilité "hardware" (en français: matériel) entre la sortie "écran" et l'entrée "terminal". Un autre objectif du procédé et du dispositif selon la présente invention est d'assurer la traduction du code d'échange étendu au système "BCD" "EBCDIC" au code standard amssericain d'échange d'informations "(ASCII)". Un autre objectif du procédé et du dispositif selon la présente vttion est ce gérer les priurites acce dées aux communications entre les différents terminaux et l'ordinateur. La caractristique essentielle du procédé d'échange de données selon l'invention réside dans le fait que l'on assure la compatibilité "software" (en français): logiciel) entre l'ordinateur et les différents terminaux en simulant un écran. Le dispositif selon l'invention se comporte comme un écran et les différents terminaux connectes au dispositif selon l'invention sont considérés par l'ordinateur comme un écran. L'ordinateur n'utilise alors qu'une seule adresse d'écran quelque soit le nombre de terminaux connectés. Pour cela, on utilise: - . un circuit de contrôle d'accès direct en mémoire (D.MA) en vue d'assurer la transmission des données a traitement rapide entre l'ordinateur et des moyens de même morisation, - une première mémoire vive (RAM) adaptée pour servir de tampon d'entrée du DMA, - une seconde ,emoire vive (RAM) adaptée pour servir de tampon de sortie du DMA, - un premier micro-ordinateur en vue de traduire les données, de les décoder et de simuler l'écran, - un second micro-ordinateur adapté pour éxécuter les ordres donnés par le premier micro-ordinateur, pour assurer le contrôle et la transmission des données vers les terminaux et pour envoyer un signal au premier micro-ordinateur en cas d'erreur ou de saturation en vue de stopper la transmission et - des circuits adaptateurs ecencFs entre le second micro-ordinateur et les terminaux en vue de confSrer aux données un format compatible avec chaque type de terminal et d'assurer le contrôle des données à transrettre en fonction de chaque type de terminal. D'autres caractéristiques du procédé et du dispositif d'échange de données selon la présente invention seront mises en évidence par la description ci après en regard du dessin annexé donné A titre d'exemple non limitatif et dans lequel: - la figure 1 représente un schéma synoptique du dispositif selon l'invention et - la figure 2 représente un schéma synoptique du circuit de contrôle d'accès direct en mémoire (f > I47) faisant partie du dispositif selon l'invention. Sur la figure 1, on voit en 1 un ordinateur, par exemple un "IBM 34 ou l;n"IBM 38" comportant une sortie d'écran 2. A cette sortie d'écran 2 est branché un circuit 3 de contrôle d'accès direct en mémoire (ci-après "DMA") qui sera décrit plus en détail en regard de la figure 2.A la sortie du D 3 sont connectées deux mémoires vives 4 et 5 (ci-aprs RAM), un premier micro-ordinateur 6 dont les programmes de gestion sont enregistrés dans une mémoire morte 7 ( ci-après REPROM" bien que ce terme englobe ici les mémoires mortes du type "EPROM" ou "arom29, un second micro-ordinateur 8 dont les programmes de gestion sont enregistrés dans une mémoire morte 9 (tEPROMu et des circuits 10 adaptateurs d'interfaces associés à des mémoires vives il (RAM, servant de tampon. Tous ces éléments sont reliés entre eux par des bus de données 12 et d'adresses 13 comportant chacun des amplificateurs 14 en vue d'éviter les surcharges. Les différents terminaux (non représentés) sont branchés en sortie des circuits 10 adaptateurs d'interfaces. Le fonctionnement du dispositif selon la présente invention est le suivant: Le DMA 3 assure la synchronisation de l'étage d'entrée, effectue la reconnaissance des ordres venant de l'ordinateur 1: adresses et données; il transfère ceux-ci dans la RAM 4 et effectue les transmissions de données 3 traitement rapide entre l'ordinateur 1 et la RAM 4. Celle-ci sert donc de tampon pour le D.MA 3, en particulier de tampon d'entrée. Les données à traitement moins rapide sont prises en charge par le premier micro-ordinateur 6 dont les programmes enregistrés dans la REPROM 7 vont lui permettre de simuler l'écran, de gérer les bus 12 et 13 et de traduire et de décoder les données. La seconde RAM 5 sert de tampon de sortie pour le DMA 3.Chacune de ces RAM 4 et 5 est séparée en deux parties et les ordres ne sont transmis au second micro-ordinateur 8 que si une partie de ces RAM est libérée. Le second micro-ordinateur 8, dont les programmes de gestion sont enregistrés dans la REPRON 9, transmet les données aux terminaux par l'intermédiaire des circuits adaptateurs 10. Le second micro-ordinateur 8 gère la communication et détermine les priorités. En cas d'erreur ou de saturation, il libère un signal vers le premier micro-ordinateur 6 en vue de stopper la transmission des ordres jusqu't ce qu'un signal de libération lui soit transmis. Les circuits adaptateurs 10 dépendent des terminaux utilisés: ce sont des adaptateurs d'interfaces de cornunication asynchrone (ACIA) ou parallèle (PIA"), ou à entrée et sortie digitales (numériques), ou à entrée et sortie analogiques ou encore tout autre type d'adaptateur. A chaque terminal peut également être associée une mémoire vive 11 (RAM) qui, outre le rôle de tampon de sortie permet de stocker et de comptabiliser les erreurs de transmission. Le dispositif selon la présente invention /(en français : tests de dépannage)/ comprend en plus un circuit dit'be aeugging/permettant de détecter et de localiser les pannes et les erreurs. En se référant maintenant à la figure 2, on va décrire le circuit de contrôle d'accès en mémoire 3 (DMA) et son fonctionnement. Directement connecté sur la sortie d'écran 2 de l'ordinateur 1, se trouve un circuit de mise en forme 15 dont un des rôles principaux est la reconnaissance des bits de synchronisation. Ce circuit 15 de mise en forme est suivi par un circuit 16 de synchronisation et de généra- tion d'horloge, suivi à son tour par un circuit 17 de sgnE- ration de"timing'et de contrôle d'émission et de réception. Les données, venant de l'ordinateur 1, sont transférées dans un registre à décalage 18 dans lequel va s'effectuer la séparation des données et des ordres. Les données sont acheminées dans la RAM 24 à travers un circuit 22 de génération de trames et un"buffer" 23. Les données et les ordres sont également acheminées vers un circuit 19 dor,t le but est de reconnaître l'adresse et la synchronisation ainsi que de contrôler la parité. Les ordres à traitement rapide sont alors éxécutés dans un circuit 21 qui effectue également les tests de bon fonctionnement. Les ordres à traitement moins rapide sont acheminés vers le premier micro-ordinateur 6 à travers un circuit "FiFo 20" assurant lui-même son contrôle d'acces. Le dispositif selon la présente invention assure entièrement les différentes procédures de transmission et de contrôle. L'utilisateur est ainsi totalement dégagé des contraintes de transmission et ne doit prendre en consi dération que l'écran simulé par le dispositif. Enfin, des modifications pourraient être apportées tant au procédé qu'au dispositif car la présente invention ne se limite pas aux termes de la description qui précède mais en comprend au contraire toutes les variantes. REVENDICATIONS 1. Procédé d'échange de données destiné en particulier à la commande de terminaux à partir d'un ordinateur comportant une sortie écran (2), caractérisé en ce que: - on connecte entre la sortie écran (2) de l'ordinateur (1) et les terminaux uoe interface comportant un circuit (3) de contrôle d'accès direct en mémoire (DMA), une pluralité de mémoires vives (4,5,11) (RAM), au moins deux micro-ordinateurs (6,8) et une pluralité de circuits adaptateurs (10) correspondant chacun au type de terminal auquel il est associé, - on teste les différents circuits de l'interface au moyen du circuit de contrôle (3) d'accès direct en mémoire (DMA) en vue de vérifier si l'interface est en ordre de marche, - on enregistre les données dans une mémoire vive (4) faisant tampon en vue de séparer les données à traitement rapide de celles à traitement moins rapide, - on effectue les transmissions de données à traitement rapide entre cette mémoire RAM (4) et l'ordinateur au moyen du circuit de contrôle (3) d'accès direct en mémoire (DMA), - on introduit toutes les données à tritement moins rapide dans l'un des deux micro-ordinateur dit premier micro-ordinateur (6) en vue de leur traitement, - on simule un écran dans le premier microordinateur (6) en vue d'assurer l'échanges des données entre l'ordinateur (1) et les terminaux suivant différentes procédures de transmission et de contrôle, - on reconnaît si l'ordinateur (1) transmet un message et dans ce cas, on effectue un transfert de ce message vers ou à partir des mémoires vives RAM (4,5,11), - ces mémoires étant remplies, on traduit et décode les données dans le premier micro-ordinateur (6) en vue de reconnaître le terminal adressé, - on introduit les ordres a éxécuter dans l'autre micro-ordinateur dit second micro-ordinateur (8) et - à partir de ce second micro-ordinateur (8), on transmet les données aux terminaux et l'on gère les communications. 2. Procédé d'échange de données selon la revendication 1, caractérisé en ce que l'on utilise au moins deux mémoires vives RAM (4,5) en temps partagé, les ordres n'étant transférés dans le second micro-ordinateur (8) que si une partie de ces mémoires RAM est libérée. 3. Procédé d'échange de données selon l'une des revendications 1 ou 2, caractérisé en ce que l'on détecte les erreurs et la saturation dans le second micro-ordinateur (8) en vue de transmettre un signal au premier micro-ordinateur (6) afin de stopper la procédure de transmission jusqu'd réception d'un signal de libération. 4. Procédé d'échange de données entre un ordinateur travaillant en code d'échange étendu au système BCD (EBCDIC) et des terminaux travaillant en code standard américain d'échange d'informations (ASCII) selon l'une des revendications 1 à 3, caractérisé en ce qu'on traduit les données du système EBCDIC dans le système ASCII et vice-versa en vue d'assurer la compatibilité entre l'ordinateur et les terminaux. 5. Procédé d'échange de données selon l'une des revendications 1 à 4, caractérisé en ce que l'on établit les communications entre l'ordinateur (1) et les différents terminaux suivant un ordre de priorités déterminé. 6. Procédé d'échange de données selon la revendication 5, caractérisé en ce que l'on établit les communications dans leur ordre d'arrivée (FiFo). 7. Procédé d'échange de données selon la revendication 5, caractérisé en ce que l'on attribue à chaque terminal un niveau propre de priorité, les communications étant établies dans l'ordre des priorités, sans tenir compte de leur ordre d'arrivée. 8. Procédé d'échange de données selon la revendication 5, caractérisé en ce que l'on attribue à un seul terminal un niveau de priorité absolue, les communications étant établies pour ce terminal avant toutesles autres communications quelque soit leur ordre d'arrivée, les autres communications étant établies suivant l'une des méthodes définies dans les revendications 6 et 7. 9. Procédé d'échange de données selon l'une des revendications 1 à 8, caractérisé en ce que, dans le cas d'un incident de transmission de communication entre l'ordre nateur (1) et un terminal, on enregistre cet incident dans une mémoire vive RAM (11) en vue de comptabiliser tous les incidents relatifs à chaque terminal pour une période de temps donné. 10. Dispositif pour la mise en oeuvre du procédé d'échange de données selon l'une des revendications 1 à 9, caractérisé en ce qu'il comprend - un circuit (3) de contrôle d'accès direct en mémoire DMA agencé en sortie d'écran de l'ordinateur (1) pour tester si les différents circuits du dispositif sont en ordre de marche et pour assurer la transmission des données à traitement rapide entre l'ordinateur (1) et des moyens de mémorisation (4), - un premier micro-ordinateur (6) agencé en sortie du DMA (3) en vue de traduire et de décoder les données contenues dans des moyens de mémorisation (4) et de simuler un écran afin d'assurer l'échange de ces données suivant différentes procédures de transmission et de contrôle comportant des ordres, - lesdits moyens de mémorisation constitués par une mémoire vive RAM (4) adaptée pour servir de tampon d'entrée du DMA (3), - une seconde mémoire vive RAM (5) adaptée pour servir de tampon de sortie du DMA (3), - un second micro-ordinateur (8) adapté pour exécuter les ordres donnés par le premier micro-ordinateur (6), pour assurer le contrôle et la transmission des données vers les terminaux et pour envoyer un signal au premier microordinateur (6) en cas d'erreur ou de saturation en vue de stopper la procédure de transmission jusqu'à réception d'un signal de libération, et - des circuits adaptateurs (10) agencés entre le second micro-ordinateur (8) et les différents terminaux en vue de conférer aux données un format compatible avec chaque type de terminal et d'assurer le contrôle des données à transmettre en fonction du type de chaque terminal. 11. Dispositif d'échange de données selon la revendication 10, caractérisé en ce qu'une mémoire morte (7) est associée au premier micro-ordinateur (6) en vue de mémoriser tous les programmes de gestion des différents périphériques qu'il commande. 12. Dispositif d'échange de données selon l'une des revendications 10 ou il, caractérisé en ce qu'une mémoire morte (9) est associée au second micro-ordinateur (8) en vue de mémoriser tous les programmes de gestion des différents périphériques qu'il commande. 13. Dispositif d'échange de données selon la revendication 10, caractérisé en ce que l'adaptateur (10) est du type d'interface de communication en série asynchrone 14. Dispositif d'échange de données selon la revendication 10, caractérisé en ce que l'adaptateur (10) est du type d'interface de communication parallèle 15. Dispositif d'échange de données selon la revendication 10, caractérisé en ce que l'adaptateur (10) est du type d'interface de communication à entrée et sortie digitales. 16. Dispositif d'échange de données selon la revendication 10, caractérisé en ce que l'adaptateur (10) est du type d'interface de communication à entrée et sortie analogiques. 17. Dispositif d'échange de données selon l'lue des revendications 10 à 16, caractérisé en ce qu'à chaque terminal est associée une mémoire vive RAM (11) pour servir de tampon et stocker les incidents de transmission. 18. Dispositif d'échange de données selon l'une des revendications 10 à 17, caractérisé en ce que ses différents éléments sont reliés entre eux par un bus (12) d'adresses et un bus (13) de données, des amplificateurs (14) étant agencé sur chacun de ces bus en vue d'éviter qu'ils soient surchargés. 19. Dispositif d'échange de données selon l'une des revendications 10 à 18, caractérisé en ce qu'il comprend un circuit dit Ee debugging adapté pour détecter et localiser les pannes et les erreurs.