Vous êtes sur la page 1sur 10

Le traitement du signal

Trame clavier d’ordinateur

TP trames série et PS2


Un peu d’histoire :
« C’est un imprimeur, Latham Sholes, qui en 1873 aux Etats Unis conçoit la première « type-writer » dont
il dépose le brevet. Il signe un contrat d’association avec le fabricant d’armes Remington pour une
fabrication industrielle. La première machine sort des usines Remington en 1874. Très décorée, elle
ressemble à une machine à coudre. »

Premières machines à écrire Latham Sholes

« Cette machine était constituée d’un clavier qui, lorsque l’on appuyait sur les touches, faisait se lever une
tige munie d’une lettre en relief. Cette lettre tapait une bande imbibée d’encre placée devant la feuille de
papier. La lettre correspondante s’imprimait donc sur la page par ce simple procédé mécanique. Il s’avérait
que les utilisatrices des machines à écrire tapaient trop vite. Certaines tiges se levaient en même temps
et bloquaient. Sholes, en 1868, eut alors l’idée de séparer, de part et d’autre du clavier, les lettres
fréquemment utilisées en langue anglaise comme le Q, le R, E, le W, etc. Ainsi, les tiges correspondantes
s’emmêlaient moins lorsque la frappe était rapide. Cela donna le clavier QWERTY. Une simple adaptation
à la langue française, et le clavier AZERTY que l’on connaît était né. En fait, la disposition que nous
connaissons n’est purement due qu’à un problème mécanique au détriment de l’ergonomie. »

« Depuis, la configuration de la plupart des claviers informatiques est régie par la norme ISO 9995 définie
en 1985. Bien que le nombre de touches et leur disposition dépendent du pays ou de la langue utilisée,
les claviers comportent toujours un peu plus de 100 touches (102, voire 105 avec l'adjonction des trois
touches Windows). Les différents types de claviers se distinguent les uns des autres par des particularités
nationales (caractères nationaux) et des particularités techniques (touches muettes). Il existe de
nombreuses dispositions de touches différentes, qui sont principalement dues à la diversité des langues
dans le monde. Chaque utilisateur peut ainsi travailler avec un clavier adapté à sa langue pour plus
d’aisance et de rapidité. »

http://www.archivesnationales.culture.gouv.fr/camt/fr/se/fiche3/fiche3.html
http://dispourquoipapa.free.fr/histoire/hi0021.htm
http://fr.wikipedia.org/wiki/Clavier_d'ordinateur#Historique
http://www.commentcamarche.net/contents/pc/clavier.php3
Le traitement du signal
Trame clavier d’ordinateur

Objectifs :
 Être capable de rechercher les caractéristiques d'une trame de transmission de données
 Être capable de décoder l'information contenue dans une trame

Dans cette activité, vous allez capturer des trames série et PS2 à l’aide d’un oscilloscope Métrix OX
6062 ou d'un Tektronix TDS 210.

Métrix OX 6062 Tektronix TDS 210

Vous n’avez pas à être des spécialistes de l’oscilloscope ! Appelez votre professeur en cas de problème
de réglage ; cependant, il faudra montrer que vous avez réfléchi à la recherche de solution.

Décodage d'une trame série


Votre premier travail consiste à décoder une trame série que vous aurez vous-même captée.
Il faut savoir que quand Arduino envoie une information à l’ordinateur sur le port série, il l’envoie
simultanément sur
- le port USB ;
- le port D1 – TX de l’arduino. (TX signifie Transmission
Le traitement du signal
Trame clavier d’ordinateur

Test de communication PC-arduino sur le port série.

Le petit programme ci-dessous permet d’envoyer le caractère A sur le port série. Copiez le dans l’IDE
arduino et téléversez le dans une carte :

void setup() {
// initialize both serial ports:
Serial.begin(10000) ;
}

void loop() {
Serial.print('A') ;
delay(2) ;
}

Testez le fonctionnement du programme dans la console de l’IDE Arduino :

Lecture de la trame à l’oscilloscope


A l’aide de l’IBD ci-dessous, branchez la carte Arduino à l’oscilloscope. L’objectif est que l’oscilloscope
puisse afficher la trame portant le caractère, envoyé simultanément :
 sur le port série USB
 sur le port TX1.

Avec METRIX OX 6206 : Réglez l’oscilloscope comme suit :


 appuyer sur AutoCHx : le trigger doit se régler sur AUTO 1 (front montant ou descendant peu
importe)
 visualisation de CH1 (CH1 « coché ») ;
 échelle verticale : 1 V/div ;
 courant continu ;
 échelle horizontale 200 µs/div :
Le traitement du signal
Trame clavier d’ordinateur

Appuyez sur Run/Hold plusieurs fois jusqu’à obtenir une trame propre comme :

Avec Tektronix TDS 210 :


- Avec RUN/STOP Vérifier que vous êtes en mode Run (vous n'êtes pas en STOP)
- Sélectionnez AUTOSET pour que le réglage se fasse automatiquement.
- Appuyez sur STOP pour figer une trame.
- Réglez l'affichage de votre Trame avec VOLS/DIV ; SEC/DIV ; VERTICAL POSITION et HORIZONTAL
POSITION
Le traitement du signal
Trame clavier d’ordinateur

Décodage de la trame
1. Prenez une photo de la trame et insérez-la dans votre compte rendu. Sachant qu’Arduino envoie ses
données sur 8 bits sans bit de parité, identifiez sur la photo insérée :
 le bit de start ;
 le bit MSB ;
 le bit LSB.

Le réglage de la vitesse de transmission est de 10 000 bit.s-1.


2. Où la vitesse de transmission est-elle réglée dans le programme Arduino ?
3. Quelle est le temps de transmission d’un bit ?
Le réglage de la vitesse horizontale est de 200 µs/carreau.
4. Combien de bit comporte un carreau de l’oscilloscope ?
5. Recopiez alors le tableau ci-dessous dans le diaporama réponse et complétez-le

b7 b6 b5 b4 b3 b2 b1 b0
MSB LSB

6. A l’aide du tableau de codage ASCII, justifiez que vous retrouvez


bien la lettre A. (Faire une copie d’écran du codage de la lettre A.
Modifiez la lettre envoyée dans le programme.
7. Prenez une nouvelle photo de la trame affichée à l’oscilloscope et
vérifiez que le codage est correct.
Le traitement du signal
Trame clavier d’ordinateur

Décodage d'une trame clavier.


Lorsque vous écrivez sur un ordinateur, le clavier
envoie le code des touches à l'ordinateur.
Comment est codée chaque touche de l'ordinateur ?
Comment l'information est-elle envoyée ?
C'est ce que vous allez découvrir dans cette
partie.
Vous allez travailler avec un clavier de type PS2
(ancienne connectique) car il est pratique pour
effectuer des mesures. Mais les claviers USB actuels
fonctionnent exactement sur le même principe.

Tests préparatoires.
Afin d'exploiter les trames clavier, il est nécessaire de tester le bon fonctionnement du clavier. Pour cela,
réunissez le matériel ci-dessous :

Pile 9V Carte Arduino Adaptateur PS2 Clavier PS2

Branchez le dispositif de test en vous aidant de l'IBD ci-dessous :


Le traitement du signal
Trame clavier d’ordinateur

Si ce n'est déjà fait, installez la librairie PS2 Keyboard dans l'IDE Arduino :
Croquis / Inclure une bibliothèque / Gérer les Bibliothèques / PS2Keyboard / Installer.

Installer ?

Ouvrir le programme de test et lancer la console : ce que vous écrivez au clavier doit s'afficher :
Fichier / Exemples / PS2Keyboard / Simple_test.

Modifiez les lignes ci-dessous de manière à ce que DataPin et IRQPin soient déclarés sur les ports 2 et
3 d'Arduino :

Téléversez le programme, ouvrez la console. Les touches du


clavier PS2 doivent s'afficher dans la console :
8. Votre branchement du clavier PS2 à l’Arduino fonctionne-t-il comme attendu ? Justifiez votre
réponse au moyen d’une copie d’écran adapté.

Si vous arrivez ici, c'est que tout fonctionne correctement !! L'objectif est maintenant de capter à
l'oscilloscope le passage des trames.

Affichage de la trame de signal.

Il vous est demandé d’afficher la trame du signal permettant d’envoyer un caractère du clavier PS2 vers
l’ordinateur. Pour cela vous disposez de :
Le traitement du signal
Trame clavier d’ordinateur

Câbles BreadBoard Fils BNC crocodile

Oscilloscope

Modifiez le branchement Clavier PS2 / Arduino de manière à ce que le signal issu de…
- PS2 : CLK puisse être repiqué et envoyé sur le CH1+ de l'oscilloscope (fil rouge).
- PS2 : DAT puisse être repiqué et envoyé sur le CH4+ de l'oscilloscope (fil rouge).
- Arduino : GND puisse être repiqué et envoyé sur le CH1 : GND de l'oscilloscope (fil noir).
Le traitement du signal
Trame clavier d’ordinateur

A l'aide des touches entourées dans l'illustration ci-après :


 affichez le canal (Channel) CH1 (CH1 « coché »);
 réglez la sensibilité du CH1 à 1 V/div ;
 vérifiez que CH1 mesure du courant continu ;.
 mêmes réglages pour CH4.
 réglez la vitesse du signal à 100 µs/div
.
Appuyez sur une touche du clavier PS2 ; envoyez un caractère :
9. Vérifiez que Arduino reçoit toujours ce caractère sur la console.
10. Vérifiez que la trame d’envoi du caractère s’affiche sur l’oscilloscope.
11. Figez cette trame à l’écran de l’oscilloscope avec HOLD

Vous devez voir apparaitre une trame telle que ci-contre :


Attention : il doit y avoir 11 fronts descendants de l’horloge ! Au besoin, déplacez l’image figée à gauche
ou à droite à l’aide du curseur en bas de l’écran.

Avec Tektronix TDS 210 :


 appuyez rapidement sur une touche de manière répétée, et apuyez sur Autoset.
 si ce n'est pas réglé automatiquement, réglez le temps à 250 µs/div.
 Dans Trigger Menu, les réglages doivent être FRONT / Pente Montante / Source CH1 / Couplage
CC.

Appuyez sur une touche de manière répétée. Capturez la trame en appuyant "au bon moment" sur
RUN/STOP.
Le traitement du signal
Trame clavier d’ordinateur

12. Prenez une photo de la trame affichée à l’oscilloscope et placez la dans votre compte rendu.

Décodage de la trame PS2


La trame PS2 est composée comme suit : CLK

- 1 bit de start ;
- 8 bits de données, affichés du MSB vers le LSB ;
- 1 bit de parité impaire ;
- 1 bit de stop à 1. 1
1 1 1

13. Sur votre photo des trames, identifiez le bit de start,


SIG
chaque bit de données, le bit de parité, les bits de
stop.

14. La parité est-elle bien impaire ? Justifiez. 0 0 0 0 0 0 0

15. Copiez et complétez le tableau ci-dessous dans votre diaporama réponse :

B7 B6 B5 B4 B3 B2 B1 B0
MSB LSB

16. Quelle est la valeur binaire et hexadécimale du signal transporté ?


L’envoi de données par le clavier est codé selon la norme Scan-Code-Set 2. Le codage de tous les
caractères de clavier est donné à cette adresse, colonne Make.
17. A l’aide de ce tableau, vérifiez que la trame envoyée correspond bien au codage du caractère.
18. La trame PS2 est-elle une trame synchrone ou asynchrone ? Justifier

Vous aimerez peut-être aussi