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

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
Ligne 11 :
A l'intérieur d'un clavier, on trouve un circuit relié aux touches par des fils électriques, qui se charge de convertir l'appui d'une touche en scancode. Naïvement, on pourrait penser que ce contrôleur est relié à chaque touche, mais ce genre d'organisation n'est utilisable que pour de tout petits claviers. Sur les claviers avec un faible nombre de touches, toutes les touches sont reliées à un encodeur combinatoire, ce qui suffit largement pour obtenir un clavier fonctionnel.
 
[[File:Lock Keyboard Coder 2.png|centre|vignette|upright=1|Exemple de clavier simple, qui utilise un encodeur combinatoire.]]
 
===L'intérieur d'un clavier à grand nombre de touches===
Ligne 17 :
Avec un clavier à 102 touches, la technique précédente ne fonctionne pas si bien : il nous faudrait utiliser 102 fils, ce qui serait difficile à mettre en œuvre. En fait, les touches sont reliées à des fils électriques, organisés en lignes et en colonnes, avec une touche du clavier à chaque intersection ligne/colonne. Pour simplifier, les touches agissent comme des interrupteurs : elles se comportent comme un interrupteur fermé quand elles sont appuyées, et comme un interrupteur ouvert quand elles sont relâchées.
 
[[File:Matrice clavier.png|centre|vignette|upright=1|Matrice clavier]]
 
Cette matrice est reliée à un circuit qui déduit les touches appuyées à partir de cette matrice de touches : le '''''Keyboard Encoder'''''. Ce circuit peut aussi bien être un circuit combinatoire, un circuit séquentiel fait sur mesure (rare), ou un microcontrôleur. Dans les premiers claviers de PC, l'encodeur clavier était un microcontrôleur Intel 8048. Les claviers actuels utilisent des microcontrôleurs similaires.
 
[[File:Matrice clavier + controleur.png|centre|vignette|upright=1|Matrice clavier + controleur]]
 
====Le fonctionnement des claviers à grand nombre de touches====
Ligne 27 :
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|vignette|upright=1|Gestion matrice clavier]]
 
====Le phénomène de ''Ghosting'' et sa mitigation====
Ligne 33 :
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|vignette|upright=1|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|vignette|upright=1|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|vignette|upright=1|Diode - ghosting]]
 
==La souris==
Ligne 52 :
Les souris plus récentes contiennent une source de lumière, qui éclaire la surface sur laquelle est posée la souris (le tapis de souris). Cette source de lumière peut être une diode ou un laser, suivant la souris : on parle de '''souris optique''' si c'est une diode, et de '''souris laser''' si c'est un laser. Avec la source de lumière, on trouve une '''caméra''' qui photographie le tapis de souris intervalles réguliers, pour détecter tout mouvement de souris. Le tapis de souris n'est pas une surface parfaite, et contient des aspérités et des irrégularités à l'échelle microscopique. Quand on bouge la souris, les images successives prises par la caméra ne seront donc pas exactement les mêmes, mais seront en partie décalées à cause du mouvement de la souris. La caméra est reliée à un circuit qui détecte cette différence, et calcule le déplacement en question. Précisément, elle vérifie de combien l'image a bougé en vertical et en horizontal entre deux photographies de la surface.
 
===SensibilitéLa etsensibilité accélérationde la souris===
 
Le déplacement mesuré par le capteur est envoyé à l'ordinateur. Ce qui est envoyé est le nombre de pixels de différence entre deux images de caméra, en horizontal et en vertical. Le système d'exploitation va alors multiplier ce déplacement par un coefficient multiplicateur, la sensibilité souris, ce qui donne le déplacement du curseur sur l'écran en nombre de pixels). Plus celle-ci est faible, meilleure sera la précision.
Ligne 58 :
Les OS actuels utilisent l''''accélération souris''', à savoir que la sensibilité est variable suivant le déplacement, le calcul du déplacement du curseur étant une fonction non-linéaire du déplacement de la souris. Sur les anciens OS Windows, la sensibilité augmentait par paliers : un déplacement souris faible donnait une sensibilité faible, alors qu'une sensibilité haute était utilisée pour les déplacements plus importants. Cette accélération souris est désactivable, mais cette désactivation n'est conseillée que pour jouer à des jeux vidéos, l'accélération étant utile sur le bureau et dans les autres interfaces graphiques. Elle permet en effet plus de précision lors des mouvements lents (vu que la sensibilité est faible), tout en permettant des mouvements de curseurs rapides quand la souris se déplace vite.
 
===PerformanceLes performance de la souris===
 
Plus la résolution de la caméra de la souris est élevée, plus celle-ci a tendance à être précise. Cette résolution de la caméra de la souris est mesurée en '''DPI''', Dot Per Inche. Il s'agit du nombre de pixels que la caméra utilise pour capturer une distance de 1 pouce (2,54 cm). Il va de soit que plus le DPI est élevé, plus la souris sera sensible. Pour un même déplacement de souris et à sensibilité souris égale, une souris avec un fort DPI entrainera un déplacement du curseur plus grand qu'une souris à faible DPI. Cela est utile quand on utilise un écran à haute résolution, mais pas dans d'autres cas.