2/ transmission serie

Transcription

2/ transmission serie
Barrière DECMA - notion de transmission série & codage des caractères
1/ ETUDE DU CODAGE NUMERIQUE DES CARACTERES :
L’exemple du fichier texte :
Les fichiers textes : ce sont des fichiers uniquement composés de caractères. On parle de
fichier ASCII.
Le plus simple moyen de lire un fichier texte est d’utiliser le « bloc-note » Windows.
RQ : Il existe 2 autres types de fichiers :
- les exécutables : ce sont des programmes qui s’exécutent. Sous Windows, ils ont pour extension .exe
- les fichiers appartenant à une application particulière : les fichiers BMP par exemple, qui ne peuvent être lu
que par des programmes capables de le faire. Les fichiers mp3, etc…)
Nous le savons surement déjà, tous les fichiers sont constitués de nombres (c’est pour cela
qu’on les appelles des fichiers numériques ! ) . Le fichier texte est donc lui aussi constitué de
nombres ! Il existe donc un code sous forme de nombre pour chaque caractère ! Ce code
s’appelle le code ASCII
Le code ASCII de base représentait les caractères sur 7 bits (128 possibilités). Le code ASCII
ayant été mis au point pour les caractères anglais, les accents n’existent pas, ni les caractères
spécifiques aux autres langues. Pour coder ce type de caractères, il faut donc recourir a un
autre code. Le code ASCII a alors été étendu à 8 bits pour disposer de 256 caractères (on
parle d’ailleurs de code ASCII étendu).
Page 1/8
Barrière DECMA - notion de transmission série & codage des caractères
Rq : Aujourd’hui, le code ASCII sur 8 bits n’est plus toujours suffisant. On fait alors appel au codage
UNICODE
Petit exercice :
Vérifiez que le message envoyé en ASCII à l’afficheur a un sens : (méthode proposée :
écrivez en dessous de chaque nombre sa conversion en hexadécimal, puis trouver le caractère
correspondant dans le tableau ASCII )
01000100 01000101 01000011 01001101 01000001 00100000
44
45
43
4D
41
20
01001000 01001111 01010010 01010011 00100000 01010011
48
4F
52
53
20
53
01000101 01010010 01010110 01001001 01000011 01000101
45
52
56
49
43
45
 DECMA HORS SERVICE
