FR 2616240 A1 19881209 FR 8707943 A 19870605 Procédé et dispositif d'analyse par un microprocesseur des états d'un panneau de commande La présente invention concerne un procédé et un disposi- tif d'analyse par un microprocesseur des états d'un panneau de commande, ce dernier étant du type comprenant un ensemble clavier-commutateur et un écran d'affichage. Dans les architectures connues à microprocesseur,.l'analy-. se de l'état des unités périphériques est effectuée au moyen de signaux d'interrogation qui sont émis périodiquement par un microprocesseur à destination de chaque unité. C'est le cas par exemple des ensembles claviers-commutateurs de certains appareils émetteurs-récepteurs.radio o les fréquences et les modes de fonctionnement sont affichés au moyen d'un clavier ou de commutateurs et sont lus périodiquement par un microprocesseur. Cependant ce procédé est souvent la cause de perturbations électriques qui se manifestent sous la forme d'impulsions qui nuisent au bon fonctionnement des ensembles ainsi réalisés. Dans les émetteurs-récepteurs radioélectriques par exemple, la proximité de la logique d'analyse des états du clavier de commande de la borne d'antenne est parfois la cause d'apparitions de signaux parasites qui altèrent le signal détec- té par l'antenne à chaque instant d'analyse des états du cla- vier. D'autre part, pour les émetteurs portables ou portatifs alimentés en énergie électrique par des piles ou des accumula- teurs, la lecture périodique des états des claviers ou des commu- tateurs. consomment une énergie qui est non négligeable lorsque la fréquence d'analyse est élevée, ce qui limite leur durée d'utilisation. Le but de l'invention est de pallier. les inconvénients précités. A cet effet, l'invention a pour objet, un procédé d'analy- se par. un microprocesseur des états d'un ensemble clavier-commutateur d'un panneau de commande caractérisé en ce qu'il consiste à déclencher dans le mnicroprocesseur la lecture de l'état électrique de l'ensemble clavier-commutateur à chaque changement d'état d'au moins un élément de l'ensemble clavier-commutateur, dès l'apparition d'un changement d'état. D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à l'aide de la description faite en regard de la figure annexée qui représente un ensemble clavier-commutateur d'un panneau de commande d'un appareil quelconque couplé à un microprocesseur. Sur cette figure un ensemble clavier-eommutateur, composant un panneau de com- mande, est représenté à l'intérieur d'une ligne fermée en poin- tillés 1, couplé à un nmicroprocesseur 2. Le panneau se compose d'un ensemble de n commutateurs numériques BCD à 10 posi- tions, référencés de 31 à 3n, BCD étant l'abréviation du terme anglosaxon "Binary coded decimal". Chaque position d'un commutateur est repérable par une combinaison binaire de 4 signaux, celle-ci apparaissant sur les sorties marquées P1, P2' P3 et P4 des commutateurs. Les sorties P1 à P4 sont reliées respectivement au travers de 4 diodes, portant les références D1 à D4 à une même ligne d'une matrice de connexion formée par n colonnes portant les références c à cn, et 4 lignes portant les références.1 à 14. Ainsi les sorties P sont reliées à la ligne 1 au travers respectivement une diode D1, les sorties P2 sont reliées à la ligne 12 au travers respectivement une diode D2 etc... et la sortie P4 est reliée à la ligne 14 au travers une diode D4. Chaque commutateur 31 à 3n est relié d'autre part, par une borne d'entrée Pc, respectivement à une colonne c1 à en de la matrice de connexion. D'une façon générale, le cAblage précédent peut être étendu à celui de commutateurs possédant un nombre quelconque P de positions. La matrice de connexion comportera alors S lignes en nombre égal à celui des sorties des commutateurs, le nombre S étant tel que la relation 2S >, P soit vérifiée. Le panneau comprend également une matrice de m2 touches ou boutons poussoirs représentés à l'intérieur d'une ligne fermée en pointillés 4, chaque bouton poussoir étant placé au croisement 4ij d'une ligne i et d'une colonne j de la matrice 4. L'ensemble commutateur-touche ainsi formé constitue donc une matrice de 14+m lignes référencées de 11.. 14,m et de n+m colonnes référencées de c1... cnm Chacune des lignes * 5 possèdent une première extrémité reliée à un potentiel +u au travers d'une résistance R portant respectivement les références R1, R2... R4+m sa deuxième extrémité étant reliée à une entrée d'un registre tampon 5. Chacune des colonnes c à cnm possède une première extrémité reliée à une sortie d'un démultiplexeur 7 à n+m sorties et une deuxième extrémité qcui est reliée au circuit de masse formant la référence des potentiels des circuits représentés sur la figure, au travers d'une résistance R', les résistances R' portant sur la figure les références R' à R' 1 n+m' Le démultiplexeur 7 est relié sur ses entrées de commande 8 à un bus d'adresses 9 du microprocesseur 2. Chaque colonne de la matrice de touche 4 est reliée à un générateur de parité et chaque colonne c1 à cn de la matrice de commutateur est reliée à un générateur de parité 11. Les signaux qui transitent sur les lignes de la matrice transitent dans le registre tampon avant d'être appliqués- sur le bus de données 13 du microprocesseur 2. Les sorties des générateurs de parité 10 et 11il sont reliées respectivement A des entrées d'interruption IT1 et IT2 du microprocesseur 2. Le fonctionnement est décrit ci-après suivant un premier mode o le microprocesseur 2 est en "attente" d'un changement d'état d'au moins un élément du tableau de commande et suivant un deuxième mode o un changement d'état intervient. Suivant le premier mode de fonctionnement qui peut encore être appelé mode "attente" ou "STAND BY" dans le langage anglo-saxon, les lignes de la matrice de touches sont placées à l'état- 1 et les colonnes- sont 'placées dans l'état 0. Les sorties du démultiplexeur 7 sont dans l'état haute impédance et aucun courant ne circule dans les résistances R' placées au pied des colonnes de la matrice. Par contre dans l'état stable des commutateurs, il existe toujours au moins une connexion entre une colonne c1... cn et une ligne 11... 1 de la matrice de connexion, et un courant circule dans chaque diviseur potentiométrique formé par les résistances R et R' reliées aux lignes et aux colonnes de la matrice de connexion, ce qui fait apparaître des tensions aux bornes de chaque résistance R' correspondante. Les générateurs de parité 10 et 11 reflètent naturellement l'état stable qui est ainsi obtenu et ie microprocesseur 2 qui n'est pas sollicité reste dans un mode de fonctionnement o il ne consomme que très peu d'énergie. Le mode "attente" ou "STAND BY" peut être assuré par les fonc- tions "attente" ou "WAIT" ou encore "arrêt" ou "STOP" communs à tous les microprocesseurs. Dans la fonction "arrêt" ou "STOP" toute horloge est inhibée et la consommation en courant est très faible. En contrepartie, le temps de réveil de certain microprocesseur est relativement long de l'ordre de 100 millisecondes, de sorte que pour certaines applications les modes "arrêt" ou "STOP" peuvent apparaître incompatibles avec la saisie sous interruption d'un appui touche. Par contre, dans les modes "attente" ou "WAIT" dans lesquels seule l'horloge du microprocesseur est activée, la consommation en courant reste encore très faible et le temps de réveil qui est de l'ordre de quelques microsecondes apparaît alors tout A fait acceptable pour la majorité des applications o le procédé et le dispositif de l'invention seront employés. Le microprocesseur 2 quitte l'état "attente" ou "STAND BY" dès qu'une touche ou qu'un changement d'état intervient sur un commutateur du panneau de commande. Une touche enfoncée produit un court-circuit au croise- ment de la ligne et de la colonne de la matrice qui lui corres- pond. Ce court-circuit porte à un potentiel haut la eolonne correspondante grâce au courant qui circule dans le diviseur potentiométrique formé par les résistances R et R' placées aux extrémités de la ligne et de la colonne. ainsi court-circuitée, Ceci produit un changement d'état des entrées du générateur de parité 10 qui modifie alors son état de sortie et provoque l'application d'un signal d'interruption sur l'entrée IT1 du microprocesseur 2. Dans le cas des commutateurs, le passage d'une position à une autre provoque l'ouverture des contacts lignes et colonnes et porte le potentiel de la colonne correspondante liée au commu- tateur sur lequel a lieu le changement d'état, à l'état 0 volt, ce qui modifie l'état de la sortie du. générateur de parité 11 qui -applique un signal d'interruption sur l'entrée de commande d'interruption IT2.- du microprocesseur 2. A ce stade du fonctionnement les diodes D1 à D4 intercalées entre chaque contact d'un commutateur et sa ligne associée permettent d'évi- ter les courts-circuits ligne à ligne lorsque se produit un changement d'état sur un commutateur. Une fois l'appui-touche ou la manipulation d'un commuta- teur détecté le microprocesseur 2 lance une séquence de tempori- sation anti-rebond, et à la fin de cette séquence, Il procède à la lecture de l'ensemble des colonnes de la matrice commutateur ou clavier. Dans ce mode opératoire chaque colonne de la matrice est considérée par le microprocesseur comme un registre. De la sorte une simple instruction de lecture en langage.assembleur permet la sélection à la fois d'une colonne (spécifiée dans l'adresse de l'instruction assembleur et du registre tampon 5. Le code correspondant à cette colonne est alors directement appliqué par l'intermédiaire du registre tampon 5 sur le bus de donnée 13. De cette façon la lecture des codes générés se traduit au niveau du microprocesseur par l'exécution d'une série d'instructions, dont le libellé peut être "lecture de m registres pour le clavier ou de n registres pour les commutateurs". Dans l'exécution de cette. instruction, la sélection d'une colonne quelconque est obtenue par l'application par les sorties du démultiplexeur 7 d'un potentiel 0 volt sur la colonne. L'état électrique des lignes qui est alors obtenu reflétant l'état des touches ou du commutateur situés sur cette colonne. La donnée obtenue lors de la lecture d'une colonne de la matrice est constituée par deux zones binaires, une première zone correspondant aux lignes de la matrice clavier et une deuxième zone correspondant à celle de la matrice commutateur. Comme chaque commutateur possède 4 sorties l'état d'un commutateur qui est ainsi lu est compris entre 0 et 14. Chaque code lu, pour mesurer l'état du clavier, correspond dans le cas d'un simple appui d'une touche A un nombre de la suite 1, 2, 4, 8 etc 2m. Cependant un algorithme judicieux pourra toujours permettre la détection de double appuis-touches. La détection séparée des actions clavier et commutateur a l'avantage qu'elle permet de gérer des antl-rebonds différents et d'assurer un confort optimal à l'utilisateur dans ces diffé- rentes manipulations. Pour les commutateurs des temporisations antirebonds comprises entre 100 et 250 millisecondes pourront être choisies et des temporisations anti-rebonds touche-clavier compris entre 10 à 20 millisecondes seront suffisantes Toutefois, le dispositif décrit peut présenter quelques limitations qui sont dues au principe de détection qui est mis en oeuvre. En effet, cormmre les colonnes de la matrice sont direc- tement reliées au générateur de parité tout changement d'état sur celles-ci provoque une interruption. En particulier la sélec- tion d'une colonne lors de l'adressage de la matrice se traduit par le passage à 0 de cette colonne et crée donc une impulsion à la sortie du générateur de parité correspondant. Dans ces condi- tions, il faut invalider lors de la lecture les entrées d'in- terruption correspondantes, ce qui crée une zone d'ombre o toute action de l'opérateur sur les organes d'exploitation correspondant à la matrice lue est ignorée. La durée de cette zone est directement liée à la vitesse de l'algorithme de lecture. Si un commutateur change d'état pendant cette zone d'ombre il n'y aura pas d'interruption au niveau du microprocesseur et la lecture en cours sera considérée comme 26 1 6240 bonne malgré qu'elle ne reflète plus la position réelle du commutateur. Par contre, pour une touche, ce cas d'espèce sera interprété comme un double appui et la non détection de d'un appui-touche n'est pas gênante. Dans le cas des commutateurs l'inconvénient précité pourra être pallié en utilisant un commutateur disposant d'une piste supplémentaire dédiée à la détection des changements d'état. On notera cependant, que de par le principe de l'invention, -la lecture qui est effectuée est très rapide et qu'elle réduit considérablement la largeur de la zone d'ombre. La perte. de l'information de changement d'état d'un commutateur apparaît de ce fait peu probable d'autant plus que ce changement d'état s'accompagne de rebonds non négligeables. - On notera également que suivant d'autres modes de réall- sation de panneaux de commande, mettant en oeuvre les principes de l'invention, l'assimilation. dans le mode lecture des colonnes de l'organisation matrlcielle des organes du tableau à de simples registres microprocesseurs peut aussi être faite en mode écriture, ce pourra être le cas par exemple, du multiplexage d'un organe de visualisation, comportant un nombre de caractère quelconque, situé sur le tableau du type de celui représenté en 14 sur la figure. Dans ce cas chaque caractère peut s'identifier à un simple registre accessible en écriture seulement. On obtient ainsi des cycles d'écriture extrêmement courts et par la même on réduit comme dans le cas de la lecture la consommation du microprocesseur. REVENDICATIONS 1. Procédé d'analyse par un microprocesseur (2) des états d'un ensemble clavier (4)-commutateur (3) d'un panneau de commande (1) caractérisé en ce qu'il consiste à déclencher (IT1, IT2) dans le microprocesseur (2) la lecture de l'état électrique de l'ensemble clavier (4)-commutateur (3) à chaque changement d'état d'au moins un élément de l'ensemble claviercommutateur dès l'apparition du changement d'état. 2. Procédé selon la revendication 1 caractérisé en ce que chaque changement d'état d'un élément du panneau (1) provoque le déclenchement d'une séquence de temporisation avant la lec- ture de l'ensemble des états des éléments du panneau (1). 3. Procédé selon les revendications 1 et 2 caractérisé en ce que l'ensemble clavier (4)-commutateur (3) comprend des contacts disposés chacun au croisement d'une ligne (11) et d'une colonne (cl) d'une matrice, et en ce que les états des contacts de chaque colonne sont lus successivement colonne par colonne. 4. Procédé selon l'une quelconque des revendications 1, 2 et 3 caractérisé en ce que le microprocesseur (2) est dans l'état "arrêt" non alimenté ou "d'attente" o seule l'horloge interne du microprocesseur est alimenté lorsqu'aucun changemnent d'état se produit sur le panneau (1). 5. Procédé selon l'une quelconque des revendications. 1 à 4, caractérisé en ce que la lecture des états de chaque colonne (c1) de contact est obtenue par l'exécution d'une simple ins- truction de lecture de registre. 6. Dlspositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 5 caractérisé en ce que le clavier (4) comporte des touches (41j) dont les contacts sont situés aux croisements de lignes et de colonnes de la matrice. 7. Dispositif selon la revendication 6 caractérisé en ce que les commutateurs (3) comportent P positions qui sont codées en binaire sur S sorties, les S sorties étant couplées à S li- 26 1 6240 gnes de la matrice, et en ce qu'il. possède également une entrée (Po) reliée chacun à une colonne de la matrice. 8. Dispositif selon les revendications 6 et 7 caractérisé en ce que chaque colonne (ci) est-adressée par le microproces- seur (2) au travers d'un démultiplexeur (7). 9. Dispositif selon l'une quelconque des revendications 6 à 8 caractérisé en ce que les lignes (1t) de la- matrice sont reliées à au moins un générateur de parité (10, 11) pour détec- ter tout changement d'état intervenant dans les contacts situés au croisement des lignes et des colonnes de la matrice. 10. Dispositif selon la revendication 9 caractérisé en ce que chaque générateur de parité (10, 11) provoque une interrup- tion (IT1, IT2) du microprocesseur lorsqu'un changement d'état intervient. 11. Dispositif selon les revendications 6 à 10 caractéri- sé en ce que le panneau (1) comporte au plus un organe de visualisation (14) dont chaque caractère est modifiable en écri- ture seulement par simple exécution d'une instruction d'écriture de registre du microprocesseur.