[0001] L'invention concerne une machine à affranchir le courrier, imprimant des timbres
en comptabilisant les valeurs de ces timbres.
[0002] Classiquement, une telle machine comporte :
- un moteur et des mollettes portant des chiffres en relief, pour imprimer un timbre;
- un microprocesseur pour commander le moteur, et pour comptabiliser la valeur de
chaque timbre imprimé;
- des codeurs de position, reliés respectivement aux mollettes pour traduire sous
forme de mots binaires les valeurs des chiffres des timbres imprimés;
- plusieurs interrupteurs de commande manuelle;
- une première interface commandée par des ordres du microprocesseur pour scruter
et pour transmettre au microprocesseur les valeurs traduites par les codeurs, et les
états des interrupteurs;
- une seconde interface commandées par des ordres du microprocesseur pour commuter
l'alimentation du moteur.
[0003] Il est connu de répartir ces sous-ensembles sur deux cartes de circuit imprimé. Une
carte dite principale comporte notamment le microprocesseur et une première partie
de la seconde interface. Une carte dite d'interfaces comporte : la première interface,
les codeurs de position, les interrupteurs, et une seconde partie de la seconde interface.
Les deux cartes sont reliées par des connecteurs à cinq contacts correspondant respectivement
à : un conducteur pour le potentiel de référence, un conducteur pour la tension d'alimentation
des circuits électroniques, un conducteur spécialisé pour un signal de commande du
moteur, et deux conducteurs constituant un bus de transmission série, selon le protocole
12C par exemple. Le microprocesseur est le maître des transactions entre les deux
cartes. Un conducteur du bus transmet des impulsions d'horloge cadençant la transmission,
alors que l'autre conducteur transmet des données binaires, dans l'un ou l'autre sens.
Ce bus transmet les ordres commandant la scrutation et la transmission des valeurs
traduites par les codeurs, et des états des interrupteurs; et transmet des données
en réponse à ces ordres.
[0004] La première interface comporte deux circuits intégrés à usage général, disponibles
dans le commerce : un circuit d'entrée-sortie série, et un décodeur. Ces circuits
permettent de scruter une matrice de conducteurs dans laquelle les codeurs et les
interrupteurs établissent des liaisons variables entre des lignes et des colonnes.
Le manque de sorties disponibles sur ces circuits conduit à utiliser en outre douze
diodes, pour relier six sorties du décodeur aux douzes colonnes de la matrice sans
nuire l'indépendance de ces colonnes.
[0005] La seconde interface, qui commute l'alimentation du moteur, comporte : un décodeur
d'adresses et un registre de verrouillage, situés sur la carte principale; et comporte
: un transistor de puissance et un transistor préamplificateur, situés sur la carte
d'interfaces. Le conducteur spécialisé pour la commande du moteur achemine une tension
continue, fournie par une sortie du registre à verrouillage et commandant directement
le transistor préamplificateur. Un exemple de réalisation d'une carte d'interfaces
d'une machine selon l'art antérieur sera décrit plus en détail dans ce qui suit .
[0006] La carte d'interfaces d'une machine selon l'art antérieur a le mérite de ne comporter
que des circuits intégrés à usage général, disponibles dans le commerce. Leur nombre
est peu élevé (deux) mais il est souhaitable de le réduire pour diminuer le coût de
fabrication de la machine (coût du circuit imprimé, du montage, du contrôle). Il n'est
pas possible de réduire le nombre de circuits intégrés en utilisant un circuit intégré
unique et disponible dans le commerce, car il n'y a pas de circuit intégré à usage
général qui puisse remplir toutes les fonctions de la première interface et, à fortiori,
remplir une partie ou la totalité des fonctions de la seconde interface. Il faut donc
envisager la réalisation d'un circuit intégré spécifique à cette application (ASIC).
Il est possible d'intégrer en un seul circuit intégré : les douzes diodes, le circuit
d'entrée-sortie série, et un décodeur. La nouvelle machine aurait alors les mêmes
performances et les mêmes inconvénients que la machine selon l'art antérieur, sauf
que l'encombrement et le coût seraient réduits.
[0007] La machine selon l'art antérieur présente les inconvénients suivants. Pour scruter
la valeur traduite par chaque codeur, il est nécessaire d'envoyer, du microprocesseur
au circuit d'entrée-sortie un ordre d'écriture constitué essentiellement de deux octets;
puis d'envoyer, du microprocesseur au circuit d'entrée-sortie, un ordre de lecture
constitué essentiellement d'un octet; et enfin, d'envoyer, du circuit d'entrée-sortie
vers le microprocesseur, un octet de données. Il y a donc transmission, dans un sens
ou dans l'autre, de quatre octets pour scruter l'état d'un seul codeur. En outre chaque
ordre envoyé par le microprocesseur est précédé d'un signal caractéristique d'un début
de transaction, et il est suivi d'un signal caractéristique d'une fin de transaction.
[0008] La scrutation de quatre codeurs nécessite quatre scrutations déclenchées par quatre
ordres du microprocesseur.
[0009] Les interrupteurs de commande manuelle constituent deux groupes, séparés des codeurs,
et qui sont l'objet d'une cinquième et d'une sixième scrutation, et de la transmission
d'un cinquième et d'un sixième octet de données. Enfin, la scrutation de l'ensemble
des codeurs et des interrupteurs est suivie d'une mise au repos de toutes les colonnes
de la matrice, consistant à configurer le circuit d'entrée-sortie par un ordre d'écriture
tel qu' aucune des colonnes de la matrice n'est scrutée par le décodeur. Au total,
pour scruter quatre codeurs et quatre interrupteurs, vingt six octets sont transmis
sur le conducteur des données.
[0010] Pour éliminer l'effet des rebonds des contacts des interrupteurs et des codeurs,
une scrutation est commandée toutes les 10 millisecondes. Dans un exemple de réalisation
où la période minimale admissible pour l'horloge du bus cadencant la transmission,
est de 10 microsecondes, la durée minimale nécessaire pour scruter quatre interrupteurs
et quatre codeurs est de 2,5 millisecondes. Le microprocesseur consacre donc un quart
de son temps de fonctionnement à réaliser cette scrutation. D'autre part, un courant
non négligeable circule dans les colonnes de la matrice correspondant à un codeur,
pendant la scrutation de celui-ci. Par conséquent, la durée de l'ensemble des scrutations
a un effet direct sur la quantité d'énergie prélevée dans le dispositif d'alimentation
des circuits électroniques de la machine. Accessoirement, ce mode de scrutation nécessite
de stocker un programme relativement complexe dans la mémoire de programme du microprocesseur.
[0011] La machine selon l'art antérieur a aussi un inconvénient découlant du manque de sorties
sur le décodeur. L'utilisation de diodes pour relier les colonnes de la matrice aux
sorties du décodeur, a pour effet de réduire de 0,7 volt environ l'immunité au bruit
des ports du circuit d'entrée-sortie, lorsqu'ils sont configurés en entrées.
[0012] Le fait de transmettre par deux procédés différents les ordres commandant le moteur
et les ordres commandant la scrutation conduit à ajouter un conducteur spécialisé
pour relier les deux cartes de la machine, ce qui augmente d'une unité le nombre de
contacts des connecteurs reliant les deux cartes. En outre, la carte principale a
un encombrement et un coût augmentés par la présence du décodeur d'adresse et du registre
de verrouillage faisant partie de la seconde interface.
[0013] Enfin, la machine selon l'art antérieur a un inconvénient découlant du manque d'entrées
sur le circuit d'entrée-sortie. Ce manque d'entrées conduit à limiter à cinq le nombre
de lignes de la matrice. Comme chaque codeur constitue une sous-matrice comportant
cinq lignes, toutes les lignes de la matrice sont occupées quand un codeur est scruté.
Par conséquent, les interrupteurs sont rassemblés en deux groupes, indépendants des
codeurs. Les états des interrupteurs sont transmis dans deux octets distincts des
quatres octets transmettant les valeurs traduites par les quatre codeurs. Il y a donc
transmission de six octets de données qui contiennent chacun quatre bits utiles, au
maximum, et des bits de bourrage. Ce mauvais remplissage des octets de données contribue
à alourdir les transactions entre la carte d'interfaces et la carte principale, en
augmentant le nombre d'octets de données.
[0014] Le but de l'invention est de proposer une machine à affranchir dont la carte d'interfaces
d'entrée-sortie comporte un unique circuit intégré, spécifique de cette application;
et qui n'ait pas les inconvénients de la machine selon l'art antérieur.
[0015] Selon l'invention, une machine à affranchir le courrier, imprimant des timbres en
comptabilisant les valeurs de ces timbres, comportant :
- un moteur et des molettes portant des chiffres en relief, pour imprimer un timbre
;
- un microprocesseur pour commander le moteur, et pour comptabiliser la valeur de
chaque timbre imprimé;
- des codeurs de position reliés respectivement aux molettes pour traduire sous forme
de mots binaires les valeurs des chiffres du timbre imprimé;
- des interrupteurs de commande manuelle;
- une première interface, commandé par des ordres du microprocesseur, pour scruter
et pour transmettre au microprocesseur les valeurs traduites par les codeurs, et les
états des interrupteurs;
- une seconde interface, commandée par des ordres du microprocesseur, pour commuter
l'alimentation du moteur;
est caractérisée en ce que la première interface comporte un circuit logique intégré,
spécifique de cette application, comportant des moyens pour scruter et pour transmettre
au microprocesseur les valeurs traduites par tous les codeurs, et les états de tous
les interrupteurs de ladite machine, suite à la réception d'un ordre unique envoyé
par le microprocesseur.
[0016] Le fait que la scrutation et la transmission soient déclenchés par un ordre unique
pour l'ensemble de tous les codeurs et de tous les interrupteurs de la machine, allège
beaucoup la tâche du microprocesseur. Cette caractéristique permet d'utiliser avec
une plus grande efficacité le microprocesseur, pour lui faire remplir d'autres tâches
qu'il n'aurait pas pu remplir, ou moins bien remplir, dans une machine selon l'art
antérieur, par manque de temps disponible; ou bien permet d'utiliser ce microprocesseur
à un rythme plus lent pour réduire la consommation des circuits électroniques. En
outre, le programme du microprocesseur peut être allégé, ce qui permet de libérer
de la place dans sa mémoire de programme pour d'autres tâches, ou bien permet d'utiliser
une mémoire de capacité plus réduite.
[0017] Selon une autre caractéristique, la seconde interface, commandant le moteur, est
intégrée dans le même circuit intégré spécifique que la première interface, et elle
comporte, en commun avec la première interface :
- un bus relié au microprocesseur ;
- des moyens pour filtrer des signaux envoyés par le microprocesseur;
- des moyens pour mettre en parallèle des données binaires reçues en série;
- des moyens pour décoder une adresse;
- des moyens pour détecter un signal de début de transaction et détecter un signal
de fin de transaction envoyés par le microprocesseur; et en ce qu'elle comporte, en
propre :
- des moyens pour mémoriser l'état de la commutation de l'alimentation du moteur;
- au moins une partie d'un amplificateur de commutation pour commuter l'alimentation
du moteur.
[0018] La machine ainsi caractérisée ne comporte plus, sur la carte principale, de décodeur
d'adresse et de registre de verrouillage pour les ordres de commutation de l'alimentation
du moteur, grâce au fait que ces ordres sont acheminés par le même bus et le même
circuit intégré spécifique que les ordres de scrutation et de transmission .II n'y
a plus de conducteur spécialisé pour transmettre un signal de commande du moteur entre
les deux cartes de la machine, par conséquent ces deux cartes peuvent comporter chacune
un connecteur à quatre contacts seulement. En outre, la réalisation d'un circuit intégré
spécifique est l'occasion d'intégrer au moins une partie de l'amplificateur de commutation.
Cette caractéristique permet donc de réduire la taille du connecteur et le nombre
de composants audelà de ce que permettrait une simple intégration des interfaces selon
l'art antérieur dans un circuit intégré spécifique.
[0019] Selon une autre caractéristique de la machine selon l'invention, la seconde interface
est reliée à la première interface, à l'intérieur dudit circuit intégré spécifique,
pour transmettre au microprocesseur, en même temps que des bits représentant les valeurs
traduites par les codeurs, et représentent les états des interrupteurs, un bit indiquant
l'état du moteur : en marche ou à l'arrêt.
[0020] La machine ainsi caractérisée, permet au microprocesseur de vérifier la bonne exécution
des ordres de commutation de l'alimentation du moteur, sans que le moindre composant
supplémentaire doive être ajouté, grâce à une connection interne au circuit spécifique
et grâce à l'utilisation des moyens déjà présents, dans le circuit intégré spécifique,
pour transmettre les valeurs traduites par les codeurs et transmettre les états des
interrupteurs.
[0021] Selon une autre caractéristique de la machine selon l'invention, la première et la
seconde interface comportent en commun, dans ledit circuit intégré spécifique, un
séquenceur comportant des moyens pour mémoriser quatre phases de fonctionnement qui
s'excluent mutuellement :
- une phase de repos, à la suite de chaque mise sous tension ou à la suite d'une commande
de retour au repos émise par le séquenceur lui-même, ou par le microprocesseur;
- une phase d'activation, si ledit circuit intégré spécifique reçoit un signal de
début de transaction, cette phase permettant de détecter une adresse qui est propre
au circuit intégré spécifique, et un bit indiquant soit un ordre de scrutation et
de transmission des valeurs traduites par les codeurs et des états des interrupteurs;
soit un ordre de commutation de l'alimentation du moteur;
- une phase de scrutation et de transmission, consécutive à une phase d'activation,
si ledit circuit intégré spécifique reçoit, à la suite de son adresse, un ordre de
transmission des valeurs traduites par les codeurs et des états des interrupteurs;
cette phase étant suivie d'un retour à la phase de repos;
- une phase de commande du moteur, consécutive à une phase d'activation, si ledit
circuit intégré spécifique reçoit, à la suite de son adresse, un ordre de commutation
de l'alimentation du moteur : mise en marche ou mise à l'arrêt.
[0022] Ce séquenceur donne à la carte d'interfaces une certaine autonomie, en permettant
de réaliser une longue phase de scrutation et de transmission ou de réaliser une commande
du moteur, à la suite d'un d'un ordre unique envoyé par le microprocesseur.
[0023] Selon une autre caractéristique, le circuit intégré spécifique, pour une machine
à affranchir comportant des codeurs et des interrupteurs réalisant des liaisons variables
entre des lignes et des colonnes d'une matrice de conducteurs, comporte des sorties
en nombre au moins égal au nombre de colonnes de la matrice, et qui sont reliées respectivement
auxdites colonnes.
[0024] La machine ainsi caractérisée ne nécessite pas de diodes montées respectivement en
série avec les conducteurs constituant les colonnes de la matrice, grâce au fait que
chaque colonne est connectée à une sortie du circuit intégré spécifique, indépendante
des autres. Ainsi le coût et l'encombrement de la carte d'interfaces sont sensiblement
réduits. D'autre part, cette caractéristique augmente de 0,7 volt l'immunité aux bruits
des entrées du circuit spécifique qui sont reliées aux conducteurs constituant les
lignes de la matrice.
[0025] Selon une autre caractéristique, le circuit intégré spécifique comporte un nombre
d'entrées reliées à des lignes de matrice, qui est supérieur au nombre des lignes
de matrice auxquelles sont reliées les codeurs; au moins une ligne de matrice n'étant
reliée qu'à des interrupteurs de commande manuelle, les codeurs et les interrupteurs
étant connectés en groupe, chaque groupe ayant un nombre de sorties au plus égal au
nombre de lignes de la matrice, les sorties de chaque groupe étant connectées respectivement
aux lignes de la matrice.
[0026] Cette structure du cicuit intégré spécifique permet de réaliser de façon plus optimale
la phase de scrutation et la phase de transmission, en augmentant le nombre de bits
utiles dans chaque octet de données envoyé au microprocesseur.
[0027] L'invention sera mieux comprise, d'autres détails et d'autres avantages apparaîtront
à l'aide de la description ci-dessous et des figures l'accompagnant :
- la figure 1 représente le schéma synoptique d'un exemple de réalisation de la carte
d'interfaces d'une machine selon l'art antérieur;
- la figure 2 représente le schéma synoptique d'un exemple de réalisation de la carte
d'interfaces de la machine selon l'invention;
- la figure 3 représente le chronogramme de la transmission d'un ordre de mise en
marche ou d'arrêt du moteur, dans cet exemple de réalisation de la machine selon l'invention;
- la figure 4 représente le chronogramme de la transmission d'un ordre de scrutation
et de transmission, puis de la transmission de données vers le microprocesseur, dans
cet exemple de réalisation de la machine selon l'invention;
- la figure 5 représente le schéma synoptique du circuit intégré spécifique que comporte
cet exemple de réalistion de la machine selon l'invention.
[0028] La carte d'interfaces d'une machine selon l'art antérieur, dont le schéma est représenté
sur la figure 1, comporte :
- quatre codeurs de position, 1 à 4, chacun traduisant sous la forme d'un mot binaire,
respectivement : le chiffre des milliers, le chiffre des centaines, le chiffre des
dizaines, et le chiffre des unités, du timbre imprimé par la machine à l'instant considéré;
- quatre interrupteurs, SW1 à SW4, de commande manuelle;
- un décodeur 5, du type 74HC138 fabriqué par la Société RTC;
- un circuit d'entrée-sortie, du type PCF8574 fabriqué par la Société RTC;
- deux transistors, 7 et 8, montés en circuit Darlington, et une résistance R6, pour
constituer un dispositif de commutation de l'alimentation d'un moteur 10;
- un circuit 9 d'alimentation du moteur 10.
[0029] Le moteur 10 est relié à la carte d'interfaces par deux bornes 11 et 12. Un transformateur,
non représenté, qui n'est pas monté sur la carte d'interfaces, alimente le circuit
9 par deux bornes 13 et 14. Le reste de la carte d'interfaces est alimenté par une
tension continue fournie par la carte principale, qui n'est pas représentée. La carte
d'interfaces est reliée à la carte principale par un connecteur 30 à cinq contacts.
[0030] Un contact noté CDM, spécialisé pour la commande du moteur, fournit un signal binaire
qui commande directement les transistors 7 et 8 à travers la résistance R6. Un contact
noté SDA transmet des données sous forme série, du microprocesseur à une entrée du
circuit 6, et inversement. Un contact noté SCL transmet un signal d'horloge du microprocesseur
au circuit 6, pour cadencer la transmission des données dans les deux sens. Un contact
noté VDD apporte une tension d'alimentation de +5V. Un contact noté VSS apporte un
potentiel de référence.
[0031] Les codeurs 1 à 4 et les interrupteurs SW1 à SW4 réalisent des liaisons variables
entre cinq lignes et douze colonnes d'une matrice de conducteurs, chaque codeur constituant
une sous-matrice comportant cinq lignes et deux colonnes. Chaque codeur comporte cinq
bornes reliées respectivement aux cinq lignes de la matrice et comporte deux bornes
reliées à deux colonnes de la matrice. Chaque codeur comporte deux contacts mobiles
qui établissent une liaison entre la première des deux colonnes correspondant au codeur,
et l'une des cinq lignes; et une liaison entre la seconde des deux colonnes et une
autre ligne parmi les cinq lignes.
[0032] Chaque interrupteur SW1 à SW4 établit éventuellement une liaison entre une ligne
de la matrice et une colonne. Les cinq lignes de la matrice sont reliées au contact
VDD apportant une tension de + 5V, respectivement par cinq résistances R1 à R5 ayant
chacune une valeur de 2,7 kilo-ohms. La scrutation de l'un des codeurs consiste à
relier les deux colonnes correspondant à ce codeur, à un potentiel proche du potentiel
de référence et à déterminer le potentiel sur les cinq lignes de la matrice. Chaque
codeur code un chiffre, de 0 à 9, en fournissant sur les cinq lignes de la matrice
un mot binaire comportant deux niveaux bas et trois niveaux haut, lorsqu'il est scruté.
[0033] Chaque interrupteur SW1 à SW4 est scruté en reliant la colonne correspondante à un
potentiel proche du potentiel de référence. Si l'interrupteur est fermé, la ligne
à laquelle la colonne est reliée est au niveau bas. Sinon, cette ligne est au niveau
haut.
[0034] Le circuit 6 d'entrée-sortie série comporte huit ports, notés PO à P7, qui peuvent
être configurés individuellement soit en entrée soit en sortie, par un ordre d'écriture
envoyé par le microprocesseur. Il comporte en outre trois entrées : A0, A1, A2, permettant
de définir l'adresse du circuit 6 en tant qu'esclave du microprocesseur. Dans cet
exemple, ces trois entrées sont reliées au potentiel de référence. Les ports PO à
P4 sont reliés aux cinq lignes de la matrice, alors que les ports P5, P6, P7 sont
reliés à trois entrées : A, B, C du décodeur 5.
[0035] Le décodeur 5 possède huit sorties complé- mentées, notées YO à Y7. Chaqu'une de
ces sorties est constituée par une porte CMOS. Une seule des huit sorties est au niveau
bas à chaque instant. Elle est fonction de la valeur du mot binaire appliqué aux entrées
A, B, C. Les sorties YO à Y5 sont utilisées pour scruter les douze colonnes de la
matrice, alors que les sorties Y6 et Y7 ne sont pas connectées. L'une de ces deux
sorties Y6, Y7 est sélectionnée lorsque le microprocesseur commande une absence de
scrutation sur tous les codeurs et tous les interrupteurs, à la fin d'une séquence
de scrutation.
[0036] Chacune des sorties YO à Y5 scrute simultanément deux colonnes de la matrice par
l'intermédiaire de deux diodes permettant de maintenir l'indépendance de ces deux
colonnes quel que soit l'état des contacts reliant éventuellement ces deux colonnes
aux lignes de la matrice. De même, les interrupteurs SW1 à SW4 sont scrutés deux par
deux. Au total, la carte d'interfaces comporte douze diodes D1 à D12 pour remplir
cette fonction. Il apparaît , que chacune de ces diodes augmente de 0,7V le potentiel
correspondant au niveau bas des lignes de la matrice, en ajoutant leur chute de tension
de 0,7 V à une chute de tension de l'ordre de 0,4V existant entre le drain et la source
du transistor constituant chacune des sorties YO à Y5 du décodeur 5. Quand l'un des
ports PO à P4 est configuré en entrée, le potentiel sur la ligne reliée à ce port
est interprété comme un niveau bas s'il est inférieur à 1,5 V, par conséquent l'immunité
au bruit est égale à 0,4 V. Une pertubation produisant sur cette ligne de la matrice
un accroissement de + 0,4 V au moment de la scrutation sur les ports du circuit 6,
provoque donc une lecture erronée.
[0037] Il apparaît en outre que les diodes D1 à D12 augmentent le nombre de composants de
la carte d'interfaces; de même que la présence des deux transistors 7 et 8. D'autre
part, il apparaît que la séparation de l'interface de commande du moteur, en une partie
située sur la carte d'interfaces et une partie située sur la carte principale, nécessite
une liaison entre les deux cartes, par le contact noté CDM, ce qui augmente de 25
% le nombre de contacts du connecteur 11.
[0038] La communication entre le microprocesseur et le circuit 6 d'entrée-sortie série est
établie selon un protocole classique appelé 12C. Une transaction commence lorsque
le microprocesseur émet un signal de début de transaction, constitué par une descente
au niveau bas sur le conducteur des données, SDA, alors que le conducteur d'horloge,
SCL, est stable au niveau haut . Une transaction est terminée lorsque le microprocesseur
émet un signal de fin de transition, constitué par une remontée au niveau haut du
conducteur de données, SDA, alors que le conducteur d'horloge, SCL, a un niveau haut
stable.
[0039] Pour réaliser la scrutation d'un codeur, ou d'un groupe de deux interrupteurs, le
microprocesseur commence par configurer le circuit 6, par une opération d'écriture.
Par exemple, pour scruter le codeur 4 traduisant la valeur du chiffre des unités,
les ports PO à P4 sont configurés en entrées alors que les ports P5, P6, P7 sont configurés
en sorties fournissant un mot binaire 000 pour que le décodeur 5 fournisse un niveau
bas sur sa sortie YO et des niveaux hauts sur ses sorties Y1 à Y7, la sortie YO excitant
les deux colonnes du codeur 4. Pour réaliser cette configuration, le microprocesseur
émet : un signal de début, puis un octet composé des sept bits de l'adresse spécifique
du circuit 6, et d'un bit de commande de lecture ou d'écriture; suivi d'un octet de
données qui commande la configuration des ports PO à P7. Avant de transmettre ces
données, le microprocesseur vérifie qu'il reçoit un signal d'accusé de réception émis
par le circuit 6, sous la forme d'un niveau bas, pendant la 9ème période d'horloge.
De même, le microprocesseur vérifie qu'il reçoit un signal d'accusé de réception après
avoir transmis l'octet de données. Puis il envoie le signal de fin de transaction.
[0040] Pour lire les niveaux logiques sur les cinq ports PO à P4, le microprocesseur ordonne
ensuite une lecture. Pour cela, il émet un signal de début de transaction, suivi d'un
octet composé des sept bits de l'adresse propre au circuit 6, suivis du bit de lecture-écriture
indiquant une lecture. Puis il vérifie qu'il reçoit un accusé de réception émis par
le circuit 6, et constitué d'un niveau bas pendant la neuvième période d'horloge.
Il reçoit ensuite d'un octet indiquant les niveaux logiques lus sur les ports PO à
P7, parmi lesquels seuls les ports PO à P4 sont intéressants. Le microprocesseur émet
ensuite un accusé de réception, puis un signal de fin de transaction.
[0041] Pour scruter la valeur traduite par le codeur du chiffre des dizaines, 3, une séquence
analogue est recommencée, mais les ports P5 à P7 sont configurés en sorties avec des
niveaux différents pour que le décodeur 5 scrute le codeur 3, au lieu du codeur 4.
Une séquence analogue est recommencée pour scruter la valeur traduite par le codeur
2; puis pour scruter la valeur traduite par le codeur 1; puis pour scruter l'état
des interrupteurs SW3, et SW4; puis pour scruter l'état des interrupteurs SW1 et SW2.
Au total la scrutation de la matrice nécessite treize transactions, chaque transaction
correspondant à vingt impulsions d'horloge, sur le conducteur SCL. Comme la période
minimale admissible pour cette horloge, dans cet exemple de réalisation, est de 10
microsecondes, la durée minimale nécessaire pour scruter l'ensemble des codeurs et
des interrupteurs est donc de 2,6 millisecondes.
[0042] Pour neutraliser correctement l'effet des rebonds des contacts, il faut scruter ces
contacts environ toutes les 10 millisecondes. Dans ces conditions, le microprocesseur
passe un quart de son temps à scruter les codeurs et les interrupteurs. En outre,
le programme de scrutation comporte de nombreuses instructions, car il assure la gestion
de nombreux ordres d'écriture et de lecture destinés à la carte d'interfaces. Enfin,
le montage a pour inconvénient de consommer un certain courant pendant toute la durée
de la scrutation, soit 2,6 millisecondes au moins, toutes les 10 millisecondes. Dans
cet exemple de réalisation, ce courant a une intensité de 3 milliampères pendant la
scrutation. La puissance moyenne consommée est relativement élevée car elle est directement
proportionnelle à la durée de la scrutation.
[0043] La figure 2 représente le schéma synoptique d'un exemple de réalisation de la carte
d'interfaces d'une machine à affranchir, selon l'invention. Cette carte comporte :
- quatre codeurs de position, 21 à 24, analogues aux codeurs 1 à 4 décrits précédemment,
constituant chacun une sous-matrice à cinq lignes et deux colonnes;
- quatre interrupteurs, SW'1 à SW'4, analogues aux interrupteurs SW1 à SW4 décrits
précédemment;
- un circuit intégré spécifique de l'application, 25;
- un transistor de puissance 28;
- un circuit 26 d'alimentation, analogue au circuit d'alimentation 9 décrit précédemment,
pour alimenter un moteur 27.
[0044] La carte d'interfaces est reliée au moteur 27 par deux bornes 17 et 18, et à un transformateur
d'alimentation, non représenté, par deux bornes 19 et 20 qui sont reliées à deux entrées
du circuit d'alimentation du circuit 26. La borne 17 est reliée au collecteur du transistor
28 alors que la borne 18 est reliée à une sortie du circuit d'alimentation 26. La
carte d'interfaces est reliée en outre à une carte principale, portant un microprocesseur
16, par un connecteur 29.
[0045] La carte principale est représentée succinte- ment par son microprocesseur 16 et
par un connecteur 15 s'emboîtant dans le connecteur 29. Cette carte comporte notamment
un circuit d'alimentation, non représenté, fournissant une tension de + 5V. Le connecteur
29 comporte quatre contacts seulement.
[0046] Un contact noté SDA est relié à un conducteur transmettant des données sous forme
série, dans les deux sens. Un contact noté SCL est relié à un conducteur transmettant
un signal d'horloge envoyé par le microprocesseur 16 pendant les transactions. Un
contact noté VDD reçoit une tension d'alimentation continue de +5V. Un contact noté
VSS est relié à un conducteur amenant le potentiel de référence.
[0047] Le circuit intégré spécifique 25 comporte deux entrées reliées respectivement aux
deux contacts SDA et SCL du connecteur 29, pour communiquer avec le microprocesseur
16. Il comporte en outre : six entrées notées E2 à E7 qui sont reliées respectivement
à six lignes d'une matrice de conducteurs; une sortie notée MOT qui est reliée à la
base du transistor 28 par une résistance R13; et des sorties : UNIO, UNI1, UN12, DIZO,
DIZ1, DIZ2, CENTO, CENT1, CENT2, MIO, M11, M12, qui sont reliées respectivement aux
douze colonnes de la matrice. Chacun des codeurs 21 à 24 comporte deux bornes reliées
respectivement à deux colonnes de la matrice; et comporte cinq secondes bornes reliées
respectivement à cinq lignes de la matrice, la sixième ligne étant indépendante des
codeurs mais étant commune au quatre interrupteurs SW'1 à SW'4.
[0048] Chacun de ces interrupteurs est relié à une colonne distincte, et établit une liaison
entre cette colonne et la sixième ligne de la matrice. Les six lignes de la matrice
sont reliées à la tension d'alimentation, respectivement par six résistances R7 à
R12 ayant chacune une valeur de 1,2 kilo-ohm. Le schéma ne comporte pas de diodes
puisque chaque colonne de la matrice est scrutée par une sortie indépendante, UNIO,...,
M12, du circuit intégré spécifique 25. Ceci supprime les inconvénients du coût, de
l'encombrement, et de la réduction de l'immunité au bruit, qui étaient dûs aux diodes
D1 à D12 de la carte d'interfaces décrite précédemment.
[0049] Les sorties UNIO à M12 sont constituées respectivement par des transistors du type
MOS à drain ouvert, alors que la sortie MOT est contituée d'une paire complémentaire
de transistors du type MOS.
[0050] Le circuit intégré spécifique 25 a essentiellement trois fonctions, déclenchées respectivement
par trois ordres uniques envoyés par le microprocesseur 16 selon le protocole 12C
: un ordre unique pour commander la mise en marche du moteur; un ordre unique pour
commander une mise à l'arrêt du moteur; et un ordre unique pour commander une scrutation
de tous les codeurs et de tous les interrupteurs.
[0051] La figure 3 représente un chronogramme de la transaction entre le microprocesseur
16 et le circuit 25, constituant un ordre pour commander le moteur, qui remplace la
liaison par le conducteur noté CDM dans la carte d'interfaces selon l'art antérieur,
décrite précédemment. La transaction débute par un signal de début, constitué par
un passage au niveau bas du conducteur SDA, alors que le conducteur SCL est stable
au niveau haut. Le microprocesseur 16 envoie ensuite une adresse de sept bits, propre
au circuit intégré 25, puis un bit de lecture-écriture, noté R/W, pendant en huitième
période d'horloge. En l'occurrence, le bit R/W est un bit d'écriture, constitué par
un niveau bas. Puis le circuit 25 répond par un accusé de réception, noté ACK, constitué
par un niveau bas sur le conducteur SDA pendant la neuvième période de l'horloge envoyée
sur le conducteur SCL.
[0052] Quand le microprocesseur 16 a détecté cet accusé de réception, il envoie un mot de
commande, de huit bits, qui a la valeur hexadécimale 6A ou EA pour commander une mise
en marche du moteur; ou qui a une valeur hexadécimale différente de 6A et EA pour
arrêter le moteur. Quand il a reçu ce mot de commande, le circuit 25 émet un accusé
de réception, noté ACK, constitué par un niveau bas sur le conducteur SDA pendant
la durée de la neuvième période d'horloge, comptée à partir du premier bit du mot
de commande. Enfin, le microprocesseur 16 envoie un signal de fin de transaction,
constitué par une transition au niveau haut sur le conducteur SDA alors que le conducteur
SCL a un niveau haut stable. Le circuit 25 impose une tension voisine de +5V ou de
0V sur sa sortie MOT, selon que l'ordre est une mise en marche ou une mise à l'arrêt
de l'alimentation du moteur 27.
[0053] La figure 4 représente un chronogramme de la transaction entre le circuit 25 et le
microprocesseur 16, constituant l'ordre de scrutation et de transmission, puis la
transmission effective des valeurs traduites par les codeurs 21 à 24, et de l'état
des interrupteurs SW'1 à SW'4. Le microprocesseur 16 envoie un ordre unique qui est
constitué tout d'abord d'un signal de début de transaction, puis de l'adresse propre
au circuit intégré 25, puis d'un bit de lecture-écriture R/W. En l'occurrence, c'est
un bit de lecture constitué d'un niveau haut sur le conducteur SDA pendant la durée
de la huitième période d'horloge sur le conducteur SCL. La réponse du circuit 25 est
: un accusé de réception, ACK, constitué par un niveau bas sur le conducteur SDA pendant
la neuvième période de l'horloge; puis un premier octet de données constitué de bits
B7, B6, B5, B4, B3, B2, M, et d'un bit de bourrage. Ces bits B7 à B2 représentent
respectivement : les états des entrées E7 à E2 lorsque le codeur 21 et l'interrupteur
SW'1 sont scrutés en mettant au niveau bas les sorties MIO, M11, et M12. Le bit M
représente l'état de la commutation de l'alimentation du moteur.
[0054] Le microprocesseur 16 répond brièvement en envoyant un accusé de réception, ACK',
constitué par un bit au niveau bas sur le conducteur SDA pendant la neuvième période
d'horloge sur le conducteur SCL, comptée à partir du premier bit de données. Quand
le circuit 25 a reçu cet accusé de réception ACK', il envoie un deuxième octet de
données représentant l'état des entrées E7 à E2 quand le codeur 22 et l'interrupteur
SW'2 sont scrutés en mettant au niveau bas les sorties CENTO, CENT1, CENT2; et représentant
l'état de la commutation de l'alimentation du moteur.
[0055] Le microprocesseur 16 répond brièvement en envoyant un accusé de réception ACK'.
Après réception de cet accusé de réception ACK', le circuit 25 envoie un troisième
octet de données représentant l'état des entrées E7 à E2 quand le codeur 23 et de
l'interrupteur SW'3 sont scrutés en mettant au niveau bas les sorties DIZO, DIZ1,
DIZ2; et représentant l'état de la commutation de l'alimentation du moteur.
[0056] Le microprocesseur 16 répond par un accusé de réception ACK'. Après réception de
cet accusé de réception ACK', le circuit 25 envoie un quatrième octet de données représentant
l'état des entrées E7 à E2 quand le codeur 24 et de l'interrupteur SW'4 sont scrutés
en mettant au niveau bas, les sorties UNIO, UNI1, UN12; et représentant l'état de
la commutation de l'alimentation du moteur. Le microprocesseur 16 répond en envoyant
un accusé de réception ACK'. Puis, comme il n'y a plus de données à transmettre, il
envoie un signal de fin de transaction. La transaction comporte cinq octets au lieu
de vingt six.
[0057] Le nombre des entrées E2,...,E7 reliées aux lignes de la matrice a été augmenté par
rapport au nombre des ports PO,...,P4 configurés en entrées, dans la carte d'interfaces
selon l'art antérieur. Le nombre de lignes de la matrice a été augmenté ainsi de cinq
à six. Grâce à ce moyen, les codeurs et les interrupteurs sont scrutés par groupe,
chaque groupe comportant un codeur et un interrupteur, dans cet exemple. Ceci permet
de minimiser le nombre d'octets de données à transmettre au microprocesseur, car chaque
octet de données contient six bits utiles, au lieu de cinq. Dans cet exemple, quatre
octets suffisent à transmettre les données résultant de la scrutation. La transaction
comporte donc cinq octets, au lieu de sept si les interrupteurs constituaient deux
groupes séparés des codeurs, comme c'était le cas dans l'art antérieur.
[0058] Si la période de l'horloge sur le conducteur SCL est de 10 microsecondes, la scrutation
dure moins de 0,5 millisecondes, ce qui est environ 5 fois moins que dans l'exemple
de machine selon l'art antérieur, décrite précédemment.
[0059] D'autre part, la scrutation de l'état d'un codeur et d'un interrupteur ne dure pas
pendant la durée de transmission d'un octet, mais ne dure en fait que pendant la durée
d'une période d'horloge précédant cette transmission, c'est-à-dire ne dure que 10
microsecondes. Dans cet exemple, les codeurs ne consomment donc du courant que pendant
4 fois 10 microsecondes, soit 0,04 milliseconde au lieu de 2,6 millisecondes dans
l'exemple de machine selon l'art antérieur. La consommation d'énergie dans la carte
d'interfaces est donc sensiblement réduite.
[0060] Cette réduction de consommation permet facilement d'augmenter l'intensité du courant
passant dans chaque contact, dans le but d'améliorer la fiabilité des contacts lorsqu'il
se forme une couche d'oxyde ou une couche de poussière. C'est pourquoi les résistances
R7 à R12 ont une valeur de 1,2 kilo-ohm au lieu de 2,7 kilo-ohms. Cette diminution
de résistance permet de doubler environ l'intensité du courant passant dans chaque
contact, tout en bénéficiant néanmoins d'une sensible réduction de la consommation
d'énergie dans la carte d'interfaces.
[0061] La durée de scrutation est réduite par un facteur cinq: 0,5 milliseconde au lieu
de 2,6 millisecondes, ce qui libère du temps de calcul du microprocesseur. Le programme
pilotant le microprocesseur est très allégé puisqu'un seul ordre suffit à scruter
l'ensemble des codeurs et des interrupteurs. Par conséquent, le programme nécessite
une moindre capacité de mémoire, ce qui libère de la place pour d'autres applications,
ou bien permet de réduire la taille de cette mémoire.
[0062] La figure 5 représente le schéma synoptique d'un exemple de réalisation d'un circuit
intégré spécifique 25 réalisant les fonctions décrites précédemment. Il peut être
réalisé selon la technologie CMOS. Cet exemple comporte :
- un oscillateur 62, constitué d'une série d'inverseurs logiques rebouclées pour osciller
avec une période d'environ 0,1 microseconde;
- deux filtres numériques classiques, 61 et 63, ayant chacun une entrée reliée respectivement
au conducteur SDA et au conducteur SCL, pour éliminer les parasites superposés aux
signaux transmis sur ces conducteurs;
- un registre à décalage 60 dans lequel sept bits peuvent être inscrits ou lus, en
série ou en parallèle;
- un décodeur 65 pour décoder l'adresse propres au circuit intégré spécifique 25;
- un décodeur 66 pour décoder les mots de commande propre à la mise en marche du moteur;
- un circuit 67 pour détecter le signal de début de transaction et le signal de fin
de transaction;
- un compteur par neuf, 68;
- un séquenceur 69, constitué essentiellement de quatre bascules et de portes logiques
non représentées, pour mémoriser quatre phases de fonctionnement qui s'excluent mutuellement;
- un dispositif d'initialisation 80, qui fonctionne à la mise sous tension du circuit
25;
- une bascule 81 pour mémoriser l'état de la commutation de l'alimentation du moteur;
- un préamplificateur 82 ayant une sortie constituant la sortie MOT du circuit 25;
- un compteur par cinq, 71;
- un décodeur 70, ayant cinq sorties dont l'une est sélectionnée au moyen d'un mot
de trois bits;
- douze interfaces de sortie, 40 à 51, constituées chacune d'un transistor de type
MOS à drain ouvert, constituant respectivement les sorties UNI0,...,MI2 du circuit
25;
- des portes logiques ET, 31 à 37, 59, 64 et 72.
[0063] Le signal d'horloge fourni par le conducteur SCL constitue un signal d'horloge noté
H1, après filtrage par le filtre 63. Il est appliqué à : une entrée d'horloge du registre
60; une entrée d'horloge du détecteur 67; et une entrée d'horloge du compteur 68.
L'oscillateur 62 fournit un signal d'horloge H2 aux deux filtres 61 et 63, et à une
entrée d'horloge du séquenceur 69. Le signal de données fourni par le conducteur SDA
est filtré par le filtre 61 puis est fourni, d'une part, à une entrée de données du
détecteur 67 et, d'autre part, à une première entrée de la porte ET 64.
[0064] Une sortie du détecteur 67 est reliée à une entrée du séquenceur 69 pour lui fournir
un signal logique pendant toute la durée d'une transaction. Une sortie du séquenceur
69 est reliée à une seconde entrée de la porte ET 64, et une sortie de cette dernière
est reliée à une entrée série du circuit 60. Le registre 60 est chargé en série, en
validant la porte ET 64, pour charger une adresse reçue ou charger un mot de commande
du moteur, au rythme fixé par l'horloge H1. Le registre 60 possède sept étages ayant
sept sorties parallèle reliées respectivement à sept entrées du décodeur 65 et à sept
entrées du décodeur 66.
[0065] La sortie du premier étage du registre 60 est reliée à une entrée du séquenceur 69.
Cette sortie fournit le bit R/W de commande de lecture-écriture, ou le bit d'accusé
de réception ACK', pendant certaines périodes de l'horloge H1.
[0066] Le registre 60 possède sept entrées parallèles qui sont reliées respectivement aux
sorties des portes ET 31 à 37. Une première entrée de chaque porte ET 31 à 36 constitue
respectivement une des entrées E7 à E2 du circuit 25. Une première entrée de la porte
ET 37 est reliée à la sortie de la bascule 81 mémorisant l'état de la commutation
de l'alimentation du moteur, par une liaison notée EM, interne au circuit intégré
spécifique 25. Une seconde entrée de chacune des portes 31 à 37 est reliée à une sortie
du séquenceur 69 pour commander le chargement de sept bits en parallèles dans le registre
60.
[0067] Le décodeur 65 et le décodeur 66 ont chacun une sortie reliée respectivement à une
entrée du séquenceur 69. Lorsque le décodeur 65 reconnaît l'adresse propre au circuit
intégré 25, il fournit un signal à entrée du séquenceur 69. Le registre 60 possède
une sortie série reliée à une première entrée de la porte ET 59. Une seconde entrée
de cette porte est reliée à une sortie du séquenceur 69, qui commande une transmission
série vers le microprocesseur, et une sortie de cette porte 59 est reliée au conducteur
SDA.
[0068] Le compteur 68 possède : une entrée d'horloge reliée à la sortie du filtre 63; une
entrée de validation reliée à une sortie du séquenceur 69; une première sortie reliée
à une entrée du séquenceur 69 pour lui fournir une impulsion pendant la durée de chaque
huitième période de l'horloge H, qui correspond à la réception d'un bit R/W; une seconde
sortie reliée à une entrée du séquenceur 69 et à une première entrée de la porte ET72.
[0069] Le compteur 68 est un compteur par neuf qui compte les impulsions du signal d'horloge
H1. Sa seconde sortie fournit un autre signal d'horloge noté H3 constitué d'une impulsion
pour chaque neuvième impulsion du signal d'horloge H1. Chaque impulsion du signal
d'horloge H3 correspond donc à l'intervalle temporel réservé à l'émission d'un signal
d'accusé réception ACK par le circuit 25 ou à la réception d'un signal de réception
ACK' envoyé par le microprocesseur 16.
[0070] Une seconde entrée de la porte ET 72 est reliée à une sortie du séquenceur 69. La
sortie de la porte 72 est reliée à une entrée d'horloge du compteur 71.
[0071] Le compteur 71 est un compteur par cinq qui compte cinq périodes de l'horloge H3
pour scruter successivement quatre groupes, chaque groupe étant constitué d'un codeur
et d'un interrupteur; et qui compte une cinquième période de l'horloge H3 pour revenir
à une absence de scrutation. Le compteur 71 possède trois sorties reliées respectivement
à trois entrées du décodeur 70. Ce dernier possède cinq sorties dont une seule est
sélectionnée à la fois, en fonction de la valeur du mot binaire appliqué aux trois
entrées. Ces sorties sont notées SO,...,S4 et sont sélectionnées dans cet ordre lorsque
le compteur 71 est incrémenté. La sortie SO est reliée en parallèle aux entrées des
interfaces de sortie 49, 50, 51 qui correspondent respectivement à trois sorties MIO,
M11, M12, du circuit 25. De même les sorties S1, S2, S3 commandent chacune un groupe
de trois interfaces de sortie. La sortie S4 est reliée à une entrée de séquenceur
69. Elle fournit un signal logique, noté FIN, lui indiquant la fin de la scrutation
des quatre groupes de codeurs et d'interrupteurs, afin de ramener le séquenceur 69
dans une phase de repos.
[0072] Le dispositif d'initialisation 80 possède une sortie reliée à une entrée d'initialisation
du séquenceur 69 et à une entrée d'initialisation de la bascule 81, pour mettre le
séquenceur 69 dans une phase de repos, et pour couper l'alimentation du moteur 27
au moment où la machine à affranchir est mise sous tension.
[0073] La bascule 81 possède une entrée de données reliée à une sortie du séquenceur 69,
pour mémoriser un ordre de mise en marche ou de mise à l'arrêt. La sortie de la bascule
81 est reliée à une entrée du préamplificateur 82. La sortie de la bascule 81 est
reliée aussi, à l'intérieur du circuit intégré 25, à une première entrée de la porte
ET 37. La seconde entrée de la porte ET 37, de même que les secondes entrées des portes
ET 31 à 36 sont reliées à une sortie du séquenceur 69 qui commande le chargement en
parallèle d'un mot de sept bits de données dans le registre 60, pour leur transmission
sous forme de série. Ainsi l'état de la commutation de l'alimentation, et donc l'état
du moteur, sera transmis au microprocesseur 16 dans le même octet qui transmettra
l'état des entrées E7 à E2.
[0074] Le séquenceur 69 est dans une phase de repos à la suite d'une initialisation par
le dispositif 80, à la mise sous tension; ou à la suite d'un signal de fin de scrutation
fourni par la sortie S4 du décodeur 70; ou après l'éxécution d'un ordre de mise en
marche ou de mise à l'arrêt du moteur; ou à la suite de la détection d'un signal de
fin de transaction, par le détecteur 67.
[0075] Le séquenceur 69 passe dans une phase d'activation dès qu'un signal de début de transaction
est détecté par le détecteur 67. Il commande alors la porte ET 64 pour charger dans
le registre 60 les bits transmis par le microprocesseur 16. Il valide le compteur
68. A la fin de la septième impulsion d'horloge H3, le signal fourni par la sortie
du décodeur d'adresse 65 est mémorisé par le séquenceur 69. Si ce signal n'indique
pas que l'adresse propre au circuit 25 a été détectée, le séquenceur 69 bloque l'émission
d'un accusé de réception ACK, puis il passe en phase de repos à la fin de la neuvième
impulsion d'horloge H3. Dans le cas contraire, il émet un accusé de réception ACK
sur le conducteur SDA en imposant un niveau bas, pendant la neuvième période de l'horloge
H3. Ensuite, il passe dans la phase de scrutation et transmission, ou bien dans la
phase de commande du moteur, selon la valeur du bit R/W, qui lui est fourni par la
sortie du premier étage du registre 60 pendant la huitième période de l'horloge H3.
[0076] Si le bit R/W est au niveau bas, il indique un ordre de commutation de l'alimentation
du moteur. Le séquenceur 69 entre alors dans une phase de commande du moteur. Le mot
de commande du moteur est chargé dans le circuit 60 puis est décodé par le circuit
66 qui fournit un signal logique au séquenceur 69. Si le mot de commande a la valeur
hexadécimale 6A ou EA, le décodeur 66 fournit un niveau haut qui correspond à une
mise en marche du moteur. Si le mot de commande a une autre valeur, le décodeur 66
fournit un niveau bas qui correspond à une mise à l'arrêt. La sortie du séquenceur
69 qui est reliée à une entrée de commande de la bascule 81 y inscrit la valeur de
ce signal logique. Si c'est un ordre de mise en marche, le préamplificateur 82 fournit
à la sortie MOT un courant pour saturer le transistor de puissance 28.
[0077] Après le décodage du mot commandant le moteur, le séquenceur 69 envoie un accusé
de réception ACK au microprocesseur, en imposant un niveau bas sur le conducteur SDA,
par l'intermédiaire de la porte ET 59; puis retourne dans une phase de repos. Le moteur
reste en marche s'il a été mis en marche ou bien reste à l'arrêt s'il vient d'être
mis à l'arrêt.
[0078] Si le bit R/W est au niveau haut, il indique un ordre de scruter toutes les valeurs
traduites par les codeurs et tous les états des interrupteurs, et de les transmettre.
Le séquenceur 69 entre alors dans une phase de scrutation et de transmission. Pour
chaque groupe constitué d'un codeur et d'un interrupteur, le décodeur 70 sélectionne
un groupe de trois interfaces de sortie, par exemple 40, 41, 42, pour amener à un
potentiel proche de potentiel de référence trois colonnes de la matrice. Le séquenceur
69 valide les portes 31 à 37, 72, et 59, pour charger sept bits de données en parallèle
dans le registre 60 puis les transmettre en série sur le conducteur SDA, avec un huitième
bit constituant un bourrage.
[0079] Le microprocesseur 16 envoie un accusé de réception ACK', constitué d'un niveau haut,
pendant la période d'horloge qui suit les huit périodes de transmission d'un octet
de données. Cet accusé de réception est chargé dans le premier étage du registre 60
sous la commande de chaque neuvième impulsion de l'horloge H1. La sortie du premier
étage fournit cet accusé de réception ACK' au séquenceur 69.
[0080] Cette séquence est recommencée pour les deuxième, trosième, et quatrième groupe de
codeurs et interrupteurs.
[0081] A la fin de la scrutation, le signal de fin fournit par le décodeur 70 provoque le
retour du séquenceur 69 dans la phase de repos. Si le circuit 25 ne reçoit pas un
accusé de réception ACK' pour le premier, ou le deuxième, ou le troisième octet de
données, le séquenceur 69 retourne à une phase de repos et attend un nouvel ordre
commençant par un signal de début.
[0082] La transmission de l'état du moteur du circuit 25 au microprocesseur permet de réaliser
une commande très fiable du moteur, puisqu' une erreur de transmission, affectant
le mot de commande du moteur, est détectée rapidement, lors de la scrutation suivante,
grâce au bit M qui est retransmis au microprocesseur. D'autre part, il est à remarquer
que le nombre de valeurs (6A ou EA) du mot de commande déclenchant la mise en marche
du moteur est très inférieur au nombre de valeurs (deux cent cinquante six) provoquant
l'arrêt du moteur. Une perturbation de la transmission a donc beaucoup plus de chance
de provoquer un arrêt du moteur, plutôt qu'une mise en marche intempestive.
[0083] La portée de l'invention n'est pas limitée à l'exemple de réalisation décrit ci-dessus,
l'homme de l'art peut l'adapter notamment pour scruter un autre nombre de codeurs
et d'interrupteurs; et peut éventuellement les grouper différemment. Il peut l'adapter
aussi au cas où le microprocesseur est relié aux interfaces par un bus à transmission
parallèle, au lieu d'un bus à transmission série.