Comment faire un clavier - Matrix
Publié par : Komar aka Michał Trybus; Traduction anglais-russe : firerockOriginal : blog.komar.be/how-to-make-a-keyboard-the-matrixC'est le premier article d'une série sur les claviers; J'espère qu'il ne sera pas le dernier. Je voudrais terminer avec un cours de fabrication de clavier à partir de zéro. Aujourd'hui, je parlerai des entrées-sorties numériques et des matrices de clavier. Armez-vous des connaissances scolaires de base dans le domaine de l'électronique - et c'est parti.Pourquoi une matrice?
Et comment allons-nous faire la matrice? Et le plus important - pourquoi est-il nécessaire? Eh bien, cela est principalement dû aux limitations physiques des microcontrôleurs sur lesquels les claviers sont construits. Le fait est qu'avec l'augmentation du nombre de sorties pour les microcontrôleurs et les circuits logiques programmables, leur taille augmente également, ce qui entraîne à son tour une augmentation de la consommation d'énergie, des capacités, mais surtout, des prix. En conséquence, vous pouvez choisir soit une puce bon marché avec une petite performance (qui vous convient bien), mais avec un petit nombre d'entrées et de sorties, ou une puce plus puissante, dont les performances dépassent cependant largement vos exigences. Mais seule cette puce puissante aura suffisamment de sorties pour connecter chaque bouton du clavier.Au fil des décennies, la pratique s'est développée en électronique à l'aide de diverses astuces pour étendre artificiellement les capacités de communication intégrées des processeurs et des contrôleurs. L'une de ces méthodes, bien adaptée aux contacts mécaniques (boutons), est la création d'une matrice. Pour comprendre comment cela fonctionne, certaines connaissances de base sont requises. Avant de continuer, veuillez actualiser la loi d'Ohm .Un peu de théorie
Pour comprendre le fonctionnement de l'électronique numérique, vous devez apprendre deux principes de base.Le principe un dit que le processus de communication au sein d'un circuit ne consiste pas à transmettre ou à recevoir quelque chose là-bas. Pour assurer la communication entre les deux appareils, il vous suffit de connecter leurs résultats entre eux avec un matériau électriquement conducteur. Après cela, on suppose que l'état du matériau (tension et courant) aux deux extrémités sera le même. En réalité, bien sûr, ce n'est pas le cas, mais pour les communications lentes et les conducteurs courts, notre hypothèse fonctionne bien. Il s'avère que l'envoi et la réception d'informations sont en fait leur partage.Du côté de l'émetteur, vous changez simplement l'état électrique du conducteur (en y injectant du courant continu, en modifiant son potentiel), en espérant que le récepteur sera en mesure de détecter ce changement et de le comprendre correctement.Il découle également de ce principe qu'il n'y a pas de relation entre le sens de communication et le sens du courant électrique. Beaucoup de gens supposent à tort le contraire, ce qui les empêche de comprendre le fonctionnement de l'électronique.Si vous souhaitez envoyer un niveau logique de "0", la tension à la sortie de l'émetteur est généralement abaissée à 0 V et le courant commence à circuler du récepteur vers l'émetteur afin que le récepteur puisse déterminer que le niveau logique correspond à "0". (Alors que le sens inverse du courant signifierait que quelque part dans le circuit il y a un potentiel négatif - et cela, en règle générale, ne se produit pas dans l'électronique numérique.) D'un autre côté, une tension égale à la tension d'alimentation est appliquée pour transmettre le niveau logique "1", et comme il s'agit le plus souvent de la tension la plus élevée du circuit, il ne restera plus rien pour le courant électrique que de passer de l'émetteur au récepteur.Principe numéro deuxréside dans le fait qu'il est impossible de déterminer l'état du conducteur sans changer cet état. Peu importe si vous allez mesurer la tension ou le courant - en tout cas, pour cela, il est nécessaire que les électrons traversent votre appareil de mesure. Le flux d'électrons - c'est le courant électrique, et puisqu'il circule, cela signifie que dans le nœud auquel vous êtes connecté pour la mesure, les courants et la tension ont déjà changé (voir les lois de Kirchhoff ). Il s'ensuit que si vous devez "transmettre" des informations en modifiant l'état de la sortie connectée électriquement à une autre sortie, vous devez conserver cet état, ce qui signifie que vous devez respecter toutes les exigences imposées par le récepteur.Bouton
Un bouton mécanique (et dans ce contexte le mot «mécanique» n'est pas lié à l'expression «clavier mécanique») n'est qu'une paire de contacts métalliques qui, en contact, relient électriquement les deux bornes. Bien sûr, il existe d'autres types de commutateurs qui sont structurellement plus complexes et ont plus de sorties, mais ils ne nous intéressent pas car ils ne sont pas utilisés dans les claviers.
Bouton Cherry MX. Source de l'image: wiki DeskthorityEh bien, et comment allons-nous connecter le bouton à l'entrée du microcontrôleur? Fondamentalement, toute entrée peut fonctionner avec deux niveaux logiques possibles: «0» et «1». Il est courant d'accepter des tensions proches de 0 V comme zéro logique et des tensions proches d'une tension d'alimentation (généralement 5 V ou 3,3 V) comme unité logique. Mais le problème est que le bouton mécanique seul ne peut pas contrôler la tension. Il contrôle le courant - c'est-à-dire que si nous connectons deux nœuds avec un potentiel électrique différent via le bouton, le courant entre ces nœuds circulera si et seulement lorsque le bouton est enfoncé.Mais si nous ajoutons une résistance, nous pouvons très facilement convertir le courant en tension.
Bouton de résistance de tractionJetez un œil à ce diagramme. Lorsque le bouton n'est pas enfoncé (le circuit est cassé), le courant ne le traverse pas, donc la tension au nœud "A" sera proche de la tension d'alimentation VCC (en fait, inférieure à VCC par la valeur de la chute de tension à travers la résistance égale à R • I). Lorsque le bouton est enfoncé (circuit fermé), le courant passe à travers la résistance jusqu'à la masse. Etant donné que la résistance du bouton fermé est très faible (de l'ordre de centaines de milliomètres), la tension au nœud "A" sera proche de "0".Dans cette configuration, la résistance est appelée pull-up car elle "élève la tension" au niveau VCC. Et sans connexion à l'alimentation via la résistance, il n'y aurait aucune tension dans le nœud «A» (dans ce cas, la sortie du microcircuit est appelée «suspendue dans l'air» ou dans un état de haute impédance).Il convient de noter qu'à l'intérieur de la plupart des microcontrôleurs modernes, il existe déjà des résistances de rappel qui peuvent être rapidement connectées ou déconnectées à l'aide du programme. Ainsi, la principale façon de connecter le bouton au microcontrôleur est la suivante: une broche du bouton est à l'entrée du microcontrôleur, l'autre broche du bouton est au sol. Dans ce cas, si le bouton n'est pas enfoncé, alors "1" est envoyé au microcontrôleur, et s'il est enfoncé, alors "0". Cela contredit peut-être l'intuition, mais cette méthode de connexion est la plus populaire.Veuillez noter que si nous laissons une des broches du bouton suspendue dans l'air, c'est-à-dire si nous ne la connectons nulle part, ce bouton ne fonctionnera pas du tout: si vous n'appuyez pas dessus, cela n'affectera pas l'état électrique de la sortie du microcontrôleur. Nous utiliserons toujours cette propriété lors de la constitution de la matrice.Principe de la matrice
Le principe de base de la matrice du clavier est la possibilité de connecter plusieurs boutons à une entrée du microcontrôleur.À l'aide de transistors ou de sorties de microcontrôleurs correctement configurés , nous pouvons faire en sorte que les boutons se connectent au sol un à la fois, tandis que les autres restent suspendus en l'air. Les conclusions restantes de chacun des boutons sont combinées en un nœud et connectées à l' entréemicrocontrôleur. J'ai baissé la résistance de pull-up, car on sait qu'elle est déjà présente à l'intérieur du microcontrôleur, dans son étage d'entrée. Nous allumons à tour de rôle chaque bouton, en connectant sa sortie numéro 1 à la masse via la sortie correspondante du microcontrôleur, après quoi nous pouvons lire l'état du bouton à l'entrée en supprimant la tension de sa sortie numéro 2. Les autres boutons connectés à la même entrée n'affectent pas sur son état, car leurs conclusions numéro 1 sont actuellement en suspens. Le diagramme suivant illustre cette idée.
Plusieurs boutons, une entrée (nœud "A")"A" est la seule entrée du microcontrôleur, et "C1" .. "Cn" sont ses sorties. Sur l'une des sorties, un «0» logique est défini, c'est-à-dire qu'à l'intérieur du microcircuit, ce contact est en quelque sorte connecté à la terre - par conséquent, le courant circulera toujours vers ce contact (conformément au premier principe de base). Maintenant, lorsque vous appuyez sur le bouton connecté à cette sortie, l'entrée "A" sera immédiatement "enfoncée" au sol et réglée sur "0". Appuyer sur les autres boutons ne changera rien, car leurs sorties terre ne sont connectées nulle part pour le moment. Lorsque nous devons interroger le bouton suivant, nous supprimons le «0» logique de la sortie actuelle et définissons ce niveau sur la sortie suivante, de sorte qu'à tout moment, une seule des sorties du microcontrôleur sera activée.Une telle configuration (lorsque la sortie est connectée à la terre ou désactivée) est appelée sortie à drain ouvert (OS) (historiquement, avec un collecteur ouvert (OK)). Ici, j'ai fait une simplification - en fait, un contact ne peut pas être complètement déconnecté du circuit à moins qu'il ne soit physiquement coupé de celui-ci. Mais pour les E / S numériques simples, cette simplification est tout à fait appropriée. La plupart des microcontrôleurs offrent la possibilité de configurer par programmation leurs contacts de sortie pour fonctionner en mode OS. Mais que faire si nous n'avons pas une telle opportunité? Il existe une autre configuration - mode push-pull; Aujourd'hui, cette option est l'une des plus populaires. Cette configuration fonctionne un peu différemment. Dans l'état "0", la sortie est toujours poussée à la masse, mais lorsque l'état "1" se produit, elle est tirée à la tension d'alimentation VCC,de sorte que la sortie dans l'air ne se bloque plus, maintenant elle peut elle-même devenir une source de courant.Quels changements cela impliquera-t-il dans la conception de la matrice? Si nous n'allons pas appuyer sur plusieurs boutons en même temps, alors aucun. Mais si nous allons, jetez un coup d'œil au dessin et imaginez une seconde ce qui se passera ensuite. En cliquant sur les deux boutons, nous connectons les deux sorties inférieures en boucle fermée. Si en même temps l'un d'eux est dans l'état "0" et l'autre dans l'état "1", alors un courant électrique passera de la sortie réglée à "1" à la sortie réglée à "0". Et puisque ce courant n'est limité par rien (il n'y a pas de résistances), non seulement le circuit deviendra instable, mais il peut également sortir de la puce. Bien sûr, il est peu probable qu’il soit possible de considérer normalement un état logique.Ajout de lignes
Vous pouvez considérer l'exemple précédent comme une matrice composée d'une ligne. Maintenant, augmentons-le en ajoutant des lignes supplémentaires. En fait, si nous pouvons accrocher une ligne entière sur une entrée, alors pourquoi ne pouvons-nous pas accrocher une colonne entière de boutons sur une sortie? Certes, il existe une condition préalable - chaque bouton de la colonne doit être connecté à une entrée distincte du microcontrôleur.Si nous organisons les boutons sous la forme d'une matrice régulière, cette condition sera remplie automatiquement. Et la figure suivante montre à quoi ressemblera la matrice de boutons composée de n colonnes et m lignes ( ne faites pas encore attention aux chiffres verts ).
Matrice de clavier simpleLa lecture de cette matrice est très simple. Nous sondons une colonne à la fois. La colonne de lecture est sélectionnée en connectant une des sorties «C1» .. «Cn» à la masse (la sortie en mode OS est traduite en «0»). Maintenant, en interrogeant alternativement les lignes "R1" .. "Rm", nous pouvons déterminer l'état de chaque bouton de la colonne sélectionnée. Les boutons des autres colonnes n'affectent rien, même s'ils sont enfoncés, car pour le moment leurs fils de terre sont suspendus dans l'air (ou, comme on dit en électronique, ils sont en état Hi-Z).Une fois la colonne entière interrogée, nous passons à la suivante, lâchant la sortie actuelle et poussant la suivante à zéro. L'analyse matricielle est considérée comme terminée lorsque toutes les colonnes sont interrogées. Si tout est fait assez rapidement, le typographe le plus rapide ne remarquera pas les intervalles entre les interrogations de colonne. Même avec un microcontrôleur 16 MHz, nous pouvons facilement scanner la matrice entière mille fois par seconde, tandis que le typographe le plus rapide du test sur hi-games.net a atteint une vitesse de 203 mots par minute (wpm), c'est-à-dire un peu moins de 17 clics seconde.Lors de la conception d'un clavier à l'aide d'une matrice, nous réduisons le nombre de broches nécessaires pour connecter toutes les touches. Mais pour réduire au minimum le nombre de conclusions, il faut composer une matrice pour que le nombre de colonnes soit le plus proche possible du nombre de lignes. Dans une situation idéale, si le nombre de boutons est n² , alors le meilleur que nous pouvons obtenir avec la matrice est 2nBroches de microcontrôleur occupées. Cependant, aujourd'hui, lors de la compilation de matrices, personne ne cherche rarement à minimiser le nombre de jambes impliquées, car les microcontrôleurs modernes, en règle générale, ont un nombre suffisant de conclusions libres. De plus, l'optimisation maximale de la matrice peut par la suite entraîner des inconvénients - le câblage de la carte ou la distribution des fils dans le dispositif final sera sensiblement plus compliqué. Par conséquent, cela vaut la peine de choisir la méthode la plus pratique: lors de la compilation de la matrice, essayez de suivre la disposition physique des boutons. Dans ce cas, pour un clavier d'ordinateur standard, la matrice la plus simple n'aura que 6 lignes et un certain nombre de colonnes, selon la disposition souhaitée. Bien sûr, du point de vue du nombre de conclusions impliquées, cette solution n'est pas la plus optimale, mais à l'avenir, au moins le câblage sera simplifié.Mais que faire si nous n'avons pas de sorties à drain ouvert?
Vous pouvez vous demander: que devons-nous faire s'il n'y a toujours pas de mode OS dans le microcontrôleur sélectionné? Eh bien, nous avons déjà compris quel genre de problème peut se produire, et que tirer les sorties vers le VCC (c'est-à-dire les «connecter» à l'alimentation) n'est pas une bonne idée. Il existe de nombreuses façons de résoudre ce problème; Parmi eux, il y a non seulement des tampons de sortie OS spéciaux, mais même des registres à décalage avec des sorties OS - pour minimiser davantage le nombre de segments impliqués. Mais il existe une autre technique très populaire, qui est souvent utilisée dans la conception de claviers d'ordinateur (en fait, elle était largement utilisée dans l'ancien temps).Le problème des colonnes connectées aux sorties push-pull apparaît au moment où deux boutons situés sur la même ligne sont pressés ensemble, et en même temps, appuyer sur le bouton interrogera la colonne dans laquelle se trouve l'un des boutons.
Le problème des sorties push-pull Apartir de la sortie, qui est tirée à "1" (et ne se bloque pas dans l'état Hi-Z), un courant commence à circuler. Il passe par le bouton fermé le plus proche, puis par le bouton fermé dans la colonne interrogée, et arrive enfin directement dans la sortie réglée sur «0». Cela peut conduire à tout - de l'impossibilité d'une lecture fiable de l'état du clavier à la défaillance du microcontrôleur lui-même.Mais comme nous sommes obligés de résoudre ce problème, nous pouvons appliquer une excellente astuce: transformer une sortie push-pull en une sorte de sortie à drain ouvert. J'ai souvent rencontré cette solution dans les conceptions de vieux claviers. Étant donné que le courant ne doit circuler que dans les sorties (connectées aux colonnes), mais ne jamais en sortir, nous pouvons limiter la direction du courant à l'aide de diodes. Une diode est un appareil simple qui permet au courant de circuler dans une seule direction. Dans l'image de la diode sur le circuit électrique, le triangle symbolise la flèche qui indique cette direction. Si nous mettons une diode entre chaque sortie du microcontrôleur et le conducteur de la colonne correspondante de la matrice, nous atteindrons notre objectif - maintenant le courant ne peut circuler que dans les sorties, car ces conducteurs atteignent chaque bouton de leur colonne. Il s'avèrequ'à partir de la sortie réglée sur "1", le courant ne circulera nulle part, ce qui en fait presque une sortie à drain ouvert. Bien sûr, il n'atteint pas le vrai OS, mais cela résout notre problème d'un circuit de courant fermé dans la matrice du clavier. Revenez à l'avant-dernière image de la matrice, mais cette foisconsidérez les diodes vertes pour comprendre comment cette astuce fonctionne.Naturellement, il est logique de minimiser le nombre de diodes. Pour ce faire, vous pouvez réduire le nombre de colonnes en augmentant le nombre de lignes. Et si le résultat obtenu ne correspond pas bien à la disposition réelle du clavier, vous pouvez alors "faire pivoter" la matrice de 90 ° (permuter les lignes avec les colonnes). Les possibilités sont infinies. Mais de nos jours, un grand nombre de microcontrôleurs sont apparus qui sont faciles à utiliser et pratiques pour les loisirs, donc aujourd'hui la technique décrite n'est pratiquement pas utilisée dans les projets de clavier locaux. Heureusement.Clics fantômes (fantômes)
Si vous êtes intéressé par les clavs, alors vous devez avoir déjà rencontré ce terme. Malheureusement, dans le monde des claviers, il est souvent mal interprété.Nous connaissons déjà la situation où la pression simultanée de plusieurs boutons situés sur la même ligne peut interférer avec la lecture normale de la matrice. Et nous pouvons dire que ce problème a été résolu par nous. Voyons maintenant ce qui se passe si vous cliquez sur plusieurs boutons qui se trouvent simultanément sur la même ligne et dans la même colonne.
Exemple de pression fantômeSur la figure, trois boutons sont enfoncés en même temps. Deux d'entre eux sont dans la colonne «C2» et deux dans la ligne «Rm». Cela signifie que l'un des boutons enfoncés partage la ligne avec l'autre bouton enfoncé et la colonne avec le troisième bouton enfoncé. C'est dans cette situation que le fantôme se produit. Imaginez que nous interrogions actuellement la colonne «C1» (c'est-à-dire qu'elle est appuyée au sol - elle est dans l'état «0»). Cet accord caractéristique des boutons enfoncés conduit à ce qui suit: même si le bouton supérieur gauche n'est pas enfoncé, la ligne «R2» est à l'état «0», car elle est enfoncée au sol par la colonne «C1» (située dans «0») à travers trois boutons enfoncés. Par conséquent, le contrôleur de clavier lit le bouton supérieur gauche comme «enfoncé», qu'il soit effectivement enfoncé ou non. La situation décrite est appelée pression fantôme ( fantôme ), car certaines combinaisons de boutons enfoncés simultanément provoquent des réponses fantômes d'autres boutons (touches fantômes), bien que physiquement ces autres boutons ne soient pas enfoncés.Bien sûr, il existe des moyens de protéger les compositeurs et les joueurs contre les réponses fantômes, et ces méthodes sont largement utilisées dans les claviers d'ordinateur modernes. Vous pouvez capturer le moment d'apparition de la pression fantôme et le bloquer. Une personne ordinaire n'est pas en mesure d'appuyer ou de relâcher simultanément deux touches avec une précision parfaite. Par conséquent, en balayant la matrice assez rapidement, nous pouvons supposer qu'entre deux passages dans la matrice, pas plus d'un bouton ne peut changer son état. Dans ce cas, le contrôleur accepte les pressions uniques et surveille l'occurrence de situations lorsque deux boutons ou plus sont pressés entre les passages de matrice. Étant donné que le balayage de la matrice se produit à une vitesse à laquelle l'occurrence régulière de telles situations est extrêmement improbable, nous pouvons conclure que l'un des boutons que vous venez d'appuyer est un fantôme.Par conséquent, le contrôleur doit ignorer tous ces clics. De plus, il est plus sûr de ne pas informer immédiatement l'ordinateur des changements d'état du clavier - au début, il est logique d'attendre que toutes ces opérations disparaissent.Il existe une autre approche. Vous pouvez identifier la situation lorsque le "troisième" bouton est déclenché, et bloquer à la fois cette pression et toutes les suivantes. Ne relâchez pas le verrou jusqu'à ce que la réponse fantôme disparaisse et que la situation redevienne normale. Pour mettre en œuvre cette approche, le programme doit se rappeler quels boutons sont actuellement enfoncés (et généralement il s'en souvient de cette façon) afin de rejeter les opérations de bouton suivantes, dans les lignes et les colonnes dont les clics simultanés sont déjà enregistrés. Si vous écrivez le programme à bon escient, seules les réponses problématiques seront bloquées et toutes les réponses suivantes seront acceptées comme d'habitude - à l'exception de celles qui enfreignent à nouveau les règles. Une fois que le contrôleur refuse d'appuyer sur chaque bouton qui a déjà des opérations simultanées dans sa ligne et sa colonne, il s'avère qu'en fonction de l'état de certains boutons,d'autres peuvent ne pas être enregistrés du tout. Cette situation est communément appeléeblocage ( bourrage ). Autrement dit, les boutons qui empêchent le fonctionnement simultané d'autres boutons, il s'avère, "bloquer" une partie du clavier.Du point de vue de l'utilisateur, il est possible d'appuyer simultanément sur tous les boutons d'une colonne (sans appuyer sur les boutons d'une autre), mais d'appuyer simultanément sur tous les boutons d'une ligne uniquement si chacun des boutons n'a pas plus d'une opération dans la colonne. La même chose s'applique à la pression des boutons à partir d'une seule colonne - les déclencheurs supplémentaires ne sont enregistrés que si les boutons sont dans des lignes qui ne sont «pas occupées».Les gens confondent souvent « déclenchement fantôme » et « déclenchement bloquant » (« fantôme » et «jamming "), ce qui est un mystère pour moi personnellement - à mon avis, ces termes sont assez intuitifs.Dans les claviers utilisant de telles matrices que nous venons d'examiner, ni les réponses fantômes ni le blocage ne peuvent être évités. Étant donné que les réponses fantômes dans le travail quotidien sont inacceptables, pour les combattre, presque tous les fabricants de claviers à dôme en caoutchouc utilisent diverses astuces, et le blocage entre en jeu. Question: comment composer une matrice de telle manière que le blocage se produise aussi rarement que possible et ne soit pas provoqué par des combinaisons de clavier courantes? En fait, c'est un bon sujet pour tout le livre; c'est pourquoi les matrices de claviers de biens de consommation sont si déroutantes et bloquent toujours la bonne humeur (comme un jeu de mots).Diodes pour tous les boutons - une solution cardinale
Si vous regardez à nouveau l'image des clics fantômes, vous pouvez remarquer que le bouton en bas à droite est à blâmer.Mais ce bouton est le seul à travers lequel le courant dans cette situation "monte". Donc, si nous ne voulons pas que les courants «ascendants» de courant nous empêchent de lire la matrice normalement, introduisons des diodes pour que le courant puisse traverser les colonnes strictement de haut en bas, se déversant dans les sorties du microcontrôleur.Malheureusement, l'enregistrement n'est pas possible ici - vous devez mettre une diode sur chaque bouton. Si nous parlons de polarité, alors vous auriez dû comprendre que dans ce cas particulier, les diodes doivent passer le courant "de haut en bas", c'est-à-dire que leurs cathodes ("têtes de flèche") doivent regarder les sorties du microcontrôleur (colonnes), tandis que les anodes doivent être adressé aux entrées (lignes).
Matrice récapitulativePeu importe de quel côté du bouton se trouve la diode; l'essentiel est d'observer la polarité correcte. N'oubliez pas que dans ce cas, le courant passera toujours des entrées aux sorties. Soit dit en passant, si les entrées sont mises sous tension et que les sorties sont en mode OS, cela se produira toujours.Avec cette approche, il s'avère que le courant circulera toujours «directement vers le bas», ce qui élimine l'apparition de boucles de courant fermées lorsque plusieurs boutons sont enfoncés simultanément. De plus, cette conception est la seule à pouvoir fournir au clavier un NKRO complet. De plus, il convient de mentionner (bien que cela semble évident) que le problème des sorties du microcontrôleur n'ayant pas de mode OS est désormais résolu automatiquement. Les diodes installées séquentiellement avec chaque bouton enregistrent les sorties d'un circuit pas pire que l'option précédemment considérée, où il était censé mettre en outre une diode sur chaque colonne.Rollover
Oui, je sais que le texte est déjà trop long. Mais j'ajoute quand même ce dernier chapitre, car, à mon avis, sans lui l'article serait incomplet. Ainsi, le survol est la capacité du clavier à prendre plusieurs pressions en même temps.xKRO
KRO est le remplacement de clé ( rollover la touche a ), et généralement cette abréviation est en droit par un certain nombre. Par exemple, 2KRO signifie un roulement à deux touches. Un clavier a un roulement de touche x si et seulement s'il est capable d'enregistrer x frappes de touches simultanées, en outre, quels que soient les boutons et la séquence utilisés. La plupart des claviers à dôme en caoutchouc modernes ont 2KRO. Cependant, il ne s'ensuit pas que le nombre de touches autorisé sur ces claviers sera toujours limité à x . En fait, cela signifie que le support x- click est garanti exactement.Selon la conception de la matrice et le type de contrôleur, deux claviers 2KRO de différents fabricants peuvent se comporter très différemment. L'un ne peut toujours accepter que deux clics simultanés, et l'autre peut facilement digérer encore plus. Il semble que le dernier clavier ait été annoncé par 2KRO car certaines combinaisons de touches (très probablement peu probables) le feront toujours bloquer la pression sur d'autres boutons. Et comme cela signifie que lorsque vous travaillez avec ce clavier, certaines combinaisons de trois touches et plus ne fonctionneront pas, la société l'a annoncé 2KRO.Nkro
Le terme NKRO signifie roulement de touche N , et il est utilisé pour désigner les claviers qui prennent en charge, malgré tout, toute combinaison de touches enfoncées simultanément. Mais gardez à l'esprit que les matrices NKRO et les claviers NKRO sont deux grandes différences. Par exemple, si l'implémentation finale de la matrice, que nous avons examinée dans l'article, prend en charge NKRO (en tenant compte du micrologiciel correctement écrit), cela ne signifie pas du tout que le clavier utilisant cette matrice prendra également en charge NKRO. Cela peut être dû aux restrictions imposées par les ports de communication auxquels le clavier est connecté; une autre raison pourrait être la frugalité des fabricants, économisant toujours ici et là. J'essaierai d'expliquer le problème de NKRO lors de la connexion à PS / 2 et USB dans les parties suivantes.Résumé
Bien sûr, la feuille est plutôt bien sortie, mais le concept n'est pas si simple - surtout pour le lecteur, qui n'est pas ingénieur en électronique. J'espère avoir réussi à tout expliquer; quoi qu'il en soit, j'ai essayé d'écrire le plus clairement possible. Par conséquent, pour certains d'entre vous, l'article peut sembler plutôt ennuyeux. Eh bien, si vous tâtonnez dans l'électronique, alors vous n'auriez probablement pas du tout lu;)En tout cas, faites-moi savoir si l'article s'est avéré utile pour vous et s'il vaut la peine d'écrire une suite. Si oui, alors je m'asseoirai pour la prochaine "série".Michał Trybus
2 septembre 2013 Source: https://habr.com/ru/post/fr394585/
All Articles