Note: Descriptions are shown in the official language in which they were submitted.
-'- 117~715
La présente invention concerne un dispositif
pour la transmission de signaux entre deux stations de
traitement de l'information.
Elle concerne plus particulièrement un disposi-
tif permettant l'échange d'informations entre deux micro-
processeurs, l'un au moins pouvant être dispose ~ l'inte-
rieur d'un support portatif, la liaison entre les deux
microprocesseurs pouvant être assurée par l'intermédiaire
de contacts électriques lorsque l'objet portatif est mis
en contact ou est couple avec les lignes d'informations
communiquant avec le dispositif dans lequel se trouve
dispose l'autre microprocesseur.
Géneralement un nombre important de conducteurs
est necessaire pour assurer les liaisons entre deux
microprocesseurs. Certaines liaisons prevoient 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éserves à la
fourniture de l'energie d'alimentation. Ces liaisons
sont incompatibles à la réalisation de dispositifs dans
lesquels les liaisons entre microprocesseurs ne sont pas
permanentes, la multiplicite des contacts ou des éléments
de couplage diminue la fiabilite des systèmes utilisant
de tels dispositifs.
Le but de l'invention est donc de reduire les
risques de mauvais fonctionnement ou d'anomalies imputa-
bles 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 stations comprenant un
premier moyen de traitement de l'information pourvu de
moyens d'emission des informations traitees vers l'autre
station ainsi que des moyens de reception des informa-
tiDns traités par l'autre station, chacune des stations
*
li'~8715
-- 2 --
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 mame signal
lorsque les deux stations sont accouplees 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 quatrieme moyen
situé au niveau de l'émetteur pour émettre un slgnal
indiquant la parité du message 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'in-
vention apparaîtront mieux à l'aide de la description
faite au regard des dessins qui va suivre.
La figure 1 représente les liaisons physiques
de l'émetteur et du récepteur selon l'invention.
La figure 2 représente un organe émetteur ou
recepteur utilisé 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'invention.
La figure 4 représente les circuits necessaires
à la transmission 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 regis-
tres de travail du microprocesseur 8080 commercialise parla société INTEL et utilisé dans la mise en oeuvre des
_ 3 _ 11 7~71S
émetteurs recepteurs de l'invention.
La figure 7 est un organigramme correspondant
au fonctionnement du microprogramme d'émission des infor-
mations 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 infor-
mations transmises par l'émetteur et reçues par le
récepteur.
La figure 1 représente les connections utili-
sées pour relier l'émetteur et le récepteur de la
présente invention. Les stations Pl et P2 peuvent jouer
indifféremment le rôle de l'émetteur ou celui du récep-
teur. L'une d'entre elles peut fournir les sources de
courant et de tension nécessaires a 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 élec-
trique 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, Pl sur la figure 1, a l'autre pôle de l'alimen-
tation 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 0 ou 1 et sont représen-
tées par des variations du courant circulant dans le con-
ducteur 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 trans-
mission peuvent être envisagés, dans le cas d'une trans-
_ 4 _ 1~78~1S
mission 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 represente le dispositif d'émission
et de reception utilise dans chacune des deux stations.
Dans le cas de la figure 2, on suppose que la station
représentée est la station Pl Cette station comprend au
moins un microprocesseur 1, associé à un dispositif de
commande des entrées-sorties des informations entrantes
ou sortantes de la station, constitue par un dispositif
de memorisation 2, un dispositif de verrouillage 3, un
compteur de temps 4, un registre d'etats C/S 5, un organe
de commande 6, une memoire PROM 7bis et un circuit 7 de
transmission et reception des données connectées au con-
ducteur de donnees 13. Le microprocesseur 1 peut être un
microprocesseur du type 8080 ou 8085 commercialise par la
- societé INTEL. Ce microprocesseur peut être connecte à
des éléments autres que ceux représentés sur la figure 2
par les lignes d'adresse A8 15 et de données ADo 7. Les
8 lignes de données ADo 7 sont reliées a l'entr~e d'un
registre a verrouillage 3 pour adresser la memoire à
acces aleatoire RAM2. Cette memoire RAM2 peut avoir une
capacite de 2 K bits organisee en 256 x 8 bits. Elle
contient un registre R7 pour mémoriser l'octet transfere -
au travers de la porte PA7 et un registre R8 pour memo-
riser le bit de parite correspondant à l'octet transféré.
Le registre 3 selectionne aussi par l'etat de ses sorties
l'organe de commande 6.
L'organe de commande 6 selectionne le circuit 7
de transmission réception des donnees lorsque la configu-
ration binaire mémorisée dans le registre 3 est XXXXX001,
il selectionne le registre d'état 5 lorsque la configura-
tion binaire dans le registre 3 est XXXXX000 et enfin il
selectionne le compteur de temps 7 lorsque la configu-
ration binaire dans le registre 3 est XXXXX100. Le
_ 5 _ ~ ~'78~
compteur de temps 4 a ses entrées parallèlement reliées
aux lignes de donnees ADo 7 de fa~on à pouvoir être
charge à tout moment par le microprocesseur a une valeur
de temps initiale. Le registre d'état C/S 5 est lui
aussi relie aux lignes ADo 7 pour lui permettre de mémo-
riser un ordre envoyé par le microprocesseur. C'est un
registre à 8 bascules dont les états permettent la sélec-
tion soit du circuit d'entrée/sortie PA7 ou du compteur
de temps CT4. La ligne ALE connecte le microprocesseur
au registre 3 et transporte le signal de verrouillage du
registre 3 pour autoriser ou non l'adressage de la
mémoire RAM2 et de 1'organe de commande 6.
La ligne IO/M sélectionne soit la mémoire RAM2
soit le circuit 7 d'entrée/sortie. Les lignes RD et WR
commandent les operations de lecture/écriture et sont
reliées aux circuits de commandes appropriés de la
mémoire 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 a l'entrée IN du
compteur de temps CT4. La ligne RESET out est reliée à
l'entrée du circuit 7 et permet d'initialiser le systeme
en mode d'entrée/sortie.
La sortie du compteur de temps CT4 est reliée à
l'entrée INT du microprocesseur 1 pour delivrer un signal
d'interruption du traitement qui est en cours lorsque la
valeur du compte initialement charge à l'interieur du
compteur de temps CT4 est epuisee. Le microprocesseur 1
est egaleme~t relie par ses lignes de donnees et
d'adresse a une memoire morte 7bis dans laquelle figurent
inscrits les microprogrammes nécessaires à la transmis-
sion et à la réception des données par la station Pl.
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é à trans--
- 6 - ~-~7~715
mettre le signal de debut de message ou signal START, les
moments 2 à 9 sont utilises pour la transmission du
mesage proprement dit, et le lOème moment transmet le
bit de parite du message.
Le récepteur reçoit les signaux transmis dans
ces 10 moments et effectue un contrôle de parité pendant
le llème. Le recepteur signale à l'émetteur qu'il est
prêt à recevoir un message en positionnant le conducteur
13 à un potentiel VO (signal PR). Ce signal est posi-
tionné au moins un moment avant l'emission du signal
START. Apres réception et contrôle, le récepteur posi-
tionne l'état du conducteur 13 à un potentiel Vl pendant
la duree d'un moment, si le contrôle de parité effectue
sur le message révele 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 transferés en série sur le conducteur 13 et sont
rangés 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
apras alignement du registre accumulateur dans le regis-
tre R7 de la mémoire RAM2. A chaque nouveau bit trans-
féré un bit de parité est calculé en tenant compte de la
parité des bits déjà reçu, le résultat du calcul est con-
signé dans le registre R8 de la mémoire RAM2. Le bit de
fin de message qui sert aussi de bit de parité pour le
message transmis est comparé 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'émet-
teur 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 amplifi-
_ 7 _ ~ 71~
cateurs trois états 8 et 9 munis de leurs portes de
commande 10 et 11. La sortie de l'amplificateur 8 est
reliée à l'entrée de l'amplificateur 9, ces deux ampli-
ficateurs sont connectés au conducteur 13 de façon ~
pouvoir utiliser l'amplificateur 8 pour transmettre les
données (I/O), sur le conducteur 13 et l'amplificateur 9
~ pour recevoir les données (I/O), transmises sur le con-
ducteur 13.
La porte 11 commande l'amplificateur 8
lorsqu'elle est sélectionnée, par la combinaison XXXXX001
rec,ue par l'organe de commande 6, par la ligne IO/M, et
lorsqu'il s'agit d'un ordre d'écriture WR transmis par le
microprocesseur 1. De même, la porte 10 commande l'am-
plificateur 9 lorsqu'elle est sélectionnée, par la combi-
naison XXXXX001, la ligne IO/M et cette fois lorsqu'ils'agit d'un ordre de lecture RD transmis par le micro-
processeur 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 ~. 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 XXXXX000 pour sélectionner
le registre d'etat 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 representation des regis-
tres de travail contenus dans un microprocesseur du type
8080 ou 8085. Le registre A correspond a l'accumulateur.
Les registres B, C, D, E sont des registres de
travail et sont spécialisés pour recevoir 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
- 8 - 117~7~5
le contenu de certains registres du microprocesseur ou
pour reprendre des traitements interrompus. Le registre
PC est le compteur de programme et permet dans l'exécu-
tion d'un programme le passage à l'instruction suivante.
Le registre I est un registre d'index qui permet l'adres-
sage de données par indexation.
Les détails relatifs à la fonctionnalité de ces
registres sont donnés dans le livre intitulé "les micro-
processeurs" de Pierre Le Beux et Rodnay Zaak édité par
la société d'édition Sybex - 313 rue Lecourbe 75015
PARIS - C 1977.
L'organigramme de la figure 7 représente les
différentes étapes nécessaires au déroulement du micro-
programme exécuté par le microprocesseur de la station
émettrice. A l'étape 101 le microprocesseur émetteur
positionne la ligne 13 de liaison à l'état 0 logique et
change le compteur de temps à la valeur du temps néces-
saire pour l'émission du signal START et de l'octet qui
suit de la facon représentée 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 étapes 103 et
104. A l'étape 105 le bit de parité correspondant au
message à transmettre est calculé 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'in-
terruption délivré par le compteur de temps, il se ter-
mine lorsque tous les bits de l'octet ont été successive-
ment transférés. L'étape 107 consiste à vérifier quetous les bits ont été transférés. A l'étape 109 le bit
9 11-7~715
de parite mémorise dans le registre R8 est a son tour
transf~ré. Le récepteur peut alors calculer la parite
des bits de l'octet reçu, au bit de parite qu'il a egale-
ment reçu. S'il y a coïncidence le cycle de transmission
s'achave (etape 112). S'il n'y a pas coïncidence, le
recepteur signale a l'emetteur qu'il y a erreur (signal
ER figure 3) et un nouveau cycle de transmission est
execute a partir de l'etape 101.
La figure 8 est un organigramme montrant les
operations effectuees par le recepteur lorsqu'il est en
attente d'un message en provenance de l'emetteur. Ces
tests se font par lectures repetees de l'etat de la ligne
de transmission 13. A l'etape 114, la porte PA7 est lue
de façon repetee tant que l'etat de la ligne 13 est à 0.
Lorsque l'etat de la ligne devient 1 (etape 115) le
compteur CT4 est charge à une valeur de temps predéter-
min~e (etape 116) de fa~on a occasionner une interruption
du traitement du microprocesseur et provoquer une lecture
de l'etat de la porte PA7 lorsque cette valeur de temps
est épuisée. Ce test a lieu a 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'etat de la
porte est à 0 il faut en conclure que le test effectue à
l'étape 115 a eu lieu sur un parasite, le recepteur
retourne alors à l'etape 114.
La figure 9 est une representation de la
sequence de reception du signal START . A l'etape 125 le
recepteur lit l'etat de la porte PA7. Le compteur de
temps CT4 est charge à une valeur de temps pred~terminé
N2 dès que l'état du conducteur 13 prend la valeur 0.
Cette valeur de temps est decrementee à l'etape 129 au
rythme de l'horloge interne du microprocesseur jusqu'à
atteindre la valeur 0 (etape 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 sequence le conducteur 13
1~'7871~
-- 10 --
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 (etape 134) pourra alors s'effectuer.
La figure 10 est une representation de la
sequence de lecture d'un octet. Le compteur de temps CT4
est charge à une valeur de temps correspondant au temps
nécessaire à la lecture des 8 bits transmis. Si la durée
d'un bit est de 1 ms, la valeur du temps de transmission
chargee dans le compteur CT4 est de 8 ms. Chaque
transfert d'un bit provoque une interruption du micro-
processeur recepteur (etape 136) pour l'autoriser à memo-
riser dans le registre R7 le bit lu sur la porte PA7,
effectuer un calcul de parite sur les bits deja reçus
avec celui qui vient d'être reçu et charger le resultat
de calcul de la parite dans le registre R8 (etape 137).
Lorsqu'un octet a ete transfere dans le registre R7, le
compteur CT4 prend l'etat 0 en même temps qu'est reçu le
bit de parite transmis par l'emetteur. Une comparaison a
alors lieu entre le bit transféré par l'émetteur et le
bit précedemment calcule et memorisé dans le registre R8
du récepteur (étape 140). S'il y a correspondance entre
les 2 bits de parité, la transmission s'est effectuee
sans erreur et est considéree comme terminee, par contre
s'il y a une difference d'etat entre les 2 bits de
parite, il y a erreur de transmission, cette erreur est
signalee a l'emetteur en forçant à l'etat 0 le conducteur
13 etape 142 et la sequence de test de l'etat de la porte
PA7 est reprise (etape 113).
Le système de scrutation de l'etat du conduc-
teur 13 et de delivrance des signaux d'interruptions
permet la synchronisation de l'envoi des messages à
l'emission sur le fonctionnement de la station qui
recoit. On realise ainsi un double niveau d'asynchro-
nisme qui est: independant des fonctions traitees au
niveau de chaque station, car en dehors des periodes
d'interruption, les stations peuvent se livrer a l'exe-
~1'7~715
cution d'autres tâches complètement indépendantes les
unes des autres, et indépendant des programmes du récep-
teur puisque les interruptions peuvent être produites à
tout instant.
Les séquences qui viennent d'être decrites
pourront être realisées à l'aide de la liste des instruc-
tions suivantes inscrite dans la mémoire PROM 7bis de la
figure 2 en utilisant les instructions du microprocesseur
INTEL 8080.
EMISSION
Instructions Commentaires
100 OUT PA Porte A~ 0
101 LHLD
102 MOVA,M (Initialisation du
compteur CT4)
103 MOV CT,A CT~----A
104 LHLD
105 MOV ~,M B 0
INT (Interruption compteur
de temps)
106 LDAB A 8
107 SB~ B
108 JZ NEXT (113)
~ 109 LDA A< R7
25 10A OUT Porte A
10B MOV C,A C~ A
10C ANA Masque 1 000 000
10D XRA,M Calcul de parité A
Ao R8 ~ Ao
30 10E LHLD
10F MOV M,A Parite dans R8
110 MOV A,C A~---- R7
111 RLC Decalage R7
112 MOV M,A R7~ -A
35 113 LDA A< R8
-- 12 --
114 OUT
115 NOP
116 IN Porte A
117 CPI Si l = Erreur
118 JNC NEXT (100)
119 RET Fin
Test Porte
llA IN Porte A Ao< Etat de PA7
llB CMP M Comparer Ao à 1
faire S-l dans PSW
si #
llC RM NEXT=(llA) Si S=l retour en llA
llD LHLD Charger H,L avec le
contenu de la mémoire
trouvé aux adresses
qq et PP. A N
llE MOV CT,A CT < N
llF RET
START
20 121 IN Porte A
122 CMP M Faire S 1 dans PSW
si #
123 RM NEXT (121) Retour en 121 si S=l
124 LHLD
25 125 MOV A,M
126 MOV CT,A
127 RET
INT. START
128 PUSH PSW Sauver A et PSW
30 129 IN Porte A
12A CMP M Faire Z=0 de PSW
si porte = 0
117~'715
- 13 -
12B RM NEXT (128) Si Z=l retour en 128
12C CNZ Lecture Octet
LECTURE OCTET
12D LHLD
5 12E MOV A,M
12F MOV CT,A
130 LXl B B< 0
131 RET
INT
132 LHLD
133 MOV A,M
134 RLC
135 MOV D,A
136 IN Porte A
137 MOV E,A
138 LHLD Adressage de R8
139 XRA Parité dans A
13A MOV M,A Parite dans R8
13B MOV AE
20 13C ORA D
13D LHLD Adressage de R7
13E MOV M,A R7~ A
13F INX B
140 LDA A 8
141 SB~ B
142 JP Z<- 1 de PSW sur = 0
143 RET
144 MOV A,E
145 LHLD Adressage de R8
146 CMP M
147 JZ NEXT (149) Faire Z=l de PSW s'il
y a egalité
148 Fin
149 OUT Porte A
150 CALL test porte
- 117~71S
- 14 -
L'exemple qui vient d'etre donne d'une realisa~
tion preferee 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 realisation de l'in-
vention sans pour autant sortir de son cadre.