Page 2/8
Barrière DECMA - notion de transmission série & codage des caractères
2/ TRANSMISSION SERIE
Nous allons transmettre un caractère d’un ordinateur à un autre :
Lancement du programme Hyperterminal :
Cliquer sur Démarrer  Programmes  Accessoires Communications  Hyperterminal
Une boîte de dialogue apparaît (donner un nom à la connexion, TPSSI par exemple) :
Cliquer sur le bouton OK, une nouvelle boîte apparaît, sélectionner COM1 si ce n’est
pas fait, puis cliquer sur OK.
Une nouvelle boîte de dialogue apparaît :
Entrer les paramètres suivants :
- Bits par seconde : 9600
- Bits de données : 8
- Parité : Aucun ( ne pas étudier)
- Bits d’arrêt : 2
- Contrôle de flux : Aucun ( ne pas étudier)
Page 3/8
Barrière DECMA - notion de transmission série & codage des caractères
Le paramètre « Bits par seconde » indique le nombre de bits transmis par seconde sur la voie
série ( appelé débit binaire en bits/s ).
Quelle sera le durée de transmission d’un bit ? ____1/9600 = 104 us_______
Une fois les paramètres entrés, cliquer sur OK, la fenêtre suivante apparaît :
On souhaite analyser l’allure des signaux émis sur la sortie série lors de l’émission d’un
caractère.
Page 4/8
Barrière DECMA - notion de transmission série & codage des caractères
Le programme hyperterminal permet l’envoi des caractères frappés au clavier sur la sortie
série de l’ordinateur ( la sortie série de l’ordinateur respecte la norme RS232 qui sera étudiée
dans un prochain cours).
Raccorder un oscilloscope à la sortie série de l’ordinateur (le câble de liaison est fourni).
Quel est la tension présente sur cette sortie en l’absence d’émission de caractères ?
En appuyant en permanence sur une touche du clavier on va provoquer l’émission répétitive
d’un code correspondant à ce caractère ( sur 8 bits dans le cas présent).
Visualiser l’allure du signal lors de l’émission du caractère S (en majuscule) .
Le code du caractère ( 8 bits en série) est entouré d’un bit de départ ( ou bit de start ) et de 2
bits d’arrêt ( ou bits de stop ) , en traits gras sur le graphique suivant :
Vs
Bit de départ
+V
1
1
0
0
1
0
1
0
t
T
-V
2 bits d’arrêt
Dessiner l’allure du signal lors de l’émission du caractère S (compléter le graphique ci-dessus.
Un 0 logique transmis correspond à +V, un 1 logique transmis correspond à -V.
Quel est le code sur 8 bits du caractère S ( en base 2 et en base 16 ) ? 0x53 ; 0b01010011
Attention !!! C’est le bit de poids faible qui est d’abord transmis, le dernier bit est le bit de
poids fort.
Mesurer la durée de transmission T d’un bit, comparer avec la configuration choisie
(débit binaire). On mesure environ 100us
Refaire le même travail avec le caractère A ( en majuscule). ( 0x41 ; 0b01000001 )
Page 5/8
Barrière DECMA - notion de transmission série & codage des caractères
Vs
+V
1
0
0
0
0
0
1
0
t
T
-V
On souhaite émettre le caractère U ( code hexadécimal : 55 )
Prédéterminer l’allure du signal émis. 0x55 = 0b01010101
Vs
+V
t
T
-V
Faire la vérification expérimentale.
Retrouver dans la table des codes ASCII les codes des caractères S, A et U . 0x53 ; 0x41 ,
0x55
Page 6/8
Barrière DECMA - notion de transmission série & codage des caractères
3 / La « louche » numérique : l’octet
On sait que les fichiers numériques sont une suite de nombres binaires.
Nous le savons déjà : du fait qu’une structure informatique ne sait travailler qu’avec des 0 et
des 1 (le courant passe ou le courant ne passe pas), et la base utilisée dans le monde
informatique est la base 2( le binaire).
Les variables binaires (les 0 et les 1) utilisés dans le monde numérique s’appellent des bits
L’agencement des 0 et des 1 des fichiers se fait par Octet.
Un Octet est un groupe de 8 bits
Les sur-multiples :
Le kilo octets (Ko)= 1024 octets
Le méga octet (Mo)= 1024 ko = 1024 * 1024 = 1048576 octets
Le giga octet (Go)= 1024Mo = 1024 * 1024 *1024 octets
Le téra octet (To) = 1024Go = 1024 * 1024 * 1024 *1024 octets
Exercice :
Sachant qu’une disquette a une contenance de 1440ko , définir :
Combien d’octets tiennent sur une disquette ? 141440 * 1024 = 1 474 560 octets40 * 1024 =
Combien de bits tiennent sur une disquette ? 474 560 * 8 = 11 796 480 bits 1 474 560 * 8 =
Un CD de 800Mo peut contenir l’équivalent de combien de disquette ?
800Mo = 800*1024 ko ; nbr de disquette = ( 800*1024) / 1440 = 568.9 disquettes = 800*10.9
disquettes
Un disque dur de 100Go peut contenir :
Combien de CD de 800Mo ? 100Go = 100*1024 Mo, nbre de cd = (100*1024)/800 = 128 CD
Combien de disquette ? 128 * 568.9 = 72820 disquettes
Combien d’octets ? 100*1024*1024*1024= 107 374 182 400 octets
Combien de bits ? 858 993 459 200 bits
Combien d’image de la même taille que celle sur laquelle nous avons travaillé (de 4*4 pixels)
qui pesait 102octets : 1 052 688 063
CONTENU D’UN CD AUDIO
:
La norme pour les CD audio (norme red book développée en 1980 par Sony et Philips),
impose comme contrainte sur les fichiers audio les caractéristiques suivantes :
Chaque instant de musique est codé sur deux mots de 16 bits (un pour la voie droite, l’autre
pour la voie gauche).
La fréquence d’échantillonnage du signal est de 44,1 kHz, ce qui signifie en clair qu’une
seconde de musique est codée sur 44100 couples de mots de 16 bits.
Question :
Quelle durée de musique peut-on graver sur un CD d’une capacité de 800Mo ?
1 seconde = 44100*2*16 bits = 44100*4 octets
800Mo = 800*1024*1024 octets ,
nbres de secondes de musique = 800Mo / 44100*4 = 4755 secondes = 79 minutes
Suite à mon calcul, j’ai acheté un CD vierge 800Mo, et essayé de graver mes 800Mo de
musique. Mon logiciel de gravure me dit que mon CD n’a pas assez de place !!?? Pourquoi ?
Ou est l’arnaque ?
Le commerçant fait son calcul en considerant qu’un kilooctet=1000octets -> mon CD de
800Mo ne fait en fait que 800 000 000 octets ( au lieux de 838 860 800 )
Le CD annové 800Mo en fait pour de vrai 763Mo
Page 7/8
Barrière DECMA - notion de transmission série & codage des caractères
Page 8/8