« Fonctionnement d'un ordinateur/Les périphériques et les cartes d'extension » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 22 :
 
[[File:Matrice clavier + controleur.png|centre|Matrice clavier + controleur]]
 
===Fonctionnement===
 
Pour savoir quelles sont les touches appuyées, ce micro-contrôleur va balayer les colonnes unes par unes, et regarder le résultat sur les lignes. Plus précisément, notre circuit va envoyer une tension sur la colonne à tester. Si une touche est enfoncée, elle connectera la ligne à la colonne, et on trouvera une tension sur la ligne en question. Cette tension est alors interprété comme étant un bit, qui vaut 1. Si la touche à l'intersection entre ligne et colonne n'est pas enfoncée, la ligne sera déconnectée. Grâce à un petit circuit (des résistances de rappels au zéro volt intégrée dans le micro-contrôleur), cette déconnexion de la ligne et de la colonne est interprétée comme un zéro. Le microcontrôleur récupère alors le contenu des différentes lignes dans un octet. A partir de cet octet, il accède à une table stockée dans sa mémoire ROM, et récupère le scancode correspondant. Ce scancode est alors envoyé dans un registre à décalage, et est envoyé sur la liaison qui relie clavier et PC.
 
[[File:Gestion matrice clavier.png|centre|Gestion matrice clavier]]
 
===Ghosting===
 
Cette organisation a tout de même un léger problème, qui se manifeste quand trois touches ou plus sont appuyées. Dans une telle situation, il se peut que le courant passe à travers les interrupteurs des touches et active des lignes qui ne devraient pas l'être. Pour donner un exemple, prenons la configuration suivante :
 
[[File:Ghosting - 1.png|centre|Ghosting - 1]]
 
Les problèmes surviennent quand le contrôleur active la troisième colonne. L'appui de la touche de droite active la colonne et la ligne sur laquelle elle se situe. L'appui de la touche immédiatement à gauche permet au courant sur la ligne de traverser la colonne. La touche en-dessous permet au courant de traverser la ligne elle aussi. Le résultat est que le résultat envoyé sur les ports de l'encodeur donnent l'illusion de l'appui d'une touche qui n'est pas appuyée, ici celle située sous la touche de droite.
 
[[File:Ghosting - 2.png|centre|Ghosting - 2]]
 
Une solution pour limiter ce phénomène de '''ghosting''' est de coupler chaque touche avec une diode, qui empêche le courant de passer dans les lignes ou colonnes qui ne devraient pas être activées.
 
[[File:Diode - ghosting.png|centre|Diode - ghosting]]
 
==La souris==