(19)
(11) EP 0 464 778 A1

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
08.01.1992  Bulletin  1992/02

(21) Numéro de dépôt: 91110957.7

(22) Date de dépôt:  02.07.1991
(51) Int. Cl.5G07B 17/02
(84) Etats contractants désignés:
DE FR GB

(30) Priorité: 04.07.1990 FR 9008489

(71) Demandeur: NEOPOST INDUSTRIE
F-92220 Bagneux (FR)

(72) Inventeur:
  • Vermesse, Bernard
    F-94240 l'Hay les Roses (FR)

(74) Mandataire: Weinmiller, Jürgen et al
Lennéstrasse 9 Postfach 24
82336 Feldafing
82336 Feldafing (DE)


(56) Documents cités: : 
   
       


    (54) Machine à affranchir le courrier, comportant un circuit imprimé spécifique constituant des interfaces


    (57) L'invention concerne une machine à affranchir le courrier, imprimant des timbres en comptabilisant les valeurs de ces timbres, et comportant :

    - un moteur (27) et des molettes portant des chiffres en relief pour imprimer un timbre;

    - un microprocesseur (16) pour commander le moteur, et pour comptabiliser la valeur de chaque timbre;

    - des codeurs (21 à 24) pour traduire sous forme de mots binaires les valeurs des chiffres du timbre imprimé; et les états des interrupteurs (SW'1 à SW'4) de commande manuelle;

    - des interfaces constituées essentiellement d'un circuit intégré spécifique à l'application (ASIC) (25) comportant des moyens pour recevoir et exécuter un ordre de mise en marche du moteur (27); ou un ordre de mise à l'arrêt du moteur; ou un ordre unique déclenchant une scrutation et une transmission des valeurs traduites par tous les codeurs (21 à 24) et des états de tous les interrupteurs (SW'1 à SW'4).




    Description


    [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.


    Revendications

    1. Machine à affranchir le courrier, imprimant des timbres en comptabilisant les valeurs de ces timbres, comportant :

    - un moteur (27) et des molettes portant des chiffres en relief, pour imprimer un timbre ;

    - un microprocesseur (16) pour commander le moteur, et pour comptabiliser la valeur de chaque timbre imprimé;

    - des codeurs de position (21 à 24), reliés respectivement aux molettes pour traduire sous forme de mots binaires les valeurs des chiffres du timbre imprimé;

    - et des interrupteurs (SW'1 à SW'4) 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;


    caractérisée en ce que la première interface comporte un circuit logique intégré (25), spécifique de cette application, comportant des moyens (31 à 72) pour scruter et pour transmettre, au microprocesseur(16), les valeurs traduites par tous les codeurs (21 à 24), et les états de tous les interrupteurs (SW'1 à SW'4) de ladite machine, suite à la réception d'un ordre unique envoyé par le microprocesseur (16).
     
    2. Machine selon la revendication 1, caractérisé en ce que la seconde interface est intégrée dans le même circuit intégré spécifique (25) que la première interface; et comporte, en commun avec la première interface :

    - un bus (SDA, SCL) relié au microprocesseur (16);

    - des moyens (61 à 63) pour filtrer des signaux envoyés par le microprocesseur (16);

    - des moyens (60) pour mettre un parallèle des données binaires reçues en série;

    - des moyens (65) pour décoder une adresse;

    - des moyens (67) pour détecter un signal de début de transaction et un signal de fin de transaction, envoyés par le microprocesseur;


    et en ce qu'elle comporte, en propre

    - des moyens (81) pour mémoriser l'état de la commutation de l'alimentation du moteur;

    - au moins une partie (82) d'un amplificateur de commutation pour commuter l'alimentation du moteur (27).


     
    3. Machine selon la revendication 2, caractérisée en ce que le circuit intégré spécifique (25) comporte une liaison interne (EM) reliant la seconde interface à la première interface pour transmettre au microprocesseur, en même temps que des bits (B2,...,B7) représentant les valeurs traduites par les codeurs (21 à 24) et représentant les états des interrupteurs (SW'1 à SW'4), un bit (M) indiquant l'état du moteur (27) : en marche ou à l'arrêt.
     
    4. Machine selon la revendication 2, caractérisée en ce que la première et la seconde interface comportent en outre, en commun, dans ledit circuit spécifique (25), un séquenceur (69) 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 (25) 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 (25) reçoit, à la suite de son adresse, un bit indiquant un ordre de scrutation et 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 (27), consécutive à une phase d'activation, si ledit circuit intégré spécifique (25) reçoit, à la suite de son adresse, un bit indiquant un ordre de commutation de l'alimentation du moteur, en marche ou à l'arrêt.


     
    5. Machine selon la revendication 1, comportant des codeurs (21 à 24) et des interrupteurs (SW1 à SW4) réalisant des liaisons variables entre des lignes et des colonnes d'une matrice de conducteurs, caractérisée en ce que ledit circuit intégré spécifique (25) comporte des sorties (UNI1, UN12,...) en nombre au moins égal au nombre de colonnes de la matrice, et qui sont reliés respectivement auxdites colonnes.
     
    6. Machine selon la revendication 5, caractérisé en ce que ledit circuit intégré spécifique (25) 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 (21 à 24); au moins une ligne de matrice n'étant reliée qu'à des interrupteurs de commande manuelle (SW'1 à SW'4), les codeurs (21 à 24) et les interrupteurs (SW'1,...,SW'4) étant connectés en groupes (21-SW'1, 22-SW'2,...), 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.
     




    Dessins
















    Rapport de recherche