FR 2483713 A1 19811204 FR 8012108 A 19800530 DISPOSITIF POUR LA TRAIUSMISSION DE SIGNAUX ENTRE DEUX STATIONS DE TRAITEMENiT DE L'INFORlATION La presente invention concerne un dispositif pour la transmission de signaux entre deux stations de traitement de l'information. Elle concerne plus particulièrement un dispositif permettant l'échange d'informations entre deux microprocesseurs, l'un au moins pouvant être dispose à l'intérieur d'un support portatif, la liaison entre les deux microprocesseurs pouvant être assuree par l'intermédiaire de contacts électriques lorsque l'objet portatif est mis en contact ou est couplé avec les lignes d'informations communiquant avec le dispositif dans lequel se trouve dispose l'autre microprocesseur. CGneralement un nombre important de conducteurs est nécessaire pour assurer les liaisons entre deux licroprocesseurs. Certaines liaisons prévoient jusqu'à 16 conducteurs partages en conducteurs dits de données et d'adresses, auxquels s'ajoutent des conducteurs reserves à la transmission des signaux de commande, des signaux de synchronisation ainsi que les conducteurs réservés à la fourniture de 1'énergie d'alimentation. Ces liaisons sont incompatibles a la réalisation de dispositifs dans lesouels les liaisons entre microprocesseurs ne sont sas permanentes, la multiplicité des contacts ou des elements de couplage diminue la fiabilit des systemes utilisant de tels dispositifs. 24837 13 -2- Le but de l'invention est donc de réduire les risques de mauvais fonctionnement ou d'anomalies imputables aux mauvais contacts ou aux défaillances des moyens de couplage en réduisant leur nombre au minimum. L'invention a donc pour objet un dispositif de transmission de signaux entre deux stations de traitement de l'information, chacune des stationscomprenant un premier moyen de traitement de l'information pourvu de moyens d'émission des informations traitées vers l'autre station ainsi que des moyens de réception des informations traités par l'autre station, chacune des stations pouvant être couplée temporairement à l'autre station par l'intermédiaire de moyens d'accouplement caractérisé par le fait que les dites informations sont transmises entre les stations dans les deux sens sur une seule et même liaison électrique ou non, les informations étant transmises par les variations d'un seul et même signal lorsque les deux stations sont accouplées par les dits moyens d'accouplement et en ce que la dite liaison unique de transmission des dites informations est reliée à un troisième moyen de détection d'un état prédéterminé de la dite liaison, pour signaler à la station émettrice que la station réceptrice est prête à recevoir des informations, le dit dispositif comprenant en outre un quatrième r.oyen situé au niveau de l'émetteur pour émettre un signal indiquant la parité du aessage transmis interprété par la station réceptrice à la fois comme bit de parite et comme signal de fin de message. D'autres caractéristiques et avantages de l'invention apparaîtront mieux à l'aide de la description faite au regard des dessins qui va suivre. La figure l représente les liaisons physiques de l'émetteur et du récepteur selon l'invention. -3- La figure 2 représente un organe émetteur ou recepteur utilise pour la mise en oeuvre de la présente invention. La figure 3 représente le diagramme des temps correspondant à la transmission d'un message d'un octet selon l'inventiono La figure 4 représente les circuits nécessaires à la transmision bidirectionnelle des messages selon l'invention. La figure 5 est une représentation des circuits de commande de la figure 2. La figure 6 est une représentation des registres de travail du microprocesseur 8080 commnercialise par la société INTEL et utilisé dans la mise en oeuvre des émetteurs récepteurs de l'invention. La figure 7 est un organigramme correspondant au fonctionnement du microprogramme d'émission des informations sur la ligne de transmission. La figure 8 est un organigramme correspondant au microprogramme permettant le test de l'état de la ligne de transmission entre deux émissions. Les figures 9 et 10 sont des organigrammes correspondants aux microprogrammes de lecture des informations transmises par l'émetteur et reçues par le récepteur. La figure 1 représente les connections utilisees pour relier l'émetteur et le récepteur de la présente invention. Les stations P1 et P2 peuvent jouer indifféremment le rôle de l'émetteur ou celui du récepteur. L'une d'entre elles peut fournir les sources- de courant et de tension -4- nécessaires à l'alimentation de l'autre en énergie électrique. La transmission de cette énergie s'effectuant entre les conducteurs 11 et 12, le conducteur 11 relie les points Ml et M2 de masse des stations, au moins un des points de masse étant relié à un des deux pôles de sortie d'une source d'énergie électrique S se trouvant dans le cas de la figure 1 dans la station P2. Le conducteur 12 est relié à l'autre pôle de sortie de la source d'énergie S et connecte ainsi l'autre station, P1 sur la figure 1, à l'autre pôle de l'alimentation S de la station. Le conducteur 13 transmet les données ou informations entre les deux stations. Ces données sont transmises dans une représentation binaire, sous forme d'une suite d'états O ou 1 et sont représentées par des variations du courant circulant dans le conducteur 13 ou des variations du potentiel électrique du conducteur 13 par rapport aux conducteurs 11 ou 12. Naturellement, l'invention n'est pas limitée aux types de transmissions électriques, d'autres modes de transmission peuvent être envisagés, dans le cas d'une transmission optique on pourra utiliser une liaison par fibres optiques et dans le cas de transmission hertzienne, il sera possible d'utiliser un guide d'ondes, des aériens, ou des couplages par condensateur. La figure 2 représente le dispositif d'émission et de réception utilisé dans chacune des deux stations. Dans le cas de la figure 2, on suppose que la station représente est la station P1. Cette station comprend au moins un microprocesseur 1, associé à un dispositif de commande des entrees-sorties des informations entrantes ou sortantes de la station, constitué par un dispositif de mémorisation 2, un dispositif de verrouillage 3, un compteur de temps 4, un registre d'états C/S 5, unorgane de commande 6, une mémoire PROrl7bis et un circuit 7 de transmission et reception des données connectées au conducteur de données 13. Le microprocesseur 1 peut être un microprocesseur du - type 8080 ou 8085 commercialise par la société INTELo Ce microprocesseur peut être connecte a des eléments autres que ceux représentes sur la figure 2 par les lignes d'adresse A8._15 et de données AD0O_7. Les 8 lignes de donnees AD0O_7 sont reliées à l'entrée d'un registre à verrouillage 3 pour adresser la memoire a accès aléatoire RAl2. Cette memoire RAM2 peut avoir une capacité de 2 K bits organisee en 256 x 8 bits. Elle contient un registre R7 pour memoriser l'octet transféré au travers de la porte PA7 et un registre R8 pour mémoriser le bit de parité correspondant à l'octet transféré. Le registre 3 sélectionne aussi par l'état de ses sorties l'organe de commande 6. L'organe de commande 6 sélectionne le circuit 7 de transmission réception des données lorsque la configuration binaire memorisee dans le registre 3 est XXXXX001, il sélectionne le registre d'état 5 lorsque la configuration binaire dans le registre 3 est XXXXX000 et enfin il sélectionne le compteur de temps 7 lorsque la configuration binaire dans le registre 3 est XXXXX100. Le compteur de temps 4 a ses entrées parallèlement reliées aux lignes de donnees ADO-7 de façon à pouvoir être chargé à tout moment par le microprocesseur a une valeur de temps initiale. Le registre d'état C/S 5 est lui aussi relie aux lignes AD0-7 pour lui permettre de memoriser un ordre envoyé par le microprocesseur. C'est un registre à 8 bascules dont les états permettent la sélection soit du circuit d'entree/sortie PA7 ou du compteur de temps CT4. La ligne ALE connecte le microorocesseur au registre 3 et transporte le signal de verrouillage du registre 3 pour autoriser ou non l'adressage de la mémoire RAHI2 et de l'organe de commande 6. La ligne IO/M sélectionne soit la memoire RAR2 soit le circuit 7 d'entree/sortie. Les lignes RD et WR commandent les opérations de lecture/écriture et sont reliées aux circuits de commandes appropries de la memoire RAM2 et du circuit 7. Le microprocesseur est synchronisé par une horloge Q qui peut être un quartz, il transmet des signaux d'horloge sur la ligne CLK à l'entrée IN du compteur de temps CT4. La ligne RESET out est reliée a l'entrée du circuit 7 et permet d'initialiser le système en mode d'entrée/sortie. La sortie du compteur de temps CT4 est reliée à l'entrée INT du microprocesseur 1 pour délivrer un signal d'interruption du traitement qui est en cours lorsque la valeur du compte initialement chargé à l'intérieur du compteur de temps CT4 est épuisée. Le microprocesseur 1 est également relié par ses lignes de données et d'adresse à une mémoire morte 7bis dans laquelle figurent inscrits les microprogrammes nécessaires a la transmission et à la reception des données par la station P1. La figure 3 représente l'évolution dans le temps d'un message transmis sur le conducteur 13. La transmission d'un message comportant 8 octets s'effectue sur 10 moments. Le premier moment est utilisé à transmettre le signal de début de message ou signal START, les moments 2 à 9 sont utilisés pour la transmission du message proprement dit, et le lOème moment transmet le bit de parité du message. Le récepteur reçoit les signaux transmis dans ces 10 moments et effectue un contrôle de parité pendant le ll1me. Le récepteur signale à l'émetteur qu'il est prêt a recevoir un message en positionnant le conducteur 13 a un potentiel VO (signal PR). Ce signal est positionne au moins un moment avant l'émission du signal START. Apres réception et contrôle, le recepteur positionne 1'état du conducteur 13 à un potentiel V1 pendant la durée d'un moment, si le -7- contrôle de parité effectué sur le message révèle qu'il y a eu erreur, on revient au potentiel VO de départ si la transmission a eu lieu correctement. Les 3 bits d'information constituant un octet sont transférés en série sur le conducteur 13 et sont ranges successivement dans le registre R7 de la mémoire RAM2. Ce transfert s'effectue par lecture successive de la porte PA7, transfert successif dans le registre accumulateur du microprocesseur récepteur et transfert après alignement du registre accumulateur dans le registre R7 de la mméoire RAM2. A chaque nouveau bit transféré un bit de parité est calculé en tenant compte de la parité des bits déjS reçu, le résultat du calcul est consigné dans le registre RA de la mémoire RAM2. Le bit de fin de message qui sert aussi de bit de parité pour le message transmis est compare au bit de parité calculé et mémorisé dans le registre R8, s'il y a égalité de valeur entre les deux bits la transmission sera reconnue comme correcte, sinon, cette anomalie sera signalée à l'émetteur par émission au niveau du récepteur du signal ER. La figure 4 est une représentation du circuit PA7 de la figure 2. Ce circuit se compose des amplificateurs trois états 8 et 9 munis de leurs portes de commande 10 et 11. La sortie de l'amplificateur 8 est reliée à V'entrée de l'amplificateur 9, ces deux amplificateurs sont connectés au conducteur 13 de façon à pouvoir utiliser l'amplificateur 8 pour transmettre les données (I/0), sur le conducteur 13 et l'amplificateur 9 pour recevoir les données (I/0), transmises sur le conducteur 13. La porte 11 commande l'amplificateur 8 lorsqu'elle est sélectionnnee, par la combinaison XXXXX001 reçue par l'organe de commande 6, par la ligne IO/ri, et lorsqu'il -8- s'agit d'un ordre d'écriture WR transmis par le microprocesseur 1. De même, la porte 10 commande l'amplificateur 9 lorsqu'elle est sélectionnée, par la combinaison XXXXX001, la ligne IO/M et cette fois lorsqu'il s'agit d'un ordre de lecture RD transmis par le microprocesseur 1. Les amplificateurs 8 et 9 peuvent être initialisés par le signal RESET. Le circuit de commande 6 est représenté sur la figure 6. Il s'agit d'un simple circuit de décodage des informations contenues dans le registre 5. Les circuits 12, 15 et 16 décodent le signal d'adresse XXXXX001 pour sélectionner le circuit PA7. Les circuits 13, 17, 18, 19 décodent le signal d'adresse XXXXXOOO pour sélectionner le registre d'état C/S 5. Les circuits 14, 20 et 21 décodent le signal d'adresse -XXXXX100 pour sélectionner le compteur de temps CT4. La figure 6 donne une représentation des registres de travail contenus dans un microprocesseur du type 8080 ou 8085. Le registre A correspond à l'accumulateur. Les registres B, C, D, E sont des registres de travail et sont spécialisés pour revecoir des données. Les registres H et L sont des registres d'adresse. Le registre SP contient l'adresse d'un registre de pile et est utilisé lors des interruptions de traitement pour pointer vers l'adresse d'une pile en mémoire pour sauver le contenu de certains registres du microprocesseur ou pour reprendre des traitements interrompus. Le registre PC est le compteur de progranuie et permet dans l'exécution d'un proqranme le passage à l'instruction suivante. Le registre I est un registre d'index qui permet l'adressage de données par indexation. Les détails relatifs à la fonctionnalité de ces registres 2 4 8 3 7 13 -9- sont donnés dans le livre intitule "les microprocesseurs" de Pierre Le Beux et Rodnay Zaak édité par la sociéte d'édition Sybex - 313 rue Lecourbe 75015 PARIS - C 1977. L'organigramme de la figure 7 représente les différentes etapes nécessaires au déroulement du microprogramme exécuté par le microprocesseur de la station émettrice. A l'étape 101 le microprocesseur emetteur positionne la ligne 13 de liaison à l'état 0 logique et change le compteur de temps à la valeur du temps nécessaire pour l'émission du signal START et de l'octet qui suit de la façon représente sur la figure 3. La fin de l'émission du signal START provoque une interruption du microprocesseur 1. L'octet à transférer - contenu dans le registre R7 de la mémoire RAM2 est alors chargé dans le registre accumulateur A du microprocesseur 1 pour tester la valeur du premier bit (étape 102). La porte PA7 transmet la valeur correspondante du premier bit lu dans le registre R7 et sur le conducteur 13 aux etapes 103 et 104. A l'étape 105 le bit de parité correspondant au message à transmettre est calcule et transmis dans une position de bit du registre R8 de la mémoire RAM2. A l'étape 108 le contenu du registre R7 est décalé d'une position binaire vers la gauche. Ce processus se reproduit à chaque signal d'interruption delivre par le compteur de temps, il se termine lorsque tous les bits de l'octet ont été successivement transferes L'étape 107 consiste a vérifier que tous les bits ont été transférés. A l'étape 109 le bit de parité mémorise dans le registre Ra est à son tour transfére. Le récepteur peut alors calculer la parité des bits d(e l'octet reçu, au bit de parité qu'il a également reçu. S'il y a coincidence le cycle de transmission s'achève (étape 112). S'il1 n'y a pas coincidence, le récepteur signale à l'émetteur qu'il y a erreur (signal ER figure 3) et un nouveau cycle de transmission est exécute à partir de l'étape 101. - 10 - La figure 8 est un organigramme montrant les operations effectuées par le récepteur lorsqu'il est en attente d'un message en provenance de l'émetteur. Ces tests se font p--r lectures repétées de l'état de la ligne de transmission 13. A l'étape 114, la porte PA7 est lue de façon répétée tant que l'etat de la ligne 13 est à 0. Lorsque l'état de la ligne devient 1 (étape 115) le compteur CT4 est chargé à une valeur de temps prédéterminée (étape 116) de façon à occasionner une interruption du traitement du microprocesseur et provoquer une lecture de l'état de la porte PA7 lorsque cette valeur de temps est épuisée. Ce test a lieu à l'étape 122. Si à cette étape, l'état de la porte est à 1, le récepteur se met en attente du signal START, par contre, si l'état de la porte est à 0 il faut en conclure que le test effectué à l'étape 115 a eu lieu sur un parasite, le récepteur retourne alors à l'étape 114. La figure 9 est une représentation de la séquence de reception du signal START. A l'étape 125 le récepteur lit l'état de la porte PA7. Le compteur de temps CT4 est chargé à une valeur de temps prédéterminé N12 dès que l'état du conducteur 13 prend la valeur 0. Cette valeur de temps est décrélaentee à l'étape 129 au rythme de l'horloge interne du microprocesseur jusqu'à atteindre la valeur 0 (étape 130). Le passage à zero du compteur CT provoque une interruption du microprocesseur qui effectue alors une opération de lecture de la porte PA7, si à cet instant de la seauence le conducteur 13 presente toujours la valeur 0, il y a confirmation qu'il s'agit bien d'un signal START et non d'un parasite, la lecture de l'octet (étape 134) pourra alors s'effectuer. La figure 10 est une représentation de la sequence de lecture d'un octet. Le compteur de telaps CT4 est charge a une valeur de temps correspondant au temps necessaire a la - 11 - lecture des 8 bits transmis. Si la durée d'un bit est de 1 ms, la valeur du temps de transmission chargée dans le compteur CT4 est de 8 mso Chaque transfert d'un bit provoque une interruption du microprocesseur récepteur (étape 136) pour l'autoriser a memoriser dans le registre R7 le bit lu sur la porte PA7, effectuer un calcul de parité sur les bits déjà reçus avec celui qui vient d'être reçu et charger le résultat de calcul de la parité dans le registre R8 (étape 137). Lorsqu'un octet a été transféré dans le registre R7, le compteur CT4 prend l'état 0 en même temps qu'est reçu le bit de parité transmis par l'émetteur. Une comparaison a alors lieu entre le bit transféré par l'émetteur et le bit précédemment calculs et mémoris dans le registre R8 du récepteur (étape 140). S'il y a correspondance entre les 2 bits de parité, la transmission s'est effectuée sans erreur et est considérée comme terminée, par contre s'il y a une différence d'état entre les 2 bits de parité, il y a erreur de transmission, cette erreur est signalée à l'émetteur en forçant à l'état 0 le conducteur 13 étape 142 et la séquence de test de l'état de la porte PA7 est reprise (étape 113). Le système de scrutation de l'état du conducteur 13 et de délivrance des signaux d'interruptions permet la synchronisation de l'envoi des messages à l'émission sur le fonctionnement de la station qui reçoit. On réalise ainsi un double niveau d'asynchronisme qui est: indépendant des fonctions traitées au niveau de chaque station, car en dehors des périodes d'interruption, les stations peuvent se livrer a l'exécution d'autres tâches complètement indépendantes les unes des autres, et indépendant des programmes du récepteur puisque les interruptions peuvent être produites à tout instant. Les séquences qui viennent d'être décrites pourront être réalisées à l'aide de la liste des instructions suivantes - 12 - inscrite dans la mémoire. PRO17bis de la figure 2 en utilisant les instructions du microprocesseur INTEL'8080. EMISSION Instructions Commentaires OUT PA LHILD ICOVA,1H NOV CT,A LHLD rIOV B,H INT LDA SBB B JZ NEXT (113) LDA OUT Porte A MOV C,A ANA XRA, M LIILD IOV L1,A K;ov A,C RLC nov [I,A LDA OUT Porte A 1NOP IN PORTE A CPI JiC NEXT' (100) Porte Ae 0 (Initialisation du compteur CT4) CT By 0 (Interruption compteur de termps) A A R7 C Masque 1 000 000 Calcul de parité A A0 parite dans R8 A décalage R7 R7 A Si i = Erreur 102 A B C D E F 112 i1 - 13 - 119 RET Test Porte 11A IN Porte A 11B C[P M lic RM NEXT=(11A) 11D LHILD 11E O10V CT,A 11F RET START 121 IN Porte A 122 CMP M 126 RM NEXT (121) LHILD M1OV A,M MO10V CT,A RET AO Etat de PA7 Comparer A0 à 1 faire S=1 dans PSI si si S=1 retour en 11A Charger H,L avec le contenu de la memoire trouve aux adresses qq et PP. A N CT Faire Se 1 dans PSW si # Retour en 121 si S = 1 INT. START 128 12A PUSIH PSW ItJ PORTE A cHP H11 12B3 Rl NIEXT' (128) 12C CNZ Lecture Octet Sauver A et PSIW' Faire Z=0 de PSW si porte = O Si Z=1 retour en 128 Fin - 14 - LECTURE OCTET LIILD iOV Afi NOV CT,A LX1 B RET INT LHLD IOV A, M RLC MOV D,A IN Porte A MOV E,A LHLD XRA MOV M,A MOV AE ORA D LHLD Nov r, A INX B LDA SBB B JP RET MOV A,E LHLD CMP M JZ NEXT(149) B O Adressage de R8 Parité dans A Parité dans R8 Adressage de R7 R7 A, 8 Z 1 de PSW sur = O Adressage de R8 Faire Z=1 ds PSW s'ily a egalite Fin OUT porte A CALL test porte 12D 12E 12F -130 133 138 13A 13B 13C 2013D 13E 13F - 15 - L'exemple qui vient d'être donné d'une réalisation préférée de l'invention n'est nullement limitatif, il va de soi que tout homme de l'art bien au fait des techniques des systèmes de transmission de l'information pourra concevoir d'autres modes de réalisation de l'invention sans pour autant sortir de son cadre. REYBEiDúCATiO;S 1. Dispositif de Transmission de signaux entre deux stations de traitement de l'information, l'une au moins des stations pouvant être incorporée à l'intérieur d'un objet portatif, chacune des stations comprenant un premier moyen de traite- ment de l'information 1 pourvu de moyens d'émission 7 des informations vers l'autre station ainsi que des moyens (7,2) de réception des informations traitées par l'autre station, chacune des stations pouvant être couplée zempcrairement à l'autre station par l'intermédiaire de moyens d'accouplement caractérisé par le fait que les dites informations sont transmises entre les stations dans les deux sens sur une seule et même liaison, les informations étant transmises au moyen des variations d'un seul et même signal lorsque les stations sont accouplées par les dits moyens d'accouplement et en ce que la dite liaison unique de transmission des dites infor- mations est reliée à un troisième moyen de détection A, 7bis d'un état prédéterminé de la dite liaison unique pour signaler à la station émettrice que la station réceptrice est prête à recevoir des informations et pour signaler à la station récep- trice que la station émettrice va envoyer-un-message. 2. Dispositif de transmission de signaux électriques selon la revendication 1 caractérisé en ce que le dit dispositif comprend en plus un quatrième moyen situé dans chaque station et utilisé lorsque la station est émettrice pour émettreun signal suppié- mentaire permettant de contrôler et/ou de corriger les infor- mations transmises, pour être interprété àela fois comme code de redondance et -commé signal de fin de message. 3. Dispositif de tran-mission de signaux électriques selon les revendications 1 et - caractérisé en ce que le quatrième moyen est utilisé lorsque la station émettrice pour émettre un signal indiquant la parité du message transmis pour être interprété par la station réceptricE-, à la fois comme bit de parité et comme signal de fin de message. _Disposici t transmiS.Sion de signaux éLectrrqiquei --n-re deux stations de treite-mer;-. il t'nfomatlon sein ia revend'cation 1 caraczérlsé en c= que les premier et deuxième moyensde trai;emenr sonz constitués chacun Dar au moins un :microprocesseur. 5. Dispositif de transmission de signaux entre deux stations de traitement de l'information selon les revendl'azions 1 à 3 caractérisé en ce que le récepteur signale à i'émetteur (ER) qu'il a trouvé une erreur de transmissionen positionnant l'é- tat de la dite liaison unique de transmission dans un état temporaire prédéterminé différent du dit état signalant à la station émettrice que la station réceptrice est prête à rece- voir des informations. 6. Dispositif de transmission de signaux entre deux stations de traitement de l'information selon la revendication 1 à 3 caractérisé en ce que les moyens d'émission de chaque station possèdent des moyens permettant de'resynchroniser le fonction- nement de la station eïiémission--sur le fonctionnement des moyens de réception de l'autre szation lorsque cette dernière a terminé une tâche de façon à obtenir un fonctionnement to- talement indépendant des fonctions à réaliser et des perfor- mances du récepteur. 7. Dispositif de transmission de signaux entre deux stations de traitement de l'information selon l'une quelconque des reven- dications précédentes caractérisé en ce que la dite liaison unique est constituée par un seul même conducteur, le retour du courant nécessaire à la transmission des signaux d'infor- mation se faisant sur un deuxième conducteur-reliant également les deux stations au travers des-dits moyeîs d'accouplement